lib/administrate/field/base.rb in administrate-1.0.0.beta1 vs lib/administrate/field/base.rb in administrate-1.0.0.beta2

- old
+ new

@@ -32,21 +32,39 @@ attr end def initialize(attribute, data, page, options = {}) @attribute = attribute - @data = data @page = page @resource = options.delete(:resource) @options = options + @data = read_value(data) end def html_class self.class.html_class end + def html_controller + nil + end + def name attribute.to_s + end + + def read_value(data) + if options.key?(:getter) + if options[:getter].respond_to?(:call) + options[:getter].call(self) + else + resource.try(options[:getter]) + end + elsif data.nil? + resource.try(attribute) + else + data + end end def to_partial_path "/fields/#{self.class.field_type}/#{page}" end