Class: Object

Inherits:
BasicObject
Defined in:
lib/citrus/core_ext.rb

Instance Method Summary collapse

Instance Method Details

#grammar(name, &block) ⇒ Object

A sugar method for creating Citrus grammars from any namespace.

grammar :Calc do
end

module MyModule
  grammar :Calc do
  end
end


13
14
15
16
17
18
# File 'lib/citrus/core_ext.rb', line 13

def grammar(name, &block)
  namespace = respond_to?(:const_set) ? self : Object
  namespace.const_set(name, Citrus::Grammar.new(&block))
rescue NameError
  raise ArgumentError, "Invalid grammar name: #{name}"
end