cmds 0.0.8 → 0.0.9

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
  SHA1:
3
- metadata.gz: c6566ed118279014629f7435a6a271de93416f81
4
- data.tar.gz: ce308a9251460a2c0d3cf4729aefc50c2e5ff1c3
3
+ metadata.gz: 1dd522e09d442b565bd299965feb5568ac5d830e
4
+ data.tar.gz: 901dde67d7c5f77571539ab2ae8ea7a3b67c9d5d
5
5
  SHA512:
6
- metadata.gz: aa04300533619aa99726a972ac0cfc8ca0814c40e796a5d926909fc55c7ac1119d9ec47c1b117399c1b51c57ac3b32ad9eed4856a4eb8ad8f975e4987bc910e2
7
- data.tar.gz: 80c58ef1c07ab63dd515da61381200a2f5dc1bd47f223d2c6db838dba33a7bf8bae31f21aaa9f8e539915528a17c7f30258e0fa338222d26fbe41afc22067f58
6
+ metadata.gz: 7c5eea2077d11d90db033f8fd98ce2fb8782ac554427676087f1917fdf2f402ff6836089ab03a1e274783108b1acee9a49185e68fc7c46996b0db973c46a9b49
7
+ data.tar.gz: 85f29ade7132c8c083c94b4e7939aed8be3fe7a1d2153fadff115f581f9d32a43e5a5d5cfcdfe277efc6f641fd2290294e89dce2f5c27c18da6f7b27fc810b50
data/lib/cmds/sugar.rb CHANGED
@@ -54,14 +54,17 @@ class Cmds
54
54
 
55
55
  # @api sugar
56
56
  #
57
- # captures and returns stdout (sugar for `Cmds.capture(*args).out`).
57
+ # captures and returns stdout
58
+ # (sugar for `Cmds.capture(*template, *subs, &input_block).out`).
59
+ #
60
+ # @see .capture
61
+ # @see Result#out
58
62
  #
59
63
  # @param template [String] see {.capture}.
60
64
  # @param subs [Array] see {.capture}.
61
65
  # @param input_block [Proc] see {.capture}.
62
66
  #
63
- # @see .capture
64
- # @see Result#out
67
+ # @return [String] the command's stdout.
65
68
  #
66
69
  def self.out template, *subs, &input_block
67
70
  capture(template, *subs, &input_block).out
@@ -72,12 +75,16 @@ class Cmds
72
75
  #
73
76
  # captures and returns stdout, raising an error if the command fails.
74
77
  #
78
+ # @see .capture
79
+ # @see Result#out
80
+ #
75
81
  # @param template [String] see {.capture}.
76
82
  # @param subs [Array] see {.capture}.
77
83
  # @param input_block [Proc] see {.capture}.
78
84
  #
79
- # @see .capture
80
- # @see Result#out
85
+ # @return [String] the command's stdout.
86
+ #
87
+ # @raise [SystemCallError] if the command fails (non-zero exit status).
81
88
  #
82
89
  def self.out! template, *subs, &input_block
83
90
  Cmds.new(
@@ -89,15 +96,56 @@ class Cmds
89
96
 
90
97
  # @api sugar
91
98
  #
92
- # captures and returns stderr (sugar for `Cmds.capture(*args).err`).
99
+ # captures and chomps stdout
100
+ # (sugar for `Cmds.out(*template, *subs, &input_block).chomp`).
101
+ #
102
+ # @see .out
103
+ #
104
+ # @param template [String] see {.capture}.
105
+ # @param subs [Array] see {.capture}.
106
+ # @param input_block [Proc] see {.capture}.
107
+ #
108
+ # @return [String] the command's chomped stdout.
109
+ #
110
+ def self.chomp template, *subs, &input_block
111
+ out(template, *subs, &input_block).chomp
112
+ end
113
+
114
+
115
+ # @api sugar
116
+ #
117
+ # captures and chomps stdout, raising an error if the command fails.
118
+ # (sugar for `Cmds.out!(*template, *subs, &input_block).chomp`).
119
+ #
120
+ # @see .out!
93
121
  #
94
122
  # @param template [String] see {.capture}.
95
123
  # @param subs [Array] see {.capture}.
96
124
  # @param input_block [Proc] see {.capture}.
97
125
  #
126
+ # @return [String] the command's chomped stdout.
127
+ #
128
+ # @raise [SystemCallError] if the command fails (non-zero exit status).
129
+ #
130
+ def self.chomp! template, *subs, &input_block
131
+ out!(template, *subs, &input_block).chomp
132
+ end
133
+
134
+
135
+ # @api sugar
136
+ #
137
+ # captures and returns stderr
138
+ # (sugar for `Cmds.capture(template, *subs, &input_block).err`).
139
+ #
98
140
  # @see .capture
99
141
  # @see Result#err
100
142
  #
143
+ # @param template [String] see {.capture}.
144
+ # @param subs [Array] see {.capture}.
145
+ # @param input_block [Proc] see {.capture}.
146
+ #
147
+ # @return [String] the command's stderr.
148
+ #
101
149
  def self.err template, *subs, &input_block
102
150
  capture(template, *subs, &input_block).err
103
151
  end
@@ -131,14 +179,14 @@ class Cmds
131
179
  # captures and returns stdout
132
180
  # (sugar for `#capture(*subs, &input_block).out`).
133
181
  #
182
+ # @see #capture
183
+ # @see Result#out
184
+ #
134
185
  # @param subs [Array] see {.capture}.
135
186
  # @param input_block [Proc] see {.capture}.
136
187
  #
137
188
  # @return [String] the command's stdout.
138
189
  #
139
- # @see #capture
140
- # @see Result#out
141
- #
142
190
  def out *subs, &input_block
143
191
  capture(*subs, &input_block).out
144
192
  end
@@ -149,13 +197,15 @@ class Cmds
149
197
  # captures and returns stdout
150
198
  # (sugar for `#capture(*subs, &input_block).out`).
151
199
  #
200
+ # @see #capture
201
+ # @see Result#out
202
+ #
152
203
  # @param subs [Array] see {.capture}.
153
204
  # @param input_block [Proc] see {.capture}.
154
205
  #
155
206
  # @return [String] the command's stdout.
156
207
  #
157
- # @see #capture
158
- # @see Result#out
208
+ # @raise [SystemCallError] if the command fails (non-zero exit status).
159
209
  #
160
210
  def out! *subs, &input_block
161
211
  self.class.new(
@@ -165,6 +215,43 @@ class Cmds
165
215
  end
166
216
 
167
217
 
218
+ # @api sugar
219
+ #
220
+ # captures and chomps stdout
221
+ # (sugar for `#out(*subs, &input_block).chomp`).
222
+ #
223
+ # @see #out
224
+ #
225
+ # @param subs [Array] see {.capture}.
226
+ # @param input_block [Proc] see {.capture}.
227
+ #
228
+ # @return [String] the command's chomped stdout.
229
+ #
230
+ def chomp *subs, &input_block
231
+ out(*subs, &input_block).chomp
232
+ end
233
+
234
+
235
+ # @api sugar
236
+ #
237
+ # captures and chomps stdout, raising an error if the command failed.
238
+ # (sugar for `#out!(*subs, &input_block).chomp`).
239
+ #
240
+ # @see #capture
241
+ # @see Result#out
242
+ #
243
+ # @param subs [Array] see {.capture}.
244
+ # @param input_block [Proc] see {.capture}.
245
+ #
246
+ # @return [String] the command's chomped stdout.
247
+ #
248
+ # @raise [SystemCallError] if the command fails (non-zero exit status).
249
+ #
250
+ def chomp! *subs, &input_block
251
+ out!(*subs, &input_block).chomp
252
+ end
253
+
254
+
168
255
  # @api sugar
169
256
  #
170
257
  # captures and returns stdout
@@ -173,11 +260,11 @@ class Cmds
173
260
  # @param subs [Array] see {.capture}.
174
261
  # @param input_block [Proc] see {.capture}.
175
262
  #
176
- # @return [String] the command's stdout.
177
- #
178
263
  # @see #capture
179
264
  # @see Result#err
180
265
  #
266
+ # @return [String] the command's stderr.
267
+ #
181
268
  def err *subs, &input_block
182
269
  capture(*subs, &input_block).err
183
270
  end
data/lib/cmds/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Cmds
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -0,0 +1,65 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Cmds.chomp" do
4
+ it "gets echo output" do
5
+ expect( Cmds.chomp "echo %s", ["hey there!"] ).to eq "hey there!"
6
+ end
7
+
8
+ it "reads input" do
9
+ expect(
10
+ Cmds.chomp("ruby -e %{script}", script: "puts STDIN.read") {
11
+ "hey there!"
12
+ }
13
+ ).to eq "hey there!"
14
+ end
15
+ end # Cmds.chomp
16
+
17
+ describe "Cmds.chomp!" do
18
+ it "gets echo output" do
19
+ expect( Cmds.chomp! "echo %s", ["hey there!"] ).to eq "hey there!"
20
+ end
21
+
22
+ it "reads input" do
23
+ expect(
24
+ Cmds.chomp!("ruby -e %{script}", script: "puts STDIN.read") {
25
+ "hey there!"
26
+ }
27
+ ).to eq "hey there!"
28
+ end
29
+
30
+ it "errors when the command fails" do
31
+ expect { Cmds.chomp! "false" }.to raise_error SystemCallError
32
+ end
33
+ end # Cmds.chomp!
34
+
35
+ describe "Cmds#chomp" do
36
+ it "gets echo output" do
37
+ expect( Cmds.new("echo %s").chomp ["hey there!"] ).to eq "hey there!"
38
+ end
39
+
40
+ it "reads input" do
41
+ expect(
42
+ Cmds.new("ruby -e %{script}").chomp(script: "puts STDIN.read") {
43
+ "hey there!"
44
+ }
45
+ ).to eq "hey there!"
46
+ end
47
+ end # Cmds#chomp
48
+
49
+ describe "Cmds#chomp!" do
50
+ it "gets echo output" do
51
+ expect( Cmds.new("echo %s").chomp! ["hey there!"] ).to eq "hey there!"
52
+ end
53
+
54
+ it "reads input" do
55
+ expect(
56
+ Cmds.new("ruby -e %{script}").chomp!(script: "puts STDIN.read") {
57
+ "hey there!"
58
+ }
59
+ ).to eq "hey there!"
60
+ end
61
+
62
+ it "errors when the command fails" do
63
+ expect { Cmds.new("false").chomp! }.to raise_error SystemCallError
64
+ end
65
+ end # Cmds#chomp!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - nrser
@@ -156,6 +156,7 @@ files:
156
156
  - scratch/proxy.rb
157
157
  - spec/cmds/assert_spec.rb
158
158
  - spec/cmds/capture_spec.rb
159
+ - spec/cmds/chomp_spec.rb
159
160
  - spec/cmds/curry_spec.rb
160
161
  - spec/cmds/erb_context_spec.rb
161
162
  - spec/cmds/err_spec.rb
@@ -202,6 +203,7 @@ summary: helps read, write and remember commands.
202
203
  test_files:
203
204
  - spec/cmds/assert_spec.rb
204
205
  - spec/cmds/capture_spec.rb
206
+ - spec/cmds/chomp_spec.rb
205
207
  - spec/cmds/curry_spec.rb
206
208
  - spec/cmds/erb_context_spec.rb
207
209
  - spec/cmds/err_spec.rb