Class: Scripto::RunCommands::CommandLine
- Inherits:
-
Object
- Object
- Scripto::RunCommands::CommandLine
- Defined in:
- lib/scripto/run_commands.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#args ⇒ Object
Returns the value of attribute args.
-
#command ⇒ Object
Returns the value of attribute command.
Instance Method Summary collapse
- #capture ⇒ Object
-
#initialize(command, args) ⇒ CommandLine
constructor
A new instance of CommandLine.
- #raise!(status) ⇒ Object
- #run ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(command, args) ⇒ CommandLine
Returns a new instance of CommandLine.
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/scripto/run_commands.rb', line 57 def initialize(command, args) self.command = command self.args = begin if args args.map(&:to_s) else [] end end end |
Instance Attribute Details
#args ⇒ Object
Returns the value of attribute args.
55 56 57 |
# File 'lib/scripto/run_commands.rb', line 55 def args @args end |
#command ⇒ Object
Returns the value of attribute command.
55 56 57 |
# File 'lib/scripto/run_commands.rb', line 55 def command @command end |
Instance Method Details
#capture ⇒ Object
73 74 75 76 77 78 79 80 81 |
# File 'lib/scripto/run_commands.rb', line 73 def capture begin captured = `#{self}` rescue Errno::ENOENT raise Error, "#{self} failed : ENOENT (No such file or directory)" end raise!($CHILD_STATUS) if $CHILD_STATUS != 0 captured end |
#raise!(status) ⇒ Object
83 84 85 86 87 88 89 |
# File 'lib/scripto/run_commands.rb', line 83 def raise!(status) if status.termsig == Signal.list['INT'] raise "#{self} interrupted" end raise Error, "#{self} failed : #{status.to_i / 256}" end |
#run ⇒ Object
68 69 70 71 |
# File 'lib/scripto/run_commands.rb', line 68 def run system(command, *args) raise!($CHILD_STATUS) if $CHILD_STATUS != 0 end |
#to_s ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'lib/scripto/run_commands.rb', line 91 def to_s if !args.empty? escaped = args.map { |i| Shellwords.escape(i) } "#{command} #{escaped.join(' ')}" else command end end |