| Module | Waves::Views |
| In: |
lib/views/errors.rb
lib/views/mixin.rb |
# File lib/views/mixin.rb, line 15
15: def self.render( path, assigns = {} )
16: template = Views.renderer_for(path)
17: raise NoTemplateError.new( path ) if template.nil?
18: template.render( path, assigns )
19: end
# File lib/views/mixin.rb, line 9
9: def self.renderer_for(path)
10: @renderers.find do |renderer|
11: File.extname( path ) == ".#{renderer::Extension}" or File.exists?( renderer.filename( path ) )
12: end
13: end
A class method that returns the known Renderers, which is any module that is defined within Waves::Renderers and includes the Renderers::Mixin. You can define new Renderers simply be reopening Waves::Renderers and defining a module that mixes in Renderers::Mixin.
# File lib/views/mixin.rb, line 7 7: def self.renderers ; @renderers ||= [] ; end