25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/labelizer.rb', line 25
def labelized
model = model_name.i18n_key
@labelized ||= Hash.new{|h,attr|
converters = @labelizer_converters && @labelizer_converters[attr.to_sym]
h[attr] = Hash.new{|h,value|
h[value] = Hash.new{|h,label|
result = ::I18n.translate(
"labelizer.#{model}.#{attr}.#{value}.#{label}",
default: [
:"labelizer.#{model}.#{attr}.#{label}",
:"labelizer.#{model}.#{label}",
:"labelizer.#{label}",
value,
],
raise: true,
) rescue value
if converter = converters && converters[label.to_sym]
result = converter[result]
end
h[value] = result
}
}
}
end
|