class Mindmap::Renderer
Renders a view file from either the library views or the project views with a binding
Attributes
view[R]
Public Class Methods
new(view)
click to toggle source
# File lib/mindmap/renderer.rb, line 18 def initialize(view) @view = view end
render(view, binding)
click to toggle source
# File lib/mindmap/renderer.rb, line 9 def self.render(view, binding) renderer_instance(view).render(binding) end
renderer_instance(view)
click to toggle source
# File lib/mindmap/renderer.rb, line 13 def self.renderer_instance(view) @renderers ||= {} @renderers[view] ||= new(view) end
Public Instance Methods
render(binding)
click to toggle source
# File lib/mindmap/renderer.rb, line 22 def render(binding) erb.result(binding) end
Private Instance Methods
erb()
click to toggle source
# File lib/mindmap/renderer.rb, line 30 def erb @erb ||= ERB.new(view_content) end
view_content()
click to toggle source
# File lib/mindmap/renderer.rb, line 34 def view_content raise(StandardError, "#{view} not found") unless File.exist?(view_path) File.read(view_path) end
view_path()
click to toggle source
# File lib/mindmap/renderer.rb, line 39 def view_path @view_path ||= File.expand_path("./nodes/#{view}.erb", Dir.pwd) end