Class: Merb::Inspector::Column

Inherits:
Object
  • Object
show all
Defined in:
lib/merb_inspector/data.rb

Overview

Abstract

Direct Known Subclasses

DMColumn, LinkColumn, VirtualColumn

Defined Under Namespace

Classes: Delegate, MethodFound, NotDefined

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context, name) ⇒ Column

Returns a new instance of Column.



16
17
18
19
# File 'lib/merb_inspector/data.rb', line 16

def initialize(context, name)
  @context = context
  @name    = name.to_s.intern
end

Instance Attribute Details

#contextObject

Returns the value of attribute context.



14
15
16
# File 'lib/merb_inspector/data.rb', line 14

def context
  @context
end

#nameObject

Returns the value of attribute name.



14
15
16
# File 'lib/merb_inspector/data.rb', line 14

def name
  @name
end

Instance Method Details

#form(record) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/merb_inspector/data.rb', line 40

def form(record)
  # first, search class prefixed method that user override
  evaluate(record, "#{Extlib::Inflection.demodulize(record.class.name)}_#{name}_form")

  # second, search method that user override
  evaluate(record, "#{name}_form")

  # finally, guess form from property type
  default_form(record)
end

#labelObject



25
26
27
# File 'lib/merb_inspector/data.rb', line 25

def label(*)
  name
end

#value(record) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/merb_inspector/data.rb', line 29

def value(record)
  # first, search class prefixed method that user override
  evaluate(record, "#{Extlib::Inflection.demodulize(record.class.name)}_#{name}_value")

  # second, search method that user override
  evaluate(record, "#{name}_value")

  # finally, guess form from property type
  default_value(record)
end