class Nanoc::Filters::Erubis

@api private

Public Instance Methods

run(content, _params = {}) click to toggle source

Runs the content through [Erubis](www.kuwata-lab.com/erubis/). This method takes no options.

@param [String] content The content to filter

@return [String] The filtered content

# File lib/nanoc/filters/erubis.rb, line 16
def run(content, _params = {})
  # Create context
  context = ::Nanoc::Core::Context.new(assigns)

  # Get binding
  proc = assigns[:content] ? -> { assigns[:content] } : nil
  assigns_binding = context.get_binding(&proc)

  # Get result
  erubis_with_erbout.new(content, filename:).result(assigns_binding)
end

Private Instance Methods

erubis_with_erbout() click to toggle source
# File lib/nanoc/filters/erubis.rb, line 30
def erubis_with_erbout
  @_erubis_with_erbout ||= Class.new(::Erubis::Eruby) { include ::Erubis::ErboutEnhancer }
end