class Dome::Exhibit
Constants
- TIMESTAMP_ATTRS
Attributes
model[R]
Public Class Methods
decorate_methods(*names, &block)
click to toggle source
decorate_methods
(*names) { |x, *ys| … }
# File lib/dome/exhibit.rb, line 20 def decorate_methods(*names, &block) names.each do |name| define_method(name) { |*xs| instance_exec(@model.send(name), *xs, &block) } end end
localize_timestamps(attrs = TIMESTAMP_ATTRS, format: :default)
click to toggle source
# File lib/dome/exhibit.rb, line 26 def localize_timestamps(attrs = TIMESTAMP_ATTRS, format: :default) decorate_methods(*attrs) { |x| l(x, format: format) } end
new(_model, view_context = nil)
click to toggle source
Calls superclass method
# File lib/dome/exhibit.rb, line 31 def initialize(_model, view_context = nil) raise 'Decorationg Nil object not allowed!' unless _model @model, @view_context = _model, view_context super(_model) end
view_path()
click to toggle source
# File lib/dome/exhibit.rb, line 15 def view_path "app/exhibits" end
Public Instance Methods
attr_name_with_value(attr_name, separator: ': ')
click to toggle source
# File lib/dome/exhibit.rb, line 46 def attr_name_with_value(attr_name, separator: ': ') unless self.class.respond_to?(:human_attribute_name) raise "You must implement 'human_attribute_name' method on a class" end [self.class.human_attribute_name(attr_name), send(attr_name)].join(separator) end
attr_names_with_values(*attr_names, separator: ': ')
click to toggle source
# File lib/dome/exhibit.rb, line 53 def attr_names_with_values(*attr_names, separator: ': ') attr_names.map { |name| attr_name_with_value(name, separator: separator) } end
class()
click to toggle source
# File lib/dome/exhibit.rb, line 38 def class model.class end
to_model()
click to toggle source
# File lib/dome/exhibit.rb, line 42 def to_model self end