Class: TurnipFormatter::Renderer::Html::Base

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/turnip_formatter/renderer/html/base.rb

Constant Summary collapse

TEMPLATE_DIRECTORY =
File.dirname(__FILE__) + '/views'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource) ⇒ Base

Returns a new instance of Base.



29
30
31
# File 'lib/turnip_formatter/renderer/html/base.rb', line 29

def initialize(resource)
  @resource = resource
end

Class Method Details

.delegate(*props) ⇒ Object



24
25
26
# File 'lib/turnip_formatter/renderer/html/base.rb', line 24

def delegate(*props)
  def_delegators :@resource, *props
end

.resource_nameObject



20
21
22
# File 'lib/turnip_formatter/renderer/html/base.rb', line 20

def resource_name
  @resource_name ||= self.to_s.demodulize.underscore
end

.viewObject



14
15
16
17
18
# File 'lib/turnip_formatter/renderer/html/base.rb', line 14

def view
  @view ||= ::ERB.new(
    File.read("#{TEMPLATE_DIRECTORY}/#{resource_name}.html.erb")
  )
end

Instance Method Details

#idObject



33
34
35
# File 'lib/turnip_formatter/renderer/html/base.rb', line 33

def id
  @id ||= self.class.resource_name + '_' + @resource.object_id.to_s
end

#renderObject



41
42
43
# File 'lib/turnip_formatter/renderer/html/base.rb', line 41

def render
  view.result(binding)
end

#viewObject



37
38
39
# File 'lib/turnip_formatter/renderer/html/base.rb', line 37

def view
  self.class.view
end