module PackRb::SubCommands::Build
Public Instance Methods
build(opts)
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 5 def build(opts) base_cmd = opts[:base_cmd] args = opts[:args] tpl = opts[:tpl] cmd_arr = [ base_cmd, 'build' ] cmd_arr << parse_options(args) if args execute(cmd: cmd_arr.join(' '), tpl: tpl) end
parse_options(opts)
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 16 def parse_options(opts) transformed_opts = opts.inject([]) do |arr, kv| key = kv.first val = kv.last raise Error::UnsupportedOption unless supported?(key) arr << transform(key).call(key.to_s, val) end transformed_opts.join(' ') end
Private Instance Methods
array_type()
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 48 def array_type Proc.new { |opt, val| "-#{opt}=#{val.join(',')}" } end
boolean_type()
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 52 def boolean_type Proc.new { |opt, val| "-#{opt}=#{val}" } end
flag_type()
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 56 def flag_type Proc.new { |opt, val| val ? "-#{opt}" : '' } end
supported?(opt)
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 44 def supported?(opt) transformation_strategy.keys.include?(opt) end
transform(opt)
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 40 def transform(opt) transformation_strategy[opt] end
transformation_strategy()
click to toggle source
# File lib/pack_rb/sub_commands/build.rb, line 30 def transformation_strategy { except: array_type, only: array_type, color: boolean_type, force: flag_type, debug: flag_type } end