Module: Broadside

Extended by:
LoggingUtils
Defined in:
lib/broadside.rb,
lib/broadside/error.rb,
lib/broadside/deploy.rb,
lib/broadside/target.rb,
lib/broadside/command.rb,
lib/broadside/version.rb,
lib/broadside/logging_utils.rb,
lib/broadside/ecs/ecs_deploy.rb,
lib/broadside/ecs/ecs_manager.rb,
lib/broadside/configuration/configuration.rb,
lib/broadside/configuration/aws_configuration.rb,
lib/broadside/configuration/invalid_configuration.rb

Defined Under Namespace

Modules: Command, InvalidConfiguration, LoggingUtils Classes: AwsConfiguration, Configuration, ConfigurationError, Deploy, EcsDeploy, EcsError, EcsManager, Error, Target

Constant Summary collapse

USER_CONFIG_FILE =
(ENV['BROADSIDE_SYSTEM_CONFIG_FILE'] || File.join(Dir.home, '.broadside', 'config.rb')).freeze
VERSION =
'3.2.0'.freeze

Class Method Summary collapse

Class Method Details

.configObject



50
51
52
# File 'lib/broadside.rb', line 50

def self.config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:

Raises:



22
23
24
25
# File 'lib/broadside.rb', line 22

def self.configure
  yield config
  raise ConfigurationError, config.errors.full_messages unless config.valid?
end

.load_config_file(config_file) ⇒ Object

Raises:

  • (ArgumentError)


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/broadside.rb', line 27

def self.load_config_file(config_file)
  raise ArgumentError, "#{config_file} does not exist" unless File.exist?(config_file)
  config.config_file = config_file

  begin
    if File.exist?(USER_CONFIG_FILE)
      debug "Loading user configuration from #{USER_CONFIG_FILE}"

      begin
        load(USER_CONFIG_FILE)
      rescue ConfigurationError
        # Suppress the exception because the system config file can be incomplete and validation failure is expected
      end
    end

    debug "Loading application configuration from #{config_file}"
    load(config_file)
  rescue LoadError
    error 'Encountered an error loading broadside configuration'
    raise
  end
end

.reset!Object



54
55
56
57
58
# File 'lib/broadside.rb', line 54

def self.reset!
  @config = nil
  EcsManager.instance_variable_set(:@ecs_client, nil)
  EcsManager.instance_variable_set(:@ec2_client, nil)
end