Class: Citrus::Core::ConfigurationLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/citrus/core/configuration_loader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(validator = ConfigurationValidator.new) ⇒ ConfigurationLoader

Returns a new instance of ConfigurationLoader.



11
12
13
# File 'lib/citrus/core/configuration_loader.rb', line 11

def initialize(validator = ConfigurationValidator.new)
  @validator = validator
end

Instance Attribute Details

#validatorObject (readonly)

Returns the value of attribute validator.



9
10
11
# File 'lib/citrus/core/configuration_loader.rb', line 9

def validator
  @validator
end

Instance Method Details

#load_from_path(path) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/citrus/core/configuration_loader.rb', line 15

def load_from_path(path)
  data   = File.read(File.join(path, '.citrus/config.rb'))
  config = eval(data)
  raise ConfigurationFileInvalidError unless validator.validate(config)
  config
rescue Errno::ENOENT
  raise ConfigurationFileNotFoundError
end