class Deliv::Deploy::Config
Public Class Methods
new(environment, filename = nil)
click to toggle source
# File lib/deliv/deploy/config.rb, line 4 def initialize(environment, filename = nil) @environment = environment load!(filename) verify_environments! end
Public Instance Methods
method_missing(name, *_args, &_block)
click to toggle source
# File lib/deliv/deploy/config.rb, line 10 def method_missing(name, *_args, &_block) OpenStruct.new(@config[@environment]).send(name) end
Private Instance Methods
load!(filename = nil)
click to toggle source
# File lib/deliv/deploy/config.rb, line 16 def load!(filename = nil) @filename = filename || Rails.root.join('.deploy.yml') if defined?(Rails) file = File.read(@filename) @config = YAML.safe_load(file).with_indifferent_access end
verify_environment!(environment)
click to toggle source
# File lib/deliv/deploy/config.rb, line 26 def verify_environment!(environment) raise ConfigError, "Missing `#{environment}` from `#{@filename}`" unless @config[environment].present? end
verify_environments!()
click to toggle source
# File lib/deliv/deploy/config.rb, line 22 def verify_environments! Deliv::Deploy.remote_environments.each { |environment| verify_environment!(environment) } end