class Dossier::Renderer

Constants

Layouts

Conditional for Rails 4.1 or < 4.1 Layout module

Attributes

engine[W]
report[R]

Public Class Methods

new(report) click to toggle source
# File lib/dossier/renderer.rb, line 9
def initialize(report)
  @report = report
end

Public Instance Methods

engine() click to toggle source
# File lib/dossier/renderer.rb, line 19
def engine
  @engine ||= Engine.new(report)
end
render(options = {}) click to toggle source
# File lib/dossier/renderer.rb, line 13
def render(options = {})
  render_template :custom, options
rescue ActionView::MissingTemplate => _e
  render_template :default, options
end

Private Instance Methods

custom_template_path() click to toggle source
# File lib/dossier/renderer.rb, line 34
def custom_template_path
  template_path(report.template)
end
default_template_path() click to toggle source
# File lib/dossier/renderer.rb, line 38
def default_template_path
  template_path('show')
end
render_template(template, options) click to toggle source
# File lib/dossier/renderer.rb, line 25
def render_template(template, options)
  template = send("#{template}_template_path")
  engine.render options.merge(template: template, locals: {report: report})
end
template_path(template) click to toggle source
# File lib/dossier/renderer.rb, line 30
def template_path(template)
  "dossier/reports/#{template}"
end