Class: Core::Filtering::SimpleRules::SimpleRulesParser
- Inherits:
-
Object
- Object
- Core::Filtering::SimpleRules::SimpleRulesParser
- Defined in:
- lib/core/filtering/simple_rules/simple_rules_parser.rb
Instance Method Summary collapse
-
#initialize(rules) ⇒ SimpleRulesParser
constructor
A new instance of SimpleRulesParser.
- #parse ⇒ Object
Constructor Details
#initialize(rules) ⇒ SimpleRulesParser
Returns a new instance of SimpleRulesParser.
16 17 18 |
# File 'lib/core/filtering/simple_rules/simple_rules_parser.rb', line 16 def initialize(rules) @rules = (rules || []).map(&:with_indifferent_access).filter { |r| r[:id] != 'DEFAULT' }.sort_by { |r| r[:order] } end |
Instance Method Details
#parse ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/core/filtering/simple_rules/simple_rules_parser.rb', line 20 def parse merge_rules(@rules.map do |rule_hash| rule = Core::Filtering::SimpleRule.new(rule_hash) unless rule.is_include? || rule.is_exclude? raise "Unknown policy: #{rule.policy}" end parse_rule(rule) end) end |