class Arcana::RuleSet
Public Class Methods
new(rules)
click to toggle source
# File lib/arcana.rb, line 442 def initialize(rules) @rules = rules end
Public Instance Methods
inspect()
click to toggle source
# File lib/arcana.rb, line 462 def inspect "#<#{self.class} #{@rules.size} rules>" end
match(string, result=Result.new(self))
click to toggle source
# File lib/arcana.rb, line 446 def match(string, result=Result.new(self)) @rules.flat_map do |rule| rule.match(string, result) end end
names()
click to toggle source
# File lib/arcana.rb, line 452 def names return @names if defined?(@names) @names = {} @rules.each do |rule| next unless rule.pattern.type == "name" @names[rule.pattern.value] = rule end @names end