class DisplayFor::Element::Attribute
Public Instance Methods
content(resource)
click to toggle source
# File lib/display_for/element/attribute.rb, line 10 def content(resource) if @block @block.call(resource) else value(resource) end end
default_label(resource_class)
click to toggle source
# File lib/display_for/element/attribute.rb, line 4 def default_label(resource_class) raise "#{resource_class} does not respond to human_attribute_name" unless resource_class.respond_to?(:human_attribute_name) resource_class.human_attribute_name(@name.to_s) end
template()
click to toggle source
# File lib/display_for/element/attribute.rb, line 39 def template @builder.template end
value(resource)
click to toggle source
# File lib/display_for/element/attribute.rb, line 18 def value(resource) raise "#{resource.class} does not respond to #{@name}" unless resource.respond_to?(@name) result = resource.send(@name) if @options[:type] if @options[:type] == :html result = result.html_safe else result = template.send(:"number_to_#{@options[:type]}", result) end end if [Date, DateTime, Time].include?(result.class) && @options[:format] result = template.l(result, :format => @options[:format]) end result = link_to(result, resource) if @options[:link_to] result.to_s end