Class: Lexr::Dsl

Inherits:
Object
  • Object
show all
Defined in:
lib/lexr.rb

Instance Method Summary collapse

Constructor Details

#initializeDsl

Returns a new instance of Dsl.



106
107
108
# File 'lib/lexr.rb', line 106

def initialize
	@rules = []
end

Instance Method Details

#ignores(rule_hash) ⇒ Object



117
118
119
# File 'lib/lexr.rb', line 117

def ignores(rule_hash)
	matches rule_hash.merge(:ignore => true)
end

#matches(rule_hash) ⇒ Object



110
111
112
113
114
115
# File 'lib/lexr.rb', line 110

def matches(rule_hash)
	pattern = rule_hash.keys.reject { |k| k.class == Symbol }.first
	symbol = rule_hash[pattern]
	opts = rule_hash.delete_if { |k, v| k.class != Symbol }
	@rules << Rule.new(pattern, symbol, opts)
end

#new(str) ⇒ Object



121
122
123
# File 'lib/lexr.rb', line 121

def new(str)
	Lexr.new(str, @rules)
end