Class: Lexr::Dsl
- Inherits:
-
Object
- Object
- Lexr::Dsl
- Defined in:
- lib/lexr.rb
Instance Method Summary collapse
- #ignores(rule_hash) ⇒ Object
-
#initialize ⇒ Dsl
constructor
A new instance of Dsl.
- #matches(rule_hash) ⇒ Object
- #new(str) ⇒ Object
Constructor Details
#initialize ⇒ Dsl
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 |