class Solargraph::Page

def initialize directory = VIEWS_PATH

Parameters:
  • directory (String) --
def initialize directory = VIEWS_PATH
  directory = VIEWS_PATH if directory.nil? or !File.directory?(directory)
  directories = [directory]
  directories.push VIEWS_PATH if directory != VIEWS_PATH
  # @type [Proc]

  # @param template [String]

  # @param layout [Boolean]

  # @param locals [Hash]

  @render_method = proc { |template, layout: false, locals: {}|
    binder = Binder.new(locals, @render_method)
    if layout
      Tilt::ERBTemplate.new(Page.select_template(directories, 'layout')).render(binder) do
        Tilt::ERBTemplate.new(Page.select_template(directories, template)).render(binder)
      end
    else
      Tilt::ERBTemplate.new(Page.select_template(directories, template)).render(binder)
    end
  }
end