Module: ImapMogura::RulesParser
- Defined in:
- lib/imap_mogura/rules_parser.rb,
lib/imap_mogura/rules_parser/errors.rb
Defined Under Namespace
Classes: Error, ParseError
Class Method Summary collapse
Class Method Details
.parse(rules) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/imap_mogura/rules_parser.rb', line 13 def parse(rules) raise ParseError, "rules is required to be just only one array" unless rules.is_a?(Array) rules.map do |item| rule_set = RuleSet.new(item) rule_set.parsed_rule = parse_rule(rule_set.raw_rule) rule_set rescue ArgumentError raise ParseError, "keywords \"destination\" and \"rule\" are required but some keywords are not specified or unknown keywords are specified. specified keywords: #{item.keys.map do |k| "\"#{k}\"" end.join(", ")}" end end |