Module: Buildizer::Packager::MiscMod
- Included in:
- Buildizer::Packager
- Defined in:
- lib/buildizer/packager/misc_mod.rb
Instance Method Summary collapse
- #command(*args, do_raise: false, log_failure: nil, **kwargs) ⇒ Object
- #command!(*args, **kwargs) ⇒ Object
- #raw_command(*args, do_raise: false, **kwargs) ⇒ Object
- #raw_command!(*args, **kwargs) ⇒ Object
- #with_log(desc: nil, &blk) ⇒ Object
- #write_path(path, value) ⇒ Object
Instance Method Details
#command(*args, do_raise: false, log_failure: nil, **kwargs) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/buildizer/packager/misc_mod.rb', line 4 def command(*args, do_raise: false, log_failure: nil, **kwargs) if debug Shellfold.run(*args, log_failure: log_failure, **kwargs).tap do |cmd| if not cmd.status.success? and do_raise raise Error.new(error: :error, message: "external command error") end end else raw_command(*args, do_raise: do_raise, **kwargs) end end |
#command!(*args, **kwargs) ⇒ Object
16 17 18 |
# File 'lib/buildizer/packager/misc_mod.rb', line 16 def command!(*args, **kwargs) command(*args, do_raise: true, log_failure: true, **kwargs) end |
#raw_command(*args, do_raise: false, **kwargs) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/buildizer/packager/misc_mod.rb', line 20 def raw_command(*args, do_raise: false, **kwargs) Mixlib::ShellOut.new(*args, **kwargs).tap do |cmd| cmd.run_command if not cmd.status.success? and do_raise raise Error.new(error: :error, message: "external command error: " + [args.join(' '), cmd.stdout + cmd.stderr].reject(&:empty?).join(' => ')) end end end |
#raw_command!(*args, **kwargs) ⇒ Object
32 33 34 |
# File 'lib/buildizer/packager/misc_mod.rb', line 32 def raw_command!(*args, **kwargs) raw_command(*args, do_raise: true, **kwargs) end |
#with_log(desc: nil, &blk) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/buildizer/packager/misc_mod.rb', line 53 def with_log(desc: nil, &blk) puts(" #{desc}") if debug and desc blk.call do |status| puts("=> #{desc} [#{status || 'OK'}]") if debug and desc end end |
#write_path(path, value) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/buildizer/packager/misc_mod.rb', line 36 def write_path(path, value) with_log(desc: "Write path #{path}") do |&fin| recreate = path.exist? if path.exist? if path.read == value fin.call 'OK' else path.write value fin.call 'UPDATED' end else path.write value fin.call 'CREATED' end end end |