cmds 0.0.7 → 0.0.8

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: 29ac5b8099c66914471b6fd1585748ba6b8f74a6
4
- data.tar.gz: ab9ba3a952397d2084c30cda20f6297a37680b32
3
+ metadata.gz: c6566ed118279014629f7435a6a271de93416f81
4
+ data.tar.gz: ce308a9251460a2c0d3cf4729aefc50c2e5ff1c3
5
5
  SHA512:
6
- metadata.gz: 21d3ac68168ca119e4a170633f2b29c7df0060ac4d39e3aeac1bb80a773acd3f91c3b366052a137e04c791d78ceaf1be7c773f5fd9a0eb23e9162ba76b371bb0
7
- data.tar.gz: 736a8e9b895c7772b6f1738801f79f6a90a9b21351ffe6205feec848ab39dcee9272c58a6504fde06720889f7f19595d8ddd9d3403bc498c706a26a5e95d036d
6
+ metadata.gz: aa04300533619aa99726a972ac0cfc8ca0814c40e796a5d926909fc55c7ac1119d9ec47c1b117399c1b51c57ac3b32ad9eed4856a4eb8ad8f975e4987bc910e2
7
+ data.tar.gz: 80c58ef1c07ab63dd515da61381200a2f5dc1bd47f223d2c6db838dba33a7bf8bae31f21aaa9f8e539915528a17c7f30258e0fa338222d26fbe41afc22067f58
data/lib/cmds/sugar.rb CHANGED
@@ -51,6 +51,57 @@ class Cmds
51
51
  Cmds.new(template, assert: true).stream *subs, &input_block
52
52
  end # ::stream!
53
53
 
54
+
55
+ # @api sugar
56
+ #
57
+ # captures and returns stdout (sugar for `Cmds.capture(*args).out`).
58
+ #
59
+ # @param template [String] see {.capture}.
60
+ # @param subs [Array] see {.capture}.
61
+ # @param input_block [Proc] see {.capture}.
62
+ #
63
+ # @see .capture
64
+ # @see Result#out
65
+ #
66
+ def self.out template, *subs, &input_block
67
+ capture(template, *subs, &input_block).out
68
+ end
69
+
70
+
71
+ # @api sugar
72
+ #
73
+ # captures and returns stdout, raising an error if the command fails.
74
+ #
75
+ # @param template [String] see {.capture}.
76
+ # @param subs [Array] see {.capture}.
77
+ # @param input_block [Proc] see {.capture}.
78
+ #
79
+ # @see .capture
80
+ # @see Result#out
81
+ #
82
+ def self.out! template, *subs, &input_block
83
+ Cmds.new(
84
+ template,
85
+ options(subs, input_block).merge!(assert: true),
86
+ ).capture.out
87
+ end
88
+
89
+
90
+ # @api sugar
91
+ #
92
+ # captures and returns stderr (sugar for `Cmds.capture(*args).err`).
93
+ #
94
+ # @param template [String] see {.capture}.
95
+ # @param subs [Array] see {.capture}.
96
+ # @param input_block [Proc] see {.capture}.
97
+ #
98
+ # @see .capture
99
+ # @see Result#err
100
+ #
101
+ def self.err template, *subs, &input_block
102
+ capture(template, *subs, &input_block).err
103
+ end
104
+
54
105
  # instance methods
55
106
  # ================
56
107
 
@@ -74,4 +125,61 @@ class Cmds
74
125
  end
75
126
  end
76
127
 
128
+
129
+ # @api sugar
130
+ #
131
+ # captures and returns stdout
132
+ # (sugar for `#capture(*subs, &input_block).out`).
133
+ #
134
+ # @param subs [Array] see {.capture}.
135
+ # @param input_block [Proc] see {.capture}.
136
+ #
137
+ # @return [String] the command's stdout.
138
+ #
139
+ # @see #capture
140
+ # @see Result#out
141
+ #
142
+ def out *subs, &input_block
143
+ capture(*subs, &input_block).out
144
+ end
145
+
146
+
147
+ # @api sugar
148
+ #
149
+ # captures and returns stdout
150
+ # (sugar for `#capture(*subs, &input_block).out`).
151
+ #
152
+ # @param subs [Array] see {.capture}.
153
+ # @param input_block [Proc] see {.capture}.
154
+ #
155
+ # @return [String] the command's stdout.
156
+ #
157
+ # @see #capture
158
+ # @see Result#out
159
+ #
160
+ def out! *subs, &input_block
161
+ self.class.new(
162
+ @template,
163
+ merge_options(subs, input_block).merge!(assert: true),
164
+ ).capture.out
165
+ end
166
+
167
+
168
+ # @api sugar
169
+ #
170
+ # captures and returns stdout
171
+ # (sugar for `#capture(*subs, &input_block).err`).
172
+ #
173
+ # @param subs [Array] see {.capture}.
174
+ # @param input_block [Proc] see {.capture}.
175
+ #
176
+ # @return [String] the command's stdout.
177
+ #
178
+ # @see #capture
179
+ # @see Result#err
180
+ #
181
+ def err *subs, &input_block
182
+ capture(*subs, &input_block).err
183
+ end
184
+
77
185
  end # class Cmds
data/lib/cmds/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Cmds
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Cmds.err" do
4
+ it "gets echo error output" do
5
+ expect( Cmds.err "echo %s 1>&2", ["hey there!"] ).to eq "hey there!\n"
6
+ end
7
+
8
+ it "reads input" do
9
+ expect(
10
+ Cmds.err("ruby -e %{script}", script: "$stderr.puts STDIN.read") {
11
+ "hey there!"
12
+ }
13
+ ).to eq "hey there!\n"
14
+ end
15
+ end # Cmds.err
16
+
17
+ describe "Cmds#err" do
18
+ it "gets echo error output" do
19
+ expect( Cmds.new("echo %s 1>&2").err ["hey there!"] ).to eq "hey there!\n"
20
+ end
21
+
22
+ it "reads input" do
23
+ expect(
24
+ Cmds.new("ruby -e %{script}").err(script: "$stderr.puts STDIN.read") {
25
+ "hey there!"
26
+ }
27
+ ).to eq "hey there!\n"
28
+ end
29
+ end # Cmds#err
@@ -0,0 +1,65 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Cmds.out" do
4
+ it "gets echo output" do
5
+ expect( Cmds.out "echo %s", ["hey there!"] ).to eq "hey there!\n"
6
+ end
7
+
8
+ it "reads input" do
9
+ expect(
10
+ Cmds.out("ruby -e %{script}", script: "puts STDIN.read") {
11
+ "hey there!"
12
+ }
13
+ ).to eq "hey there!\n"
14
+ end
15
+ end # Cmds.out
16
+
17
+ describe "Cmds.out!" do
18
+ it "gets echo output" do
19
+ expect( Cmds.out! "echo %s", ["hey there!"] ).to eq "hey there!\n"
20
+ end
21
+
22
+ it "reads input" do
23
+ expect(
24
+ Cmds.out!("ruby -e %{script}", script: "puts STDIN.read") {
25
+ "hey there!"
26
+ }
27
+ ).to eq "hey there!\n"
28
+ end
29
+
30
+ it "errors when the command fails" do
31
+ expect { Cmds.out! "false" }.to raise_error SystemCallError
32
+ end
33
+ end # Cmds.out!
34
+
35
+ describe "Cmds#out" do
36
+ it "gets echo output" do
37
+ expect( Cmds.new("echo %s").out ["hey there!"] ).to eq "hey there!\n"
38
+ end
39
+
40
+ it "reads input" do
41
+ expect(
42
+ Cmds.new("ruby -e %{script}").out(script: "puts STDIN.read") {
43
+ "hey there!"
44
+ }
45
+ ).to eq "hey there!\n"
46
+ end
47
+ end # Cmds#out
48
+
49
+ describe "Cmds#out!" do
50
+ it "gets echo output" do
51
+ expect( Cmds.new("echo %s").out! ["hey there!"] ).to eq "hey there!\n"
52
+ end
53
+
54
+ it "reads input" do
55
+ expect(
56
+ Cmds.new("ruby -e %{script}").out!(script: "puts STDIN.read") {
57
+ "hey there!"
58
+ }
59
+ ).to eq "hey there!\n"
60
+ end
61
+
62
+ it "errors when the command fails" do
63
+ expect { Cmds.new("false").out! }.to raise_error SystemCallError
64
+ end
65
+ end # Cmds#out!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - nrser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-08 00:00:00.000000000 Z
11
+ date: 2015-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nrser
@@ -158,9 +158,11 @@ files:
158
158
  - spec/cmds/capture_spec.rb
159
159
  - spec/cmds/curry_spec.rb
160
160
  - spec/cmds/erb_context_spec.rb
161
+ - spec/cmds/err_spec.rb
161
162
  - spec/cmds/error_spec.rb
162
163
  - spec/cmds/expand_option_hash_spec.rb
163
164
  - spec/cmds/ok_spec.rb
165
+ - spec/cmds/out_spec.rb
164
166
  - spec/cmds/replace_shortcuts_spec.rb
165
167
  - spec/cmds/stream_spec.rb
166
168
  - spec/cmds/sub_spec.rb
@@ -202,9 +204,11 @@ test_files:
202
204
  - spec/cmds/capture_spec.rb
203
205
  - spec/cmds/curry_spec.rb
204
206
  - spec/cmds/erb_context_spec.rb
207
+ - spec/cmds/err_spec.rb
205
208
  - spec/cmds/error_spec.rb
206
209
  - spec/cmds/expand_option_hash_spec.rb
207
210
  - spec/cmds/ok_spec.rb
211
+ - spec/cmds/out_spec.rb
208
212
  - spec/cmds/replace_shortcuts_spec.rb
209
213
  - spec/cmds/stream_spec.rb
210
214
  - spec/cmds/sub_spec.rb