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, **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, **kwargs) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/buildizer/packager/misc_mod.rb', line 4 def command(*args, do_raise: false, **kwargs) Shellfold.run(*args, **kwargs).tap do |cmd| if not cmd.status.success? and do_raise raise Error.new(error: :error, message: "external command error") end end end |
#command!(*args, **kwargs) ⇒ Object
12 13 14 |
# File 'lib/buildizer/packager/misc_mod.rb', line 12 def command!(*args, **kwargs) command(*args, do_raise: true, log_failure: true, **kwargs) end |
#raw_command(*args, do_raise: false, **kwargs) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/buildizer/packager/misc_mod.rb', line 16 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
28 29 30 |
# File 'lib/buildizer/packager/misc_mod.rb', line 28 def raw_command!(*args, **kwargs) raw_command(*args, do_raise: true, **kwargs) end |
#with_log(desc: nil, &blk) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/buildizer/packager/misc_mod.rb', line 49 def with_log(desc: nil, &blk) puts(" #{desc}") if desc blk.call do |status| puts("=> #{desc} [#{status || 'OK'}]") if desc end end |
#write_path(path, value) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/buildizer/packager/misc_mod.rb', line 32 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 |