ここで車輪を再発明しようとしているような気がするので、その前に...
処理する必要がある大量のデータ セットがあり、データを処理する「ルール」は時間の経過とともに進化するため、単純なルール エンジンを実装することが適切であると考えました。
自然言語パーサーを探しているわけではないことに注意してください。すべてのルールを ruby proc にしたいのです。
構文は次のようになると想像できます。
engine = SimpleRulesEngine.new
rule = engine.add_rule(priority: 10) do |row|
row.name != 'George'
end
rule.action do |row|
puts "Yikes, name is not George!, it was #{row.name}"
row.update_attribute :name, 'George'
end
engine.process collection
これに役立つ既存のパターンや宝石がそこにあるかどうか疑問に思っていました. 最も近いと思われるものはrulebyですが、積極的に維持されているようには見えず、私の問題の解決策が複雑すぎるようです。
ありがとう!
これは : Ruby & Rules Enginesと同様の質問であることに注意してください。