From: Jean-Philippe Lang Date: Tue, 4 Nov 2014 21:00:59 +0000 (+0000) Subject: Let QueryColumn accept a Proc as caption (#18276). X-Git-Tag: 3.0.0~415 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=bc3bd8aff2a7468a87211775be679b96e5c509dc;p=redmine.git Let QueryColumn accept a Proc as caption (#18276). git-svn-id: http://svn.redmine.org/redmine/trunk@13558 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/query.rb b/app/models/query.rb index a4d34d1e4..755c41db3 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -33,7 +33,14 @@ class QueryColumn end def caption - @caption_key.is_a?(Symbol) ? l(@caption_key) : @caption_key + case @caption_key + when Symbol + l(@caption_key) + when Proc + @caption_key.call + else + @caption_key + end end # Returns true if the column is sortable, otherwise false diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index c9c669387..bf3dcd5e8 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -1415,4 +1415,14 @@ class QueryTest < ActiveSupport::TestCase end end end + + def test_query_column_should_accept_a_symbol_as_caption + c = QueryColumn.new('foo', :caption => :general_text_Yes) + assert_equal 'Yes', c.caption + end + + def test_query_column_should_accept_a_proc_as_caption + c = QueryColumn.new('foo', :caption => lambda {'Foo'}) + assert_equal 'Foo', c.caption + end end