command-builder 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6e53978dd419ed520039e31552e486d4fb5071ff
4
+ data.tar.gz: 56a7bcd301c5f7852dbf1caa0d6320c5533a2f61
5
+ SHA512:
6
+ metadata.gz: f5e0fbbaf5c352d58d818b946e3da891ed2a61ab327dc654c6c81bec3bd5aada5194c31296777d173695964d5c9faea8c46702364ab49000454372dcd41d4711
7
+ data.tar.gz: d2af5c0fb4cf94f318376731c3d51fa9eb5e7c6d14376ccf4af83e5192f2fbb2e01722c9ea9002a1f9cd1f7565820d3723bdf084fff275b3588a9b6368dc796f
@@ -1,4 +1,7 @@
1
1
 
2
+ 0.3.2 (2015-07-18)
3
+ * 'hash-utils' dependency removed
4
+
2
5
  0.3.1 (2012-10-06)
3
6
  * #empty? method added
4
7
 
@@ -21,5 +24,5 @@
21
24
  * #reset method added
22
25
  * internal switch to more modern 'hash-utils'
23
26
 
24
- 0.1.0 (2011-02-16)
27
+ 0.1.0 (2011-02-16)
25
28
  * initial version
data/Gemfile CHANGED
@@ -1,7 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
- gem "hash-utils", ">= 0.18.0"
5
4
  gem "pipe-run", ">= 0.2.1"
6
5
 
7
6
  # Add dependencies to develop your gem here.
@@ -1,26 +1,58 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- git (1.2.5)
5
- hash-utils (2.0.1)
6
- ruby-version
7
- jeweler (1.8.4)
8
- bundler (~> 1.0)
4
+ addressable (2.3.8)
5
+ builder (3.2.2)
6
+ descendants_tracker (0.0.4)
7
+ thread_safe (~> 0.3, >= 0.3.1)
8
+ faraday (0.9.1)
9
+ multipart-post (>= 1.2, < 3)
10
+ git (1.2.9.1)
11
+ github_api (0.12.3)
12
+ addressable (~> 2.3)
13
+ descendants_tracker (~> 0.0.4)
14
+ faraday (~> 0.8, < 0.10)
15
+ hashie (>= 3.3)
16
+ multi_json (>= 1.7.5, < 2.0)
17
+ nokogiri (~> 1.6.3)
18
+ oauth2
19
+ hashie (3.4.2)
20
+ highline (1.7.2)
21
+ jeweler (2.0.1)
22
+ builder
23
+ bundler (>= 1.0)
9
24
  git (>= 1.2.5)
25
+ github_api
26
+ highline (>= 1.6.15)
27
+ nokogiri (>= 1.5.10)
10
28
  rake
11
29
  rdoc
12
- json (1.7.5)
30
+ jwt (1.5.1)
31
+ mini_portile (0.6.2)
32
+ multi_json (1.11.2)
33
+ multi_xml (0.5.5)
34
+ multipart-post (2.0.0)
35
+ nokogiri (1.6.6.2)
36
+ mini_portile (~> 0.6.0)
37
+ oauth2 (1.0.0)
38
+ faraday (>= 0.8, < 0.10)
39
+ jwt (~> 1.0)
40
+ multi_json (~> 1.3)
41
+ multi_xml (~> 0.5)
42
+ rack (~> 1.2)
13
43
  pipe-run (0.3.0)
14
- rake (0.9.2.2)
15
- rdoc (3.12)
16
- json (~> 1.4)
17
- ruby-version (0.4.2)
44
+ rack (1.6.4)
45
+ rake (10.4.2)
46
+ rdoc (4.2.0)
47
+ thread_safe (0.3.5)
18
48
 
19
49
  PLATFORMS
20
50
  ruby
21
51
 
22
52
  DEPENDENCIES
23
53
  bundler (>= 1.0.0)
24
- hash-utils (>= 0.18.0)
25
54
  jeweler
26
55
  pipe-run (>= 0.2.1)
56
+
57
+ BUNDLED WITH
58
+ 1.10.5
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 - 2012 Martin Kozák (martinkozak@martinkozak.net)
1
+ Copyright (c) 2011 - 2015 Martin Kozák (martinkozak@martinkozak.net)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,25 +1,29 @@
1
1
  Command Builder
2
2
  ===============
3
3
 
4
- **command-builder** builds command runnable from shell by simple and
5
- ellegant way. Also allows both synchronous executing or asynchronous
6
- one using [EventMachine][1]. Here is an real example of call
4
+ **command-builder** builds command runnable from shell by simple and
5
+ ellegant way. Also allows both synchronous executing or asynchronous
6
+ one using [EventMachine][1]. Here is an real example of call
7
7
  to `jpegoptim`:
8
8
 
9
+ ```ruby
9
10
  require "command-builder"
10
11
  cmd = CommandBuilder::new(:jpegoptim)
11
-
12
+
12
13
  cmd.arg(:m, 2)
13
14
  cmd << :preserve
14
15
  cmd << "image.jpg"
15
-
16
+
16
17
  cmd.to_s # will return 'jpegoptim -m 2 --preserve image.jpg'
17
-
18
- Value escaping and assignments are supported automatically of sure,
18
+ ```
19
+
20
+ Value escaping and assignments are supported automatically of sure,
19
21
  so call:
20
22
 
23
+ ```ruby
21
24
  cmd.arg(:dest, './it\'s "my" folder')
22
-
25
+ ```
26
+
23
27
  …will be interpreted as `jpegoptim --dest="it's \"my\" folder"`. It also
24
28
  takes spaces into the account.
25
29
 
@@ -31,9 +35,9 @@ Command can be executed directly by call:
31
35
  cmd.execute do |output| # ...for asynchronous executing
32
36
  # ...
33
37
  end
34
-
38
+
35
39
  Asynchronous executing requires [EventMachine][1] environment to be run.
36
-
40
+
37
41
 
38
42
  ### Flexibility
39
43
 
@@ -41,31 +45,22 @@ Syntax described above is supported by default, but you can achieve for
41
45
  example an Windows like syntax:
42
46
 
43
47
  jpegoptim /m:2 -dest "directory"
44
-
48
+
45
49
  …simply by assigning:
46
50
 
51
+ ```ruby
47
52
  cmd.separators = ["/", ":", "-", " "]
53
+ ```
48
54
 
49
55
  For illustration, the default one is `["-", " ", "--", "="]`.
50
56
 
51
-
52
- Contributing
53
- ------------
54
-
55
- 1. Fork it.
56
- 2. Create a branch (`git checkout -b 20101220-my-change`).
57
- 3. Commit your changes (`git commit -am "Added something"`).
58
- 4. Push to the branch (`git push origin 20101220-my-change`).
59
- 5. Create an [Issue][2] with a link to your branch.
60
- 6. Enjoy a refreshing Diet Coke and wait.
61
-
62
57
 
63
58
  Copyright
64
59
  ---------
65
60
 
66
- Copyright &copy; 2011 [Martin Kozák][3]. See `LICENSE.txt` for
61
+ Copyright &copy; 2011 &ndash; 2015 [Martin Poljak][3]. See `LICENSE.txt` for
67
62
  further details.
68
63
 
69
64
  [1]: http://rubyeventmachine.com/
70
65
  [2]: http://github.com/martinkozak/command-builder/issues
71
- [3]: http://www.martinkozak.net/
66
+ [3]: http://www.martinpoljak.net/
data/Rakefile CHANGED
@@ -19,8 +19,8 @@ Jeweler::Tasks.new do |gem|
19
19
  gem.homepage = "https://github.com/martinkozak/command-builder"
20
20
  gem.license = "MIT"
21
21
  gem.summary = 'Builds command runnable from shell by simple and elegant way. Allows both synchronous executing or asynchronous using EventMachine.'
22
- gem.email = "martinkozak@martinkozak.net"
23
- gem.authors = ["Martin Kozák"]
22
+ gem.email = "martin@poljak.cz"
23
+ gem.authors = ["Martin Poljak"]
24
24
  # Include your dependencies below. Runtime dependencies are required when using your gem,
25
25
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
26
26
  # gem.add_runtime_dependency 'jabber4r', '> 0.1'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -2,15 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: command-builder 0.3.2 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "command-builder"
8
- s.version = "0.3.1"
9
+ s.version = "0.3.2"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Martin Koz\u{e1}k"]
12
- s.date = "2012-10-06"
13
- s.email = "martinkozak@martinkozak.net"
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Martin Poljak"]
14
+ s.date = "2015-07-18"
15
+ s.email = "martin@poljak.cz"
14
16
  s.extra_rdoc_files = [
15
17
  "LICENSE.txt",
16
18
  "README.md"
@@ -30,26 +32,22 @@ Gem::Specification.new do |s|
30
32
  ]
31
33
  s.homepage = "https://github.com/martinkozak/command-builder"
32
34
  s.licenses = ["MIT"]
33
- s.require_paths = ["lib"]
34
- s.rubygems_version = "1.8.24"
35
+ s.rubygems_version = "2.4.5"
35
36
  s.summary = "Builds command runnable from shell by simple and elegant way. Allows both synchronous executing or asynchronous using EventMachine."
36
37
 
37
38
  if s.respond_to? :specification_version then
38
- s.specification_version = 3
39
+ s.specification_version = 4
39
40
 
40
41
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
- s.add_runtime_dependency(%q<hash-utils>, [">= 0.18.0"])
42
42
  s.add_runtime_dependency(%q<pipe-run>, [">= 0.2.1"])
43
43
  s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
44
44
  s.add_development_dependency(%q<jeweler>, [">= 0"])
45
45
  else
46
- s.add_dependency(%q<hash-utils>, [">= 0.18.0"])
47
46
  s.add_dependency(%q<pipe-run>, [">= 0.2.1"])
48
47
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
49
48
  s.add_dependency(%q<jeweler>, [">= 0"])
50
49
  end
51
50
  else
52
- s.add_dependency(%q<hash-utils>, [">= 0.18.0"])
53
51
  s.add_dependency(%q<pipe-run>, [">= 0.2.1"])
54
52
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
55
53
  s.add_dependency(%q<jeweler>, [">= 0"])
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # (c) 2011-2012 Martin Kozák (martinkozak@martinkozak.net)
3
+ # (c) 2011-2015 Martin Poljak (martin@poljak.cz)
4
4
  # Patched by Jacob Evans (jacob@dekz.net).
5
5
 
6
- require "hash-utils/object"
7
- require "hash-utils/array"
8
6
  require "shellwords"
9
7
  require "pipe-run"
10
8
 
@@ -21,7 +19,7 @@ class CommandBuilder
21
19
 
22
20
  attr_accessor :command
23
21
  @command
24
-
22
+
25
23
  ##
26
24
  # Holds separators matrix. It's four-items array:
27
25
  # - short argument separator,
@@ -36,12 +34,12 @@ class CommandBuilder
36
34
  #
37
35
  # @return [Array] separators matrix
38
36
  #
39
-
37
+
40
38
  attr_accessor :separators
41
39
  @separators
42
-
40
+
43
41
  ##
44
- # Holds arguments array. Each item is array pair with argument
42
+ # Holds arguments array. Each item is array pair with argument
45
43
  # name and value.
46
44
  #
47
45
  # @return [Array] array of argument pairs
@@ -49,13 +47,13 @@ class CommandBuilder
49
47
 
50
48
  attr_accessor :args
51
49
  @args
52
-
50
+
53
51
  ##
54
52
  # Holds parameters array.
55
53
  #
56
-
54
+
57
55
  @params
58
-
56
+
59
57
  ##
60
58
  # Constructor.
61
59
  #
@@ -63,17 +61,17 @@ class CommandBuilder
63
61
  # @param [Array] separators separators matrix
64
62
  # @see #separators
65
63
  #
66
-
64
+
67
65
  def initialize(command, separators = ["-", " ", "--", "="])
68
66
  @command = command
69
67
  @separators = separators
70
68
  self.reset!
71
69
  end
72
-
70
+
73
71
  ##
74
72
  # Adds argument to command.
75
73
  #
76
- # One-letter arguments will be treated as "short" arguments for the
74
+ # One-letter arguments will be treated as "short" arguments for the
77
75
  # syntax purposes, other as "long". See {#separators}.
78
76
  #
79
77
  # @example with default set of {#separators}
@@ -87,46 +85,46 @@ class CommandBuilder
87
85
  # @cmd[:m] = 2 # will be rendered as 'jpegoptim -m 2'
88
86
  # @cmd[:max] = 2 # will be rendered as 'jpegoptim -m 2 --max=2'
89
87
  #
90
- # # But be warn, it pushes to arguments array as you can se, so
88
+ # # But be warn, it pushes to arguments array as you can se, so
91
89
  # # already existing values will not be replaced!
92
90
  #
93
91
  # @param [String, Symbol] name of the argument
94
92
  # @param [Object] value of the argument
95
93
  #
96
-
94
+
97
95
  def argument(name, value = nil)
98
96
  @args << [name, value]
99
97
  @order << :argument
100
98
  end
101
-
99
+
102
100
  alias :arg :argument
103
101
  alias :[]= :argument
104
-
102
+
105
103
  ##
106
104
  # Returns array of argument pairs with given name.
107
105
  #
108
106
  # @param [String, Symbol] name argument name
109
107
  # @return [Array] array of array pairs with this name
110
108
  #
111
-
109
+
112
110
  def [](name)
113
- @args.select { |k, v| name == k }
111
+ @args.select { |k, v| name == k }
114
112
  end
115
-
113
+
116
114
  ##
117
115
  # Adds parameter to command.
118
116
  # @param [Object] value value of the prameter convertable to String.
119
- #
120
-
117
+ #
118
+
121
119
  def parameter(value)
122
120
  @params << value
123
121
  @order << :parameter
124
122
  end
125
-
123
+
126
124
  alias :param :parameter
127
-
125
+
128
126
  ##
129
- # Adds multiple parameters to command at once. If no values are
127
+ # Adds multiple parameters to command at once. If no values are
130
128
  # given, returns the current parameters array.
131
129
  #
132
130
  # @overload parameters
@@ -137,7 +135,7 @@ class CommandBuilder
137
135
  # @param [Array] values array of values
138
136
  # @see #parameter
139
137
  #
140
-
138
+
141
139
  def parameters(values = nil)
142
140
  if values.nil?
143
141
  return @params
@@ -147,7 +145,7 @@ class CommandBuilder
147
145
  @order.push(*orders)
148
146
  end
149
147
  end
150
-
148
+
151
149
  alias :params :parameters
152
150
 
153
151
  ##
@@ -174,25 +172,25 @@ class CommandBuilder
174
172
  # cmd << :preserve # will be rendered as 'jpegoptim --preserve'
175
173
  # cmd << "file.jpg" # will be rendered as 'jpegoptiom --preserve file.jpg'
176
174
  #
177
-
175
+
178
176
  def add(option, value = nil)
179
- if option.symbol? or not value.nil?
177
+ if option.kind_of? Symbol or not value.nil?
180
178
  self.argument(option, value)
181
- elsif option.array?
179
+ elsif option.kind_of? Array
182
180
  self.parameters(option)
183
181
  else
184
182
  self.parameter(option)
185
183
  end
186
184
  end
187
-
185
+
188
186
  alias :<< :add
189
-
187
+
190
188
  ##
191
189
  # Quotes value for use in command line.
192
190
  #
193
- # Uses some heuristic for setting the right quotation. If both
191
+ # Uses some heuristic for setting the right quotation. If both
194
192
  # " and ' are found, escapes ' by \ and quotes by ". If only one of
195
- # them found, escapes by the second one. If space found in the
193
+ # them found, escapes by the second one. If space found in the
196
194
  # string, quotes by " too.
197
195
  #
198
196
  # @example
@@ -205,21 +203,21 @@ class CommandBuilder
205
203
  # @param [String] value string for escaping
206
204
  # @return [String] quoted value
207
205
  #
208
-
206
+
209
207
  def quote(value)
210
208
  value = value.to_s
211
209
  Shellwords::escape(value)
212
210
  end
213
-
211
+
214
212
  ##
215
- # Executes the command. If block given, takes it output of the
213
+ # Executes the command. If block given, takes it output of the
216
214
  # command and runs it asynchronously using EventMachine.
217
215
  #
218
216
  # @see https://github.com/martinkozak/pipe-run
219
217
  # @param [Proc] block if asynchronous run
220
218
  # @return [String] output of the command or nil if asynchronous
221
219
  #
222
-
220
+
223
221
  def execute(&block)
224
222
  callback = nil
225
223
  if not block.nil?
@@ -227,14 +225,14 @@ class CommandBuilder
227
225
  block.call(out, out.strip.empty?)
228
226
  end
229
227
  end
230
-
228
+
231
229
  Pipe::run(self.to_s, &callback)
232
230
  end
233
-
231
+
234
232
  alias :exec :execute
235
233
  alias :"exec!" :execute
236
234
  alias :"execute!" :execute
237
-
235
+
238
236
  ##
239
237
  # Converts command to string.
240
238
  # @return [String] command in string form
@@ -244,7 +242,7 @@ class CommandBuilder
244
242
  cmd = @command.to_s.gsub(" ", "\\ ")
245
243
  args = @args.dup
246
244
  params = @params.dup
247
-
245
+
248
246
  @order.each do |type|
249
247
  if type == :argument
250
248
  name, value = args.shift
@@ -257,62 +255,62 @@ class CommandBuilder
257
255
 
258
256
  return cmd
259
257
  end
260
-
258
+
261
259
  ##
262
260
  # Resets the arguments and parameters so prepares it for new build.
263
261
  #
264
262
  # @return [CommandBuilder] self instance
265
263
  # @since 0.1.1
266
264
  #
267
-
265
+
268
266
  def reset!
269
267
  @args = [ ]
270
268
  @params = [ ]
271
269
  @order = [ ]
272
270
  self
273
271
  end
274
-
272
+
275
273
  alias :reset :"reset!"
276
-
274
+
277
275
 
278
276
  ##
279
277
  # Returns whether this command has any either arguments or parameters set.
280
278
  # @return [Boolean]
281
279
  #
282
-
280
+
283
281
  def empty?
284
282
  @args.empty? and @params.empty?
285
283
  end
286
-
284
+
287
285
  private
288
-
286
+
289
287
  ##
290
288
  # Adds argument to command.
291
289
  #
292
-
290
+
293
291
  def __add_arg(cmd, name, value)
294
292
  cmd << " "
295
293
  name = name.to_s
296
-
294
+
297
295
  # Name
298
296
  short = (name.length == 1)
299
-
297
+
300
298
  if short
301
- cmd << @separators.first
299
+ cmd << @separators[0]
302
300
  else
303
- cmd << @separators.third
301
+ cmd << @separators[2]
304
302
  end
305
303
  cmd << name
306
-
304
+
307
305
  # Value
308
306
  if not value.nil?
309
307
  if short
310
- cmd << @separators.second
308
+ cmd << @separators[1]
311
309
  else
312
- cmd << @separators.fourth
310
+ cmd << @separators[3]
313
311
  end
314
312
  cmd << self.quote(value.to_s)
315
313
  end
316
314
  end
317
-
315
+
318
316
  end
metadata CHANGED
@@ -1,89 +1,66 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: command-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
5
- prerelease:
4
+ version: 0.3.2
6
5
  platform: ruby
7
6
  authors:
8
- - Martin Kozák
7
+ - Martin Poljak
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-10-06 00:00:00.000000000 Z
11
+ date: 2015-07-18 00:00:00.000000000 Z
13
12
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: hash-utils
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 0.18.0
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 0.18.0
30
13
  - !ruby/object:Gem::Dependency
31
14
  name: pipe-run
32
15
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
16
  requirements:
35
- - - ! '>='
17
+ - - ">="
36
18
  - !ruby/object:Gem::Version
37
19
  version: 0.2.1
38
20
  type: :runtime
39
21
  prerelease: false
40
22
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
23
  requirements:
43
- - - ! '>='
24
+ - - ">="
44
25
  - !ruby/object:Gem::Version
45
26
  version: 0.2.1
46
27
  - !ruby/object:Gem::Dependency
47
28
  name: bundler
48
29
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
30
  requirements:
51
- - - ! '>='
31
+ - - ">="
52
32
  - !ruby/object:Gem::Version
53
33
  version: 1.0.0
54
34
  type: :development
55
35
  prerelease: false
56
36
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
37
  requirements:
59
- - - ! '>='
38
+ - - ">="
60
39
  - !ruby/object:Gem::Version
61
40
  version: 1.0.0
62
41
  - !ruby/object:Gem::Dependency
63
42
  name: jeweler
64
43
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
44
  requirements:
67
- - - ! '>='
45
+ - - ">="
68
46
  - !ruby/object:Gem::Version
69
47
  version: '0'
70
48
  type: :development
71
49
  prerelease: false
72
50
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
51
  requirements:
75
- - - ! '>='
52
+ - - ">="
76
53
  - !ruby/object:Gem::Version
77
54
  version: '0'
78
55
  description:
79
- email: martinkozak@martinkozak.net
56
+ email: martin@poljak.cz
80
57
  executables: []
81
58
  extensions: []
82
59
  extra_rdoc_files:
83
60
  - LICENSE.txt
84
61
  - README.md
85
62
  files:
86
- - .document
63
+ - ".document"
87
64
  - CHANGES.txt
88
65
  - Gemfile
89
66
  - Gemfile.lock
@@ -97,30 +74,26 @@ files:
97
74
  homepage: https://github.com/martinkozak/command-builder
98
75
  licenses:
99
76
  - MIT
77
+ metadata: {}
100
78
  post_install_message:
101
79
  rdoc_options: []
102
80
  require_paths:
103
81
  - lib
104
82
  required_ruby_version: !ruby/object:Gem::Requirement
105
- none: false
106
83
  requirements:
107
- - - ! '>='
84
+ - - ">="
108
85
  - !ruby/object:Gem::Version
109
86
  version: '0'
110
- segments:
111
- - 0
112
- hash: -4410984132637987331
113
87
  required_rubygems_version: !ruby/object:Gem::Requirement
114
- none: false
115
88
  requirements:
116
- - - ! '>='
89
+ - - ">="
117
90
  - !ruby/object:Gem::Version
118
91
  version: '0'
119
92
  requirements: []
120
93
  rubyforge_project:
121
- rubygems_version: 1.8.24
94
+ rubygems_version: 2.4.5
122
95
  signing_key:
123
- specification_version: 3
96
+ specification_version: 4
124
97
  summary: Builds command runnable from shell by simple and elegant way. Allows both
125
98
  synchronous executing or asynchronous using EventMachine.
126
99
  test_files: []