class Rodakase::View::Part
Attributes
_data[R]
_value[R]
renderer[R]
Public Class Methods
new(renderer, data)
click to toggle source
# File lib/rodakase/view/part.rb, line 10 def initialize(renderer, data) @renderer = renderer @_data = data @_value = data.values[0] end
Public Instance Methods
[](key)
click to toggle source
# File lib/rodakase/view/part.rb, line 16 def [](key) _value[key] end
each(&block)
click to toggle source
# File lib/rodakase/view/part.rb, line 20 def each(&block) _value.each(&block) end
render(path, &block)
click to toggle source
# File lib/rodakase/view/part.rb, line 24 def render(path, &block) renderer.render(path, self, &block) end
respond_to_missing?(meth, include_private = false)
click to toggle source
Calls superclass method
# File lib/rodakase/view/part.rb, line 32 def respond_to_missing?(meth, include_private = false) super || _data.key?(meth) || template?(meth) end
template?(name)
click to toggle source
# File lib/rodakase/view/part.rb, line 28 def template?(name) renderer.lookup("_#{name}") end
Private Instance Methods
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/rodakase/view/part.rb, line 38 def method_missing(meth, *args, &block) template_path = template?(meth) if template_path render(template_path, &block) elsif _data.key?(meth) _data[meth] elsif _value.respond_to?(meth) _value.public_send(meth, *args, &block) else super end end