Module: PackRb::SubCommands::Build

Included in:
PackRb::SubCommands
Defined in:
lib/pack_rb/sub_commands/build.rb

Instance Method Summary collapse

Instance Method Details

#build(opts) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# 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) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# 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