class Asteroid::Config

Attributes

asteroid_dir[RW]
config_dir[RW]
file_dir[RW]
namespace[RW]
providers[RW]
script_dir[RW]
secret_config_dir[RW]
secret_config_file[RW]
secret_dir[RW]
secret_file[RW]
secret_file_dir[RW]
secret_instance_dir[RW]
secret_key_dir[RW]
secret_provider_file[RW]
secret_script_dir[RW]
server_dir[RW]

Public Class Methods

boot!() click to toggle source
# File lib/asteroid/config.rb, line 23
def boot!
  if File.exists? self.secret_config_file
    @secrets = YAML::load_file self.secret_config_file || {}
  else
    @secrets = {}
  end

  # Load secret provider definition file
  if File.exists?(Config.secret_provider_file)
    eval File.read(Config.secret_provider_file)
  end

  # Set search paths
  Asteroid::FileReference.search_paths << Config.file_dir
  Asteroid::FileReference.search_paths << Config.secret_file_dir

  Asteroid::ScriptReference.search_paths << Config.script_dir
  Asteroid::ScriptReference.search_paths << Config.secret_script_dir

  Asteroid::KeyReference.search_paths << Config.secret_key_dir
end
configure(root, options = {}) { |self| ... } click to toggle source
# File lib/asteroid/config.rb, line 45
def configure(root, options = {}, &block)
  options = default_config(root)
  options.merge! options
  options.each do |key, value|
    self.send "#{key}=", value
  end

  yield self if block_given?

  boot!
end
default_config(root) click to toggle source
# File lib/asteroid/config.rb, line 81
def default_config(root)
  asteroid_dir = File.join(root, '/asteroid')
  config_dir = File.join(root, '/config')
  secret_dir = File.join(root, '/secrets')

  {
    asteroid_dir: asteroid_dir,
    script_dir: File.join(asteroid_dir, '/scripts'),
    file_dir: File.join(asteroid_dir, '/files'),
    server_dir: File.join(asteroid_dir, '/servers'),
    config_dir: config_dir,
    secret_dir: secret_dir,
    secret_config_dir: File.join(secret_dir, '/config'),
    secret_config_file: File.join(secret_dir, '/config', '/secrets.yml'),
    secret_provider_file: File.join(secret_dir, '/config', '/providers.rb'),
    secret_script_dir: File.join(secret_dir, '/scripts'),
    secret_file_dir: File.join(secret_dir, '/files'),
    secret_key_dir: File.join(secret_dir, '/keys'),
    secret_instance_dir: File.join(secret_dir, '/instances')
  }
end
secret() click to toggle source
# File lib/asteroid/config.rb, line 57
def secret
  @secrets
end
template_engines() click to toggle source
# File lib/asteroid/config.rb, line 61
def template_engines
  @template_engines ||= {}
end