howzit 2.0.27 → 2.0.28

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 135c2149bfce9fb01705564408ded6052edef780b415d1b305e292c6d3701f57
4
- data.tar.gz: c4cfbbd4a6517aa33078c69600f88656ec4c07547c5ff6dcc65cae1151feb47a
3
+ metadata.gz: c2a724cc90c349de14afa896512a32d69bcf2fa44575f69e74b0a6f96d615ebb
4
+ data.tar.gz: 73c54a8893fa66784575235d329ad698da6e7a34a2741e09d2d93149b118f68a
5
5
  SHA512:
6
- metadata.gz: 3981a7b2eba17397a7e7723105a7f80f7387b04d3a2fabc442fe63a7c27fa79d954801c4527f2168cb557c16e7da865228d8ffb5f7bff55c754c5623010390f6
7
- data.tar.gz: 8cee197d4b84557bddcc5d2584c4784af88ade9424c06cf73d2efdd8735e7675db711d20cfcb98efc91fcb722d91b464aa8a45fa85e0c5c1dd8e8509100460e2
6
+ metadata.gz: 4d4c9e0c7e5c78f10479cea93dffa09fdf768d335210897feb127f849040bced7a05924a60f6621173ececb1fde116fe5a3ecc79270767c12718b1a1f9742281
7
+ data.tar.gz: ff2c18f91883cf4f3b6035b8b304a23575381fd1b9a74333781db8ac000b13d03eb43969bb80d964e3dafeec3556a2152392b2eb074a34561981753233e1fc9e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 2.0.28
2
+
3
+ 2022-08-29 18:42
4
+
5
+ #### IMPROVED
6
+
7
+ - If a topic runs multiple directives, stop processing them if one returns a non-zero exit status
8
+
1
9
  ### 2.0.27
2
10
 
3
11
  2022-08-23 12:25
data/lib/howzit/task.rb CHANGED
@@ -56,11 +56,13 @@ module Howzit
56
56
  script.write(block)
57
57
  script.close
58
58
  File.chmod(0o777, script.path)
59
- system(%(/bin/sh -c "#{script.path}"))
59
+ res = system(%(/bin/sh -c "#{script.path}"))
60
60
  ensure
61
61
  script.close
62
62
  script.unlink
63
63
  end
64
+
65
+ res
64
66
  end
65
67
 
66
68
  ##
@@ -85,7 +87,7 @@ module Howzit
85
87
  def run_run
86
88
  title = Howzit.options[:show_all_code] ? @action : @title
87
89
  Howzit.console.info("{bg}Running {bw}#{title}{x}".c)
88
- system(@action)
90
+ return system(@action)
89
91
  end
90
92
 
91
93
  ##
@@ -95,6 +97,7 @@ module Howzit
95
97
  title = Howzit.options[:show_all_code] ? @action : @title
96
98
  Howzit.console.info("{bg}Copied {bw}#{title}{bg} to clipboard{x}".c)
97
99
  Util.os_copy(@action)
100
+ return true
98
101
  end
99
102
 
100
103
  ##
@@ -103,22 +106,22 @@ module Howzit
103
106
  def run
104
107
  output = []
105
108
  tasks = 1
106
- if @type == :block
107
- run_block
108
- else
109
- case @type
110
- when :include
111
- output, tasks = run_include
112
- when :run
113
- run_run
114
- when :copy
115
- run_copy
116
- when :open
117
- Util.os_open(@action)
118
- end
119
- end
109
+ res = if @type == :block
110
+ run_block
111
+ else
112
+ case @type
113
+ when :include
114
+ output, tasks = run_include
115
+ when :run
116
+ run_run
117
+ when :copy
118
+ run_copy
119
+ when :open
120
+ Util.os_open(@action)
121
+ end
122
+ end
120
123
 
121
- [output, tasks]
124
+ [output, tasks, res]
122
125
  end
123
126
 
124
127
  ##
data/lib/howzit/topic.rb CHANGED
@@ -63,9 +63,15 @@ module Howzit
63
63
  next unless res
64
64
 
65
65
  end
66
- run_output, total = task.run
66
+ run_output, total, success = task.run
67
+
67
68
  output.concat(run_output)
68
69
  tasks += total
70
+
71
+ unless success
72
+ Howzit.console.warn '{br}Error running task{bw} - non-zero exit, ending processing{x}'.c
73
+ break
74
+ end
69
75
  end
70
76
  else
71
77
  Howzit.console.warn "{r}--run: No {br}@directive{xr} found in {bw}#{@title}{x}".c
@@ -3,5 +3,5 @@
3
3
  # Primary module for this gem.
4
4
  module Howzit
5
5
  # Current Howzit version.
6
- VERSION = '2.0.27'
6
+ VERSION = '2.0.28'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: howzit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.27
4
+ version: 2.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-23 00:00:00.000000000 Z
11
+ date: 2022-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler