module Dapp::Dimg::Image::Argument
Attributes
bash_commands[R]
change_options[R]
options[R]
service_bash_commands[R]
service_change_options[R]
Public Instance Methods
add_change_cmd(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 21 def add_change_cmd(value) add_change_option(:cmd, value) end
add_change_entrypoint(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 25 def add_change_entrypoint(value) add_change_option(:entrypoint, value) end
add_change_env(**options)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 13 def add_change_env(**options) (change_options[:env] ||= {}).merge!(options) end
add_change_expose(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 9 def add_change_expose(value) add_change_option(:expose, value) end
add_change_label(**options)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 17 def add_change_label(**options) (change_options[:label] ||= {}).merge!(options) end
add_change_onbuild(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 29 def add_change_onbuild(value) add_change_option(:onbuild, value) end
add_change_user(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 37 def add_change_user(value) change_options[:user] = value end
add_change_volume(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 5 def add_change_volume(value) add_change_option(:volume, value) end
add_change_workdir(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 33 def add_change_workdir(value) change_options[:workdir] = value end
add_command(*commands)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 57 def add_command(*commands) @bash_commands.concat(commands.flatten) end
add_env(**options)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 45 def add_env(**options) (self.options[:env] ||= {}).merge!(options) end
add_service_change_label(**options)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 41 def add_service_change_label(**options) (service_change_options[:label] ||= {}).merge!(options) end
add_service_command(*commands)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 61 def add_service_command(*commands) @service_bash_commands.concat(commands.flatten) end
add_volume(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 49 def add_volume(value) add_option(:volume, value) end
add_volumes_from(value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 53 def add_volumes_from(value) add_option(:'volumes-from', value) end
prepare_instructions(options)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 65 def prepare_instructions(options) options.map do |key, vals| case key when :workdir, :user [vals] when :cmd, :entrypoint vals = [''] if vals == [] && ::Dapp::Dapp.host_docker_minor_version >= Gem::Version.new('17.10') [vals] when :env, :label then options_to_args(vals) else vals end.map { |val| %(#{key.to_s.upcase} #{val}) } end.flatten end
Protected Instance Methods
add_change_option(key, value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 90 def add_change_option(key, value) add_option_default(change_options, key, value) end
add_option(key, value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 86 def add_option(key, value) add_option_default(options, key, value) end
add_option_default(hash, key, value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 98 def add_option_default(hash, key, value) hash[key] = (hash[key].nil? ? [value] : (hash[key] << value)).flatten end
add_service_change_option(key, value)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 94 def add_service_change_option(key, value) add_option_default(service_change_options, key, value) end
options_to_args(options)
click to toggle source
# File lib/dapp/dimg/image/argument.rb, line 102 def options_to_args(options) options.map { |key, value| "#{key}=#{value}" } end