Method: Mustermann::Expander#initialize

Defined in:
lib/mustermann/expander.rb

#initialize(*patterns, additional_values: :raise, **options, &block) ⇒ Expander

Returns a new instance of Expander.

Parameters:

  • patterns (Array<#to_str, Mustermann::Pattern>)

    list of patterns to expand, see #add.

  • additional_values (Symbol) (defaults to: :raise)

    behavior when encountering additional values, see #expand.

  • options (Hash)

    used when creating/expanding patterns, see Mustermann.new.



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/mustermann/expander.rb', line 21

def initialize(*patterns, additional_values: :raise, **options, &block)
  unless additional_values == :raise or additional_values == :ignore or additional_values == :append
    raise ArgumentError, "Illegal value %p for additional_values" % additional_values
  end

  @patterns          = []
  @api_expander      = AST::Expander.new
  @additional_values = additional_values
  @options           = options
  @caster            = Caster.new
  add(*patterns, &block)
end