fulmar-shell 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fulmar/shell.rb +17 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57c5684bfeaa62855b10e352b1f1dfed3b66da49
4
- data.tar.gz: 7fa3c31d6c1a90521070f5fe3871396c65d6d82c
3
+ metadata.gz: d7ee1f834b78193c9007227b8388222fcf4a7f24
4
+ data.tar.gz: 82d0f09080b98ac7c8be68671ec3119ebf7f88f9
5
5
  SHA512:
6
- metadata.gz: 8aeca2e5686ef2d93f4a520db37a0170000c43d4849a08f8e7f7775ecba5b4cf96688386fe98cdf2d0b7c7f19116408e40d1d800cb339fab5fd6479e782b442f
7
- data.tar.gz: a2a915681e357b0302ce6ae6a1f9e876dd80e142612a9cf9fb9940dbf269bd79adbd7bece130212842a5d16379b92bc7816bc56c65532866c959f36f1d612b3b
6
+ metadata.gz: eabf95f05e15df887b532fa5f75018767ea6b05a30d4bb8a6a06d2eb7ae726f663418a0f9c51a878d5b39231344dc5c5dabd2eae1fbef66a80c10f00752231b2
7
+ data.tar.gz: 2570d005d648dc7089286478460abc27807f204c25c3eb32322e75072bb3e42c96cfc2c72c9604dbb15d8952acaf0aa7d95d9666d5b8c3f910ed4e998e881bdb
data/lib/fulmar/shell.rb CHANGED
@@ -5,9 +5,9 @@ require 'open3'
5
5
  module Fulmar
6
6
  # Implements simple access to shell commands
7
7
  class Shell
8
- VERSION = '1.3.0'
8
+ VERSION = '1.4.0'
9
9
 
10
- attr_accessor :debug, :last_output, :last_error, :quiet
10
+ attr_accessor :debug, :last_output, :last_error, :quiet, :strict
11
11
  attr_reader :path
12
12
 
13
13
  def initialize(path = '.', host = 'localhost')
@@ -19,6 +19,7 @@ module Fulmar
19
19
  @debug = false
20
20
  @quiet = false
21
21
  @environment = {}
22
+ @strict = false
22
23
  end
23
24
 
24
25
  def run(command, options = {})
@@ -72,11 +73,25 @@ module Fulmar
72
73
 
73
74
  @last_error.each { |line| puts line } unless @quiet
74
75
 
76
+ if @strict and wait_thr.value != 0
77
+ dump_error_message(command)
78
+ fail 'Last shell command returned an error.'
79
+ end
80
+
75
81
  wait_thr.value == 0
76
82
  end
77
83
 
78
84
  def escape_for_sh(text)
79
85
  text.gsub('\\', '\\\\').gsub("'", "'\\\\''")
80
86
  end
87
+
88
+ def dump_error_message(command)
89
+ STDERR.puts command unless @debug
90
+ STDERR.puts 'Command output (stdout):'
91
+ @last_output.each { |line| STDERR.puts line }
92
+ STDERR.puts ''
93
+ STDERR.puts 'Command error message (stderr):'
94
+ @last_error.each { |line| STDERR.puts line }
95
+ end
81
96
  end
82
97
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fulmar-shell
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerrit Visscher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-24 00:00:00.000000000 Z
11
+ date: 2015-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler