Class: Patm::RuleCache

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

Instance Method Summary collapse

Constructor Details

#initialize(compile = true) ⇒ RuleCache

Returns a new instance of RuleCache.



330
331
332
333
# File 'lib/patm.rb', line 330

def initialize(compile = true)
  @compile = compile
  @rules = {}
end

Instance Method Details

#match(rule_name, obj, _self = nil, &rule) ⇒ Object



334
335
336
# File 'lib/patm.rb', line 334

def match(rule_name, obj, _self = nil, &rule)
  (@rules[rule_name] ||= ::Patm::Rule.new(@compile, &rule)).apply(obj, _self)
end