module Anytick
Constants
- VERSION
Public Class Methods
DefineMethod(**kw_args)
click to toggle source
# File lib/anytick.rb, line 47 def self.DefineMethod(**kw_args) DefineMethod.new(**kw_args) end
rule(rule_maker, *other_rule_makers)
click to toggle source
# File lib/anytick.rb, line 34 def self.rule(rule_maker, *other_rule_makers) rule_maker_list = [ rule_maker ] + other_rule_makers rule_list = rule_maker_list.map(&:make_rule) action = make_backtick_action(rule_list) Module.new{ define_method(:`, action) private :` } end
Private Class Methods
make_backtick_action(rule_list)
click to toggle source
Calls superclass method
# File lib/anytick.rb, line 20 def make_backtick_action(rule_list) lambda{|expr| for rule in rule_list if (match_result = (rule.match? expr)) then namespace = self return rule.execute(namespace, expr, match_result) end end super(expr) } end