Class: Dapp::Controller
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
included, #shellout, #shellout!, #shellout_pack
included, #log, #log_format_string, #log_indent, #log_indent_next, #log_indent_prev, #log_info, #log_secondary, #log_step, #log_time, #log_with_indent, #with_log_indent
Constructor Details
#initialize(cli_options: {}, patterns: nil) ⇒ Controller
Returns a new instance of Controller.
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/dapp/controller.rb', line 9
def initialize(cli_options: {}, patterns: nil)
@cli_options = cli_options
@cli_options[:log_indent] = 0
@patterns = patterns || []
@patterns << '*' unless @patterns.any?
paint_initialize
Helper::I18n.initialize
end
|
Instance Attribute Details
#cli_options ⇒ Object
Returns the value of attribute cli_options.
7
8
9
|
# File 'lib/dapp/controller.rb', line 7
def cli_options
@cli_options
end
|
#patterns ⇒ Object
Returns the value of attribute patterns.
7
8
9
|
# File 'lib/dapp/controller.rb', line 7
def patterns
@patterns
end
|
Instance Method Details
#build ⇒ Object
25
26
27
28
29
30
31
32
|
# File 'lib/dapp/controller.rb', line 25
def build
build_configs.each do |config|
log_step(config._name)
with_log_indent do
Application.new(config: config, cli_options: cli_options).build!
end
end
end
|
#list ⇒ Object
34
35
36
|
# File 'lib/dapp/controller.rb', line 34
def list
build_configs.each { |config| log(config._name) }
end
|
#push(repo) ⇒ Object
38
39
40
41
|
# File 'lib/dapp/controller.rb', line 38
def push(repo)
raise Error::Controller, code: :push_command_unexpected_apps_number unless build_configs.one?
Application.new(config: build_configs.first, cli_options: cli_options, ignore_git_fetch: true).export!(repo)
end
|
#run(docker_options, command) ⇒ Object
20
21
22
23
|
# File 'lib/dapp/controller.rb', line 20
def run(docker_options, command)
raise Error::Controller, code: :run_command_unexpected_apps_number unless build_configs.one?
Application.new(config: build_configs.first, cli_options: cli_options, ignore_git_fetch: true).run(docker_options, command)
end
|
#smartpush(repo_prefix) ⇒ Object
43
44
45
46
47
48
49
|
# File 'lib/dapp/controller.rb', line 43
def smartpush(repo_prefix)
build_configs.each do |config|
log_step(config._name)
repo = File.join(repo_prefix, config._name)
with_log_indent { Application.new(config: config, cli_options: cli_options, ignore_git_fetch: true).export!(repo) }
end
end
|
#stages_cleanup ⇒ Object
55
56
57
|
# File 'lib/dapp/controller.rb', line 55
def stages_cleanup
shellout(%{docker rmi $(docker images -f "dangling=true" -f "label=dapp=#{build_configs.first._basename}" -q)})
end
|
#stages_flush ⇒ Object
51
52
53
|
# File 'lib/dapp/controller.rb', line 51
def stages_flush
shellout(%{docker rmi $(docker images --format="{{.Repository}}:{{.Tag}}" #{build_configs.first._basename}-dappstage)})
end
|