Class: Magneto::ERBFilter

Inherits:
Filter
  • Object
show all
Defined in:
lib/magneto/filters/erb.rb

Instance Method Summary collapse

Methods inherited from Filter

inherited, #initialize, subclasses

Constructor Details

This class inherits a constructor from Magneto::Filter

Instance Method Details

#apply(content, ivars) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/magneto/filters/erb.rb', line 9

def apply(content, ivars)
  require 'erb'

  # Adapted from `nanoc/filters/erb.rb` with thanks to Denis Defreyne and
  # contributors.
  context = RenderContext.new(ivars)
  proc = ivars[:content] ? lambda { ivars[:content] } : lambda {}
  b = context.get_binding(&proc)

  args = ivars[:erb].symbolize_keys rescue {}
  ERB.new(content, args[:safe_level], args[:trim_mode]).result b
end

#nameObject



5
6
7
# File 'lib/magneto/filters/erb.rb', line 5

def name
  'erb'
end