Class: Wrapbox::Configuration

Inherits:
Struct
  • Object
show all
Defined in:
lib/wrapbox/configuration.rb

Constant Summary collapse

AVAILABLE_RUNNERS =
%i(docker ecs)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Configuration

Returns a new instance of Configuration.



38
39
40
# File 'lib/wrapbox/configuration.rb', line 38

def initialize(*args)
  super
end

Instance Attribute Details

#additional_container_definitionsObject

Returns the value of attribute additional_container_definitions

Returns:

  • (Object)

    the current value of additional_container_definitions



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def additional_container_definitions
  @additional_container_definitions
end

#clusterObject

Returns the value of attribute cluster

Returns:

  • (Object)

    the current value of cluster



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def cluster
  @cluster
end

#container_definitionObject

Returns the value of attribute container_definition

Returns:

  • (Object)

    the current value of container_definition



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def container_definition
  @container_definition
end

#keep_containerObject

Returns the value of attribute keep_container

Returns:

  • (Object)

    the current value of keep_container



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def keep_container
  @keep_container
end

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def name
  @name
end

#regionObject

Returns the value of attribute region

Returns:

  • (Object)

    the current value of region



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def region
  @region
end

#retryObject

Returns the value of attribute retry

Returns:

  • (Object)

    the current value of retry



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def retry
  @retry
end

#retry_intervalObject

Returns the value of attribute retry_interval

Returns:

  • (Object)

    the current value of retry_interval



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def retry_interval
  @retry_interval
end

#retry_interval_multiplierObject

Returns the value of attribute retry_interval_multiplier

Returns:

  • (Object)

    the current value of retry_interval_multiplier



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def retry_interval_multiplier
  @retry_interval_multiplier
end

#revisionObject

Returns the value of attribute revision

Returns:

  • (Object)

    the current value of revision



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def revision
  @revision
end

#runnerObject

Returns the value of attribute runner

Returns:

  • (Object)

    the current value of runner



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def runner
  @runner
end

#task_role_arnObject

Returns the value of attribute task_role_arn

Returns:

  • (Object)

    the current value of task_role_arn



5
6
7
# File 'lib/wrapbox/configuration.rb', line 5

def task_role_arn
  @task_role_arn
end

Class Method Details

.load_config(config) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/wrapbox/configuration.rb', line 19

def self.load_config(config)
  new(
    config["name"],
    config["revision"],
    config["runner"] ? config["runner"].to_sym : :docker,
    config["cluster"],
    config["region"],
    config["retry"] || 0,
    config["retry_interval"] || 1,
    config["retry_interval_multiplier"] || 2,
    config["container_definition"].deep_symbolize_keys,
    config["additional_container_definitions"] || [],
    config["task_role_arn"],
    config["keep_container"]
  )
end

Instance Method Details

#build_runnerObject



42
43
44
45
46
# File 'lib/wrapbox/configuration.rb', line 42

def build_runner
  raise "#{runner} is unsupported runner" unless AVAILABLE_RUNNERS.include?(runner.to_sym)
  require "wrapbox/runner/#{runner}"
  Wrapbox::Runner.const_get(runner.to_s.camelcase).new(to_h)
end

#run(class_name, method_name, args, **options) ⇒ Object



48
49
50
# File 'lib/wrapbox/configuration.rb', line 48

def run(class_name, method_name, args, **options)
  build_runner.run(class_name, method_name, args, **options)
end

#run_cmd(*cmd, **options) ⇒ Object



52
53
54
# File 'lib/wrapbox/configuration.rb', line 52

def run_cmd(*cmd, **options)
  build_runner.run_cmd(*cmd, **options)
end