Class: Solargraph::Page
- Inherits:
-
Object
- Object
- Solargraph::Page
- Defined in:
- lib/solargraph/page.rb
Instance Method Summary collapse
-
#initialize(directory = VIEWS_PATH) ⇒ Page
constructor
A new instance of Page.
- #render(template, layout: true, locals: {}) ⇒ Object
Constructor Details
#initialize(directory = VIEWS_PATH) ⇒ Page
Returns a new instance of Page.
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/solargraph/page.rb', line 41 def initialize directory = VIEWS_PATH directory = VIEWS_PATH if directory.nil? or !File.directory?(directory) @render_method = proc { |template, layout: false, locals: {}| binder = Binder.new(locals, @render_method) if layout Tilt::ERBTemplate.new(File.join(directory, 'layout.erb')).render(binder) do Tilt::ERBTemplate.new(File.join(directory, "#{template}.erb")).render(binder) end else Tilt::ERBTemplate.new(File.join(directory, "#{template}.erb")).render(binder) end } end |
Instance Method Details
#render(template, layout: true, locals: {}) ⇒ Object
55 56 57 |
# File 'lib/solargraph/page.rb', line 55 def render template, layout: true, locals: {} @render_method.call(template, layout: layout, locals: locals) end |