diff --git a/app/models/notice.rb b/app/models/notice.rb index 4cca6d8..5be37d7 100644 --- a/app/models/notice.rb +++ b/app/models/notice.rb @@ -94,7 +94,8 @@ class Notice end def env_vars - request['cgi-data'] || {} + vars = request['cgi-data'] + vars.is_a?(Hash) ? vars : {} end def params diff --git a/spec/models/notice_spec.rb b/spec/models/notice_spec.rb index a3bacdb..ead86f5 100644 --- a/spec/models/notice_spec.rb +++ b/spec/models/notice_spec.rb @@ -105,4 +105,18 @@ describe Notice, type: 'model' do expect(notice.request).to eq ({}) end end + + describe "env_vars" do + it "returns the cgi-data" do + notice = Notice.new + notice.request = { 'cgi-data' => { 'ONE' => 'TWO' } } + expect(notice.env_vars).to eq({ 'ONE' => 'TWO' }) + end + + it "always returns a hash" do + notice = Notice.new + notice.request = { 'cgi-data' => [] } + expect(notice.env_vars).to eq({}) + end + end end -- libgit2 0.21.2