class DynamicScaffold::List::Item
Attributes
classnames[R]
html_attributes[R]
Public Class Methods
new(config, *args, block)
click to toggle source
# File lib/dynamic_scaffold/list/item.rb, line 6 def initialize(config, *args, block) @config = config @html_attributes = args.extract_options! @classnames = @html_attributes.delete(:class) @attribute_name = args[0] @block = block @show_only = nil end
Public Instance Methods
label(label = nil)
click to toggle source
# File lib/dynamic_scaffold/list/item.rb, line 34 def label(label = nil) if label @label = label self elsif @label @label elsif @attribute_name @config.model.human_attribute_name @attribute_name end end
show?(view, record)
click to toggle source
# File lib/dynamic_scaffold/list/item.rb, line 20 def show?(view, record) return true if @show_only.nil? view.instance_exec(record, &@show_only) end
show_only(&block)
click to toggle source
# File lib/dynamic_scaffold/list/item.rb, line 15 def show_only(&block) @show_only = block self end
value(view, record)
click to toggle source
# File lib/dynamic_scaffold/list/item.rb, line 26 def value(view, record) if @block view.instance_exec(record, @attribute_name, &@block) else record.public_send(@attribute_name) end end