Change the case statement into a method call based on the name
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3674 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
d22723ed04
commit
4cb943571a
|
@ -30,6 +30,24 @@ module Redmine
|
|||
self.order = options[:order]
|
||||
end
|
||||
|
||||
def format(value)
|
||||
send "format_as_#{name}", value
|
||||
end
|
||||
|
||||
def format_as_date(value)
|
||||
begin; format_date(value.to_date); rescue; value end
|
||||
end
|
||||
|
||||
def format_as_bool(value)
|
||||
l(value == "1" ? :general_text_Yes : :general_text_No)
|
||||
end
|
||||
|
||||
['string','text','int','float','list'].each do |name|
|
||||
define_method("format_as_#{name}") {|value|
|
||||
return value
|
||||
}
|
||||
end
|
||||
|
||||
class << self
|
||||
def map(&block)
|
||||
yield self
|
||||
|
@ -64,11 +82,9 @@ module Redmine
|
|||
|
||||
def format_value(value, field_format)
|
||||
return "" unless value && !value.empty?
|
||||
case field_format
|
||||
when "date"
|
||||
begin; format_date(value.to_date); rescue; value end
|
||||
when "bool"
|
||||
l(value == "1" ? :general_text_Yes : :general_text_No)
|
||||
|
||||
if format_type = find_by_name(field_format)
|
||||
format_type.format(value)
|
||||
else
|
||||
value
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue