class Diachronr::RuleSet
a set of rules, categories, and rewrites applicable to words
Attributes
categories[RW]
options[RW]
rewrites[RW]
rules[RW]
Public Class Methods
load(filename)
click to toggle source
# File lib/diachronr/ruleset.rb, line 17 def self.load(filename) options = YAML.load_file filename rules = options['rules'].map { |a| Diachronr::Rule.new(a) } categories = options['categories'].map { |a| Diachronr::Category.new(a) } rewrites = options['rewrites'].map { |a| Diachronr::Rewrite.new(a) } RuleSet.new rules, categories, rewrites, options end
new(rules, categories, rewrites, options = {})
click to toggle source
# File lib/diachronr/ruleset.rb, line 10 def initialize(rules, categories, rewrites, options = {}) @rules = rules @categories = categories @rewrites = rewrites @options = options end
Public Instance Methods
apply(target)
click to toggle source
# File lib/diachronr/ruleset.rb, line 25 def apply(target) @rewrites.each do |rewrite| target = rewrite.apply target end # each @rules.each do |rule| target = rule.apply target, categories: @categories end # each @rewrites.each do |rewrite| target = rewrite.reverse target end # each target end