Class: MobyDerp::ConfigFile

Inherits:
Object
  • Object
show all
Includes:
LoggingHelpers
Defined in:
lib/moby_derp/config_file.rb

Direct Known Subclasses

PodConfig, SystemConfig

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ ConfigFile

Returns a new instance of ConfigFile.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/moby_derp/config_file.rb', line 12

def initialize(filename)
	begin
		@logger.debug(logloc) { "Reading configuration file #{filename}" }
		@config = YAML.safe_load(File.read(filename))
	rescue Errno::ENOENT
		raise ConfigurationError,
		      "file does not exist"
	rescue Errno::EPERM
		raise ConfigurationError,
		      "cannot read file"
	rescue Psych::SyntaxError => ex
		raise ConfigurationError,
		      "invalid YAML syntax: #{ex.message}"
	end

	unless @config.is_a?(Hash)
		raise ConfigurationError,
		      "invalid file contents -- must be a map"
	end
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



10
11
12
# File 'lib/moby_derp/config_file.rb', line 10

def logger
  @logger
end