Class: Presently::SlideRenderer
- Inherits:
-
Object
- Object
- Presently::SlideRenderer
- Defined in:
- lib/presently/slide_renderer.rb
Overview
Instance Method Summary collapse
-
#initialize(css_class: "slide", templates: Templates.for) ⇒ SlideRenderer
constructor
Initialize a new slide renderer.
-
#render(builder, slide, extra_class: nil) ⇒ Object
Render a slide into the given builder.
Constructor Details
#initialize(css_class: "slide", templates: Templates.for) ⇒ SlideRenderer
Initialize a new slide renderer.
20 21 22 23 |
# File 'lib/presently/slide_renderer.rb', line 20 def initialize(css_class: "slide", templates: Templates.for) @css_class = css_class @templates = templates end |
Instance Method Details
#render(builder, slide, extra_class: nil) ⇒ Object
Render a slide into the given builder.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/presently/slide_renderer.rb', line 29 def render(builder, , extra_class: nil) return unless template = @templates.resolve(.template) scope = TemplateScope.new() html = template.to_string(scope) classes = [@css_class, extra_class].compact.join(" ") builder.tag(:div, class: classes, data: {template: .template}) do builder.raw(html) if .script builder.tag(:script, type: "text/slide-script") do builder.raw(.script) end end end end |