class Viu::Html
Attributes
controller[R]
request[R]
Public Class Methods
new(*)
click to toggle source
# File lib/viu/html.rb, line 8 def initialize(*); end
Private Class Methods
inherited(child)
click to toggle source
# File lib/viu/html.rb, line 77 def inherited(child) child.include(Viu::Html::CompiledMethodContainer) if defined?(Rails) && child != Viu::Layout child.include(Rails.application.routes.url_helpers) unless child < Rails.application.routes.url_helpers end end
layout()
click to toggle source
# File lib/viu/html.rb, line 89 def layout @__layout ||= nil end
layout!(value)
click to toggle source
# File lib/viu/html.rb, line 85 def layout!(value) @__layout = value end
template()
click to toggle source
# File lib/viu/html.rb, line 97 def template @__template ||= nil end
template!(value)
click to toggle source
# File lib/viu/html.rb, line 93 def template!(value) @__template = value end
Public Instance Methods
compiled_method_container()
click to toggle source
# File lib/viu/html.rb, line 12 def compiled_method_container Viu::Html::CompiledMethodContainer end
render_in(view_context, options = EMPTY_HASH)
click to toggle source
# File lib/viu/html.rb, line 16 def render_in(view_context, options = EMPTY_HASH) __setup!(view_context) return __render_template_proc if __fetch_template!.is_a?(Proc) layout = options.fetch(:layout, self.class.layout) if layout.is_a?(Class) __render_layout_class(layout) elsif layout.is_a?(Proc) __render_layout_proc(layout) else @view_renderer.render(self, template: __fetch_template!, layout: layout) end end
Private Instance Methods
__fetch_template!()
click to toggle source
# File lib/viu/html.rb, line 53 def __fetch_template! return self.class.template if self.class.template.present? self.class.template!(self.class.name.underscore) end
__render_layout_class(layout)
click to toggle source
# File lib/viu/html.rb, line 63 def __render_layout_class(layout) layout.new.render_in(@view_context) do @view_renderer.render(self, template: __fetch_template!, layout: nil) end end
__render_layout_proc(layout)
click to toggle source
# File lib/viu/html.rb, line 69 def __render_layout_proc(layout) self.instance_exec(&layout).render_in(@view_context) do @view_renderer.render(self, template: __fetch_template!, layout: nil) end end
__render_template_proc()
click to toggle source
# File lib/viu/html.rb, line 59 def __render_template_proc self.instance_exec(&__fetch_template!) end
__setup!(view_context)
click to toggle source
# File lib/viu/html.rb, line 44 def __setup!(view_context) @view_context = view_context @lookup_context ||= view_context.lookup_context @view_renderer ||= view_context.view_renderer @controller ||= view_context.controller @request ||= controller.request _prepare_context end
helpers()
click to toggle source
# File lib/viu/html.rb, line 40 def helpers @helpers ||= controller.view_context end