Module: Merb::Inspector::Helper

Defined in:
lib/merb_inspector/helper.rb

Instance Method Summary collapse

Instance Method Details

#column_form(record, p) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/merb_inspector/helper.rb', line 29

def column_form(record, p)
  # first, search class prefixed method that user override
  method = "#{Extlib::Inflection.demodulize(record.class.name)}_#{p.name}_form"
  return send(method, record, p) if respond_to?(method, true)

  # second, search method that user override
  method = "#{p.name}_form"
  return send(method, record, p) if respond_to?(method, true)

  # second, guess form from property type
  if p.type == ::DataMapper::Types::Serial
    record.send p.name
  elsif p.type == ::DataMapper::Types::Text
    text_area p.name
  else
    text_field p.name
  end
end

#column_header(p) ⇒ Object



19
20
21
22
23
# File 'lib/merb_inspector/helper.rb', line 19

def column_header(p)
  label = p.name.to_s
  h(label)
#       link_to label, "#", :onclick=>"return false;"
end

#column_value(record, p) ⇒ Object



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

def column_value(record, p)
  h(record.send p.name.to_s)
end

#inspect(object = nil, options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/merb_inspector/helper.rb', line 4

def inspect(object = nil, options = {})
  return super() unless object

  options = {:action=>options} if options.is_a?(Symbol)
  action    = options[:action] || :show
  inspector = (Manager.lookup(object) || Merb::Inspector.default).new(Merb::Request.new({}))

  if inspector.respond_to?(action)
    inspector.send action, object, options
  else
    message = "%s doesn't recognize '%s' action" % [inspector.class, action]
    raise Merb::Inspector::ActionNotFound, message
  end
end