Class: JsRenderersImpl
- Inherits:
-
Object
- Object
- JsRenderersImpl
- Defined in:
- lib/js.rb
Instance Method Summary collapse
- #add_renderer(klass, name, &block) ⇒ Object
-
#initialize ⇒ JsRenderersImpl
constructor
A new instance of JsRenderersImpl.
- #renderer(klass, name) ⇒ Object
- #to_js ⇒ Object
Constructor Details
#initialize ⇒ JsRenderersImpl
Returns a new instance of JsRenderersImpl.
72 73 74 75 |
# File 'lib/js.rb', line 72 def initialize @render_methods = { } @templates = { } end |
Instance Method Details
#add_renderer(klass, name, &block) ⇒ Object
77 78 79 80 |
# File 'lib/js.rb', line 77 def add_renderer(klass, name, &block) @render_methods[klass] ||= { } @render_methods[klass][name] = block end |
#renderer(klass, name) ⇒ Object
82 83 84 |
# File 'lib/js.rb', line 82 def renderer(klass, name) @render_methods[klass][name] end |
#to_js ⇒ Object
86 87 88 89 90 91 92 93 94 |
# File 'lib/js.rb', line 86 def to_js @render_methods.each do |klass, names| @templates[klass] ||= { } names.each do |name, block| @templates[klass][name] = JsMethodBuilder.new(klass, name, block).build end end @templates end |