Module: ImapMogura::ConfigParser

Defined in:
lib/imap_mogura/config_parser.rb,
lib/imap_mogura/config_parser/errors.rb

Defined Under Namespace

Classes: Error, ParseError

Class Method Summary collapse

Class Method Details

.parse(config_name) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/imap_mogura/config_parser.rb', line 10

def parse(config_name)
  config = YAML.safe_load_file(config_name)

  raise ParseError, "config must be in hash format" unless config.is_a?(Hash)
  raise ParseError, "\"rules:\" must be defined" unless config.key?("rules")

   = config["metadata"]
  rules = config["rules"]

  [, rules]
rescue YAML::SyntaxError => e
  raise ParseError, "failed to parse yaml: #{e.message}"
end