Class: JsRenderersImpl

Inherits:
Object
  • Object
show all
Defined in:
lib/js.rb

Instance Method Summary collapse

Constructor Details

#initializeJsRenderersImpl

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_jsObject



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