class Smartdown::Parser::NodeInterpreter

Attributes

data_module[R]
name[R]
parser[R]
reporter[R]
source[R]
transform[R]

Public Class Methods

new(name, source, options = {}) click to toggle source
# File lib/smartdown/parser/node_interpreter.rb, line 12
def initialize(name, source, options = {})
  @name = name
  @source = source
  @data_module = options.fetch(:data_module, {})
  @parser = options.fetch(:parser, Smartdown::Parser::NodeParser.new)
  @transform = options.fetch(:transform, Smartdown::Parser::NodeTransform.new)
  @reporter = options.fetch(:reporter, Parslet::ErrorReporter::Deepest.new)
end

Public Instance Methods

interpret() click to toggle source
# File lib/smartdown/parser/node_interpreter.rb, line 21
def interpret
  transform.apply(parser.parse(source, reporter: reporter),
    node_name: name,
    data_module: data_module,
  )
end