lib/controller.rb in cuco-0.1.0 vs lib/controller.rb in cuco-0.1.1
- old
+ new
@@ -38,10 +38,21 @@
files.each { |filename| file_run(filename, type) }
end
def file_run(pattern, type = nil)
puts "*** file_run(#{pattern}, #{type})" if debug
- G.script.__rules.select { |rule| match_run(rule, pattern) }
+ rules = find_rules(pattern, type)
+ rules.each { |rule| match_run(rule, pattern) }
+ end
+
+ private
+
+ def find_rules(pattern, type)
+ puts "*** find_rules(#{pattern}, #{type})" if debug
+ G.script.__rules.reverse.select { |rule|
+ pattern.match(rule.pattern) &&
+ (rule.event_type.nil? || rule.event_type == type)
+ }
end
def match_run(rule, pattern)
md = pattern.match(rule.pattern)
puts "*** match_run #{rule}" if debug