diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2014-11-04 21:00:59 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2014-11-04 21:00:59 +0000 |
commit | bc3bd8aff2a7468a87211775be679b96e5c509dc (patch) | |
tree | 3b3895eff44e446b3903f38918446d8196451361 | |
parent | 4cd67587ce338cee281ac01bc5144f5c839b74db (diff) | |
download | redmine-bc3bd8aff2a7468a87211775be679b96e5c509dc.tar.gz redmine-bc3bd8aff2a7468a87211775be679b96e5c509dc.zip |
Let QueryColumn accept a Proc as caption (#18276).
git-svn-id: http://svn.redmine.org/redmine/trunk@13558 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/models/query.rb | 9 | ||||
-rw-r--r-- | test/unit/query_test.rb | 10 |
2 files changed, 18 insertions, 1 deletions
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 |