module Patm::DSL
Public Instance Methods
define_matcher(name, &rule)
click to toggle source
# File lib/patm.rb, line 666 def define_matcher(name, &rule) rule = Rule.new(&rule).compile ctx = rule.context self.class_variable_set("@@_patm_ctx_#{name}", ctx) src = <<-RUBY def #{name}(_obj) _self = self _ctx = self.#{self.name ? 'class' : 'singleton_class'}.class_variable_get(:@@_patm_ctx_#{name}) _match = {} #{rule.src_body} end RUBY class_eval(src) end