Class: DigitalOpera::Presenter::Base

Inherits:
SimpleDelegator
  • Object
show all
Includes:
JsonSerialization
Defined in:
lib/digital_opera/presenter/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from JsonSerialization

#as_json, #get_json_field_hash

Constructor Details

#initialize(base, view_context = nil) ⇒ Base

Returns a new instance of Base.



11
12
13
14
# File 'lib/digital_opera/presenter/base.rb', line 11

def initialize(base, view_context=nil)
  super(base)
  @view_context = view_context || ActionController::Base.new.view_context
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, *args, &block) ⇒ Object



24
25
26
# File 'lib/digital_opera/presenter/base.rb', line 24

def method_missing(sym, *args, &block)
  source.send sym, *args, &block
end

Class Method Details

.wrap(collection) ⇒ Object



28
29
30
# File 'lib/digital_opera/presenter/base.rb', line 28

def self.wrap(collection)
  collection.map{ |obj| self.new(obj) }
end

Instance Method Details

#_hObject



16
17
18
# File 'lib/digital_opera/presenter/base.rb', line 16

def _h
  @view_context
end

#sourceObject



20
21
22
# File 'lib/digital_opera/presenter/base.rb', line 20

def source
  __getobj__
end