3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/show_for/content.rb', line 3
def content(value, options={}, apply_options=true, &block)
sample_value = value
value = value.to_a if value.respond_to?(:to_ary)
content = case value
when Date, Time, DateTime
I18n.l value, :format => options.delete(:format) || ShowFor.i18n_format
when TrueClass
I18n.t :"show_for.yes", :default => "Yes"
when FalseClass
I18n.t :"show_for.no", :default => "No"
when Array, Hash
collection_handler(value, options, &block) unless value.empty?
when Proc
@template.capture(&value)
when Numeric
value.to_s
else
unless value.blank?
block ? template.capture(value, &block) : value
end
end
if content.blank? && !ShowFor.skip_blanks
content = blank_value(options)
end
options[:content_html] = options.except(:content_tag) if apply_options
wrap_with(:content, content, apply_wrapper_options!(:content, options, sample_value))
end
|