Class: Kennedy::InstanceConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/kennedy/instance_configuration.rb

Constant Summary collapse

RequiredFiles =
%w[backend.rb
encryption.yml
sessions.yml
api_keys.yml]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_dir) ⇒ InstanceConfiguration

Returns a new instance of InstanceConfiguration.



17
18
19
20
21
22
23
# File 'lib/kennedy/instance_configuration.rb', line 17

def initialize(config_dir)
  @config_dir = config_dir
  load_backend
  load_encryption
  load_sessions
  load_api_keys
end

Instance Attribute Details

#api_keysObject (readonly)

Returns the value of attribute api_keys.



6
7
8
# File 'lib/kennedy/instance_configuration.rb', line 6

def api_keys
  @api_keys
end

#backendObject (readonly)

Returns the value of attribute backend.



6
7
8
# File 'lib/kennedy/instance_configuration.rb', line 6

def backend
  @backend
end

#encryptionObject (readonly)

Returns the value of attribute encryption.



6
7
8
# File 'lib/kennedy/instance_configuration.rb', line 6

def encryption
  @encryption
end

Class Method Details

.load_config(config_dir) ⇒ Object

Raises:

  • (ArgumentError)


25
26
27
28
29
30
31
32
33
# File 'lib/kennedy/instance_configuration.rb', line 25

def self.load_config(config_dir)
  config_dir = Pathname(config_dir)
  raise ArgumentError, "Config dir '#{config_dir}' does not exist" unless config_dir.exist?
  RequiredFiles.each do |rf|
    expected = config_dir + rf
    raise ArgumentError, "Expected config file '#{expected}' to exist" unless expected.exist?
  end
  new(config_dir)
end

Instance Method Details

#session_secretObject



35
36
37
# File 'lib/kennedy/instance_configuration.rb', line 35

def session_secret
  @sessions['secret']
end