Method: CoinSync::Config#initialize

Defined in:
lib/coinsync/config.rb

#initialize(yaml, config_path = nil) ⇒ Config

Returns a new instance of Config.



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/coinsync/config.rb', line 21

def initialize(yaml, config_path = nil)
  @source_definitions = yaml['sources'] or raise 'Config: No sources listed'
  @settings = yaml['settings'] || {}
  @labels = @settings['labels'] || {}

  if includes = yaml['include']
    includes.each do |file|
      directory = config_path ? [config_path, '..'] : ['.']
      require(File.expand_path(File.join(*directory, file)))
    end
  end
end