applix 0.4.11 → 0.4.12

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: d3e0cc3a63efd54a150fc9261fedad236cf2e5d1
4
- data.tar.gz: 1703a149b57fcfd93b5cdee98c66a4f53a0f9809
3
+ metadata.gz: 54a476e8df75c875f08de5e5ac9a0a952d20fb50
4
+ data.tar.gz: 22f80002098e75c8a0ed9e492aecf5e12b31a2a5
5
5
  SHA512:
6
- metadata.gz: fda903579759622f6e4854c0bd61581d030908fd798202c1c7b5d81fbeeaf94e565b1e963765c12fd72457b3ecafe5131a2e2a5929aca8d0e059b232ff69e236
7
- data.tar.gz: 5080cd1efba36a17b0386afe2d8b350c54d9815fddf822f5514b32d78350292275c4eb86175cdd58d9fd99b71159b798842efd1df83c9a276a15f4b4e7fcbea8
6
+ metadata.gz: 9657b4faae0275463346437eabd2fcb8d7058fdce52ba2330b9c1f53257080e2442c9429a94b67b39ebef7cca559e69170633b4cd96458dd2f9e21c0e9ee2059
7
+ data.tar.gz: 221e610a1609fb16d73591cce387b1e73655accdff8928f0a56d638ea6b6d599c591c58f3042975ef66527e4d7a5e17c2fc293738931acd42990679a6630f75d
data/.rspec CHANGED
@@ -1 +1 @@
1
- --color --backtrace --format documentation --debug
1
+ --color --backtrace
data/Guardfile CHANGED
@@ -1,7 +1,7 @@
1
1
  # A sample Guardfile
2
2
  # More info at https://github.com/guard/guard#readme
3
3
 
4
- guard :rspec, all_on_start: true, cli: '--format nested --debug --color' do
4
+ guard(:rspec, all_on_start: true) do
5
5
  watch(%r{^spec/.+_spec\.rb$})
6
6
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
7
  watch('spec/spec_helper.rb') { "spec" }
data/README.mkd CHANGED
@@ -52,6 +52,58 @@ becomes:
52
52
 
53
53
  { :foo => true, :bar => 'loo', :args => ["123", "now"] }
54
54
 
55
+ ## Command line micro DSLs with @argsloop@
56
+
57
+ Imagine you have an app which could perform multiple operations on a excel
58
+ sheet. Like reading, validating and reporting. You could put all variations in
59
+ a single command which to call directly from a command line. A better is to
60
+ break down such a procedure into single steps which can be performed
61
+ independently and combined freely on the command line. Example procedure:
62
+
63
+ load <filename>
64
+ select <sheetname>
65
+ validate
66
+ print
67
+
68
+ Now you can make this an applix command line DSL like this:
69
+
70
+ Applix.main(ARGV) do
71
+ any(argsloop: MyExcelApp.new)
72
+ end
73
+
74
+ and calling it like:
75
+
76
+ $ my_app load <filename> select <sheetname> validate print
77
+
78
+ Now to make applix call your app with the right commands and parameters the
79
+ commands just have to take its parameters off the arg vector like this:
80
+
81
+ app.load(args)
82
+ filename = args.shift
83
+ ...
84
+ args
85
+ end
86
+
87
+ app.select(args)
88
+ sheetname = args.shift
89
+ ...
90
+ args
91
+ end
92
+
93
+ app.validate(args)
94
+ ...
95
+ args
96
+ end
97
+
98
+ app.print(args)
99
+ ...
100
+ args
101
+ end
102
+
103
+ Adding new steps now is easy, like instead of print you could make an upload
104
+ to another database for example without the need touch existing code.
105
+
106
+
55
107
  ## Note on Patches/Pull Requests
56
108
 
57
109
  * Fork the project.
data/applix.gemspec CHANGED
@@ -42,10 +42,8 @@ Gem::Specification.new do |s|
42
42
  s.add_development_dependency 'rspec-mocks'
43
43
  s.add_development_dependency 'guard-rspec'
44
44
 
45
- if RUBY_PLATFORM.match /java/i
46
- s.add_development_dependency 'ruby-debug'
47
- else
48
- s.add_development_dependency 'debugger'
45
+ unless RUBY_PLATFORM.match /java/i
46
+ s.add_development_dependency 'byebug'
49
47
  end
50
48
 
51
49
  # version class is read from
data/lib/applix.rb CHANGED
@@ -105,17 +105,29 @@ usage: #{$0} <args...>
105
105
  @epilog_cb = blk
106
106
  end
107
107
 
108
+ # opts[:argsloop], the target for any, may be be class or an object. In case
109
+ # of class we instantiate an object from it, other we use the object itself
108
110
  def any(opts = {}, &blk)
109
111
  if(app = opts[:argsloop])
112
+
110
113
  blk = lambda do |*args, opts|
114
+ # instantiate or assign target object before first usage
115
+ target = (app.is_a? Class) ? app.new(opts) : app
116
+
111
117
  while(args && 0 < args.size) do
112
118
  args = begin
113
119
  if(op = args.shift)
114
120
  puts " --(#{op})-- (#{args.join ', '})"
115
- app.send(op, args, opts)
121
+ if(target == app)
122
+ # object target
123
+ target.send(op, args, opts)
124
+ else
125
+ # object instance created from class target
126
+ target.send(op, *args)
127
+ end
116
128
  end
117
129
  rescue ArgumentError => e
118
- app.send(op, opts)
130
+ target.send(op, opts)
119
131
  end
120
132
  end
121
133
  end
@@ -1,5 +1,5 @@
1
1
  # gem version is extracted automatically from this class during the build
2
2
  # process
3
3
  class Applix
4
- VERSION = '0.4.11'
4
+ VERSION = '0.4.12'
5
5
  end
@@ -2,19 +2,21 @@ require 'spec_helper'
2
2
 
3
3
  describe ApplixHash do
4
4
  it 'parses dashed string options' do
5
- (ApplixHash.parse '--foo-bar').should == ["foo-bar".to_sym, true]
6
- (ApplixHash.parse '--foo-bar=321').should == ["foo-bar".to_sym, '321']
5
+ #(ApplixHash.parse '--foo-bar').should == ["foo-bar".to_sym, true]
6
+ expect(ApplixHash.parse '--foo-bar').to eq(["foo-bar".to_sym, true])
7
+ #(ApplixHash.parse '--foo-bar=321').should == ["foo-bar".to_sym, '321']
8
+ expect(ApplixHash.parse '--foo-bar=321').to eq(["foo-bar".to_sym, '321'])
7
9
  end
8
10
 
9
11
  it "parses the old unit test..." do
10
12
  # -f becomes { :f => true }
11
13
  # --flag becomes { :flag => true }
12
- (ApplixHash.parse '-f').should == [:f, true]
13
- (ApplixHash.parse '--flag').should == [:flag, true]
14
+ expect(ApplixHash.parse '-f').to eq([:f, true])
15
+ expect(ApplixHash.parse '--flag').to eq([:flag, true])
14
16
  # --flag:false becomes { :flag => false }
15
- (ApplixHash.parse '--flag:false').should == [:flag, false]
17
+ expect(ApplixHash.parse '--flag:false').to eq([:flag, false])
16
18
 
17
19
  # --option=value becomes { :option => "value" }
18
- (ApplixHash.parse '--opt=val').should == [:opt, 'val']
20
+ expect(ApplixHash.parse '--opt=val').to eq([:opt, 'val'])
19
21
  end
20
22
  end
data/spec/applix_spec.rb CHANGED
@@ -4,28 +4,28 @@ describe Applix do
4
4
 
5
5
  context 'main' do
6
6
  it 'catches unknown task errors' do
7
- expect { Applix.main(%w(no-such-task)) {} }.not_to raise_error
7
+ expect { Applix.main(%w(0no-such-task)) {} }.not_to raise_error
8
8
  end
9
9
 
10
10
  context 'with captured I/O streams' do
11
11
  it 'prints a minimal (better than nothing?) usage line on errors' do
12
- output = capture(:stdout) { Applix.main(%w(no-such-task)) {} }
13
- output.should =~ /usage: /
12
+ output = capture(:stdout) { Applix.main(%w(1no-such-task)) {} }
13
+ expect(output).to match(/usage: /)
14
14
  end
15
15
 
16
16
  it 'suppresses the callstack on errors' do
17
- output = capture(:stdout) { Applix.main(%w(no-such-task)) {} }
18
- output.should =~ / ## no such task:/
19
- output.should_not =~ / !! no such task:/
17
+ output = capture(:stdout) { Applix.main(%w(expected-task-error-output)) {} }
18
+ expect(output).to match(/ ## no such task:/)
19
+ expect(output).not_to match(/ !! no such task:/)
20
20
  end
21
21
 
22
22
  it 'shows callstack on --debug option' do
23
- output = capture(:stdout) { Applix.main(%w(--debug no-such-task)) {} }
24
- output.should =~ / !! no such task:/
23
+ output = capture(:stdout) { Applix.main(%w(--debug 2no-such-task)) {} }
24
+ expect(output).to match(/ !! no such task:/)
25
25
  end
26
26
 
27
27
  it 'dumps a stacktrace on main with a !' do
28
- expect { Applix.main!(%w(no-such-task)) {} }.
28
+ expect { Applix.main!(%w(3no-such-task)) {} }.
29
29
  to raise_error /no such task:/
30
30
  end
31
31
  end
@@ -46,7 +46,7 @@ describe Applix do
46
46
  end
47
47
 
48
48
  it 'calls cluster prolog' do
49
- Applix.main(%w(foo a b)) do
49
+ expect(Applix.main(%w(foo a b)) do
50
50
  cluster(:foo) do
51
51
  prolog { |args, options|
52
52
  args.should == %w(a b)
@@ -55,12 +55,12 @@ describe Applix do
55
55
  handle(:a) { raise 'should not be called!' }
56
56
  handle(:b) { :b_was_called }
57
57
  end
58
- end.should == :b_was_called
58
+ end).to be(:b_was_called)
59
59
  end
60
60
 
61
61
  it 'support :cluster for nesting' do
62
62
  args = %w(-a -b:2 foo bar p1 p2)
63
- Applix.main(args) do
63
+ expect(Applix.main(args) do
64
64
  handle(:foo) do
65
65
  raise 'should not be called!'
66
66
  end
@@ -71,12 +71,12 @@ describe Applix do
71
71
  args
72
72
  end
73
73
  end
74
- end.should == %w{p1 p2}
74
+ end).to eq(%w{p1 p2})
75
75
  end
76
76
 
77
77
  it 'can even cluster clusters' do
78
78
  args = %w(foo bar f p1 p2)
79
- Applix.main(args) do
79
+ expect(Applix.main(args) do
80
80
  cluster(:foo) do
81
81
  cluster(:bar) do
82
82
  handle(:f) do |*args, options|
@@ -86,36 +86,58 @@ describe Applix do
86
86
  end
87
87
  end
88
88
  end
89
- end.should == %w{p1 p2}
89
+ end).to eq(%w{p1 p2})
90
90
  end
91
91
  end #.cluster
92
92
 
93
- it 'prolog can even temper with arguments to modify the handle sequence' do
94
- Applix.main(['a', 'b']) do
95
- prolog { |args, options|
96
- args.should == ['a', 'b']
97
- args.reverse!
98
- }
99
- handle(:a) { raise 'should not be called!' }
100
- handle(:b) { :b_was_called }
101
- end.should == :b_was_called
102
- end
93
+ context 'prolog invokations' do
94
+ it 'prolog can even temper with arguments to modify the handle sequence' do
95
+ expect(Applix.main(['a', 'b']) do
96
+ prolog { |args, options|
97
+ args.should == ['a', 'b']
98
+ args.reverse!
99
+ }
100
+ handle(:a) { raise 'should not be called!' }
101
+ handle(:b) { :b_was_called }
102
+ end).to eq(:b_was_called)
103
+ end
103
104
 
104
- it 'prolog has read/write access to args and options' do
105
- Applix.main(['func']) do
106
- prolog { |args, options|
107
- args.should == ['func']
108
- options[:prolog] = Time.now
109
- }
105
+ it 'prolog has read/write access to args and options' do
106
+ Applix.main(['func']) do
107
+ prolog { |args, options|
108
+ args.should == ['func']
109
+ options[:prolog] = Time.now
110
+ }
111
+
112
+ handle(:func) { |*_, options|
113
+ options[:prolog]
114
+ }
115
+ end.should_not be_nil
116
+ end
110
117
 
111
- handle(:func) { |*_, options|
112
- options[:prolog]
113
- }
114
- end.should_not == nil
118
+ it 'runs before callback before handle calls' do
119
+ expect(Applix.main(['func']) do
120
+
121
+ # @prolog will be available in handle invocations
122
+ prolog {
123
+ @prolog = :prolog
124
+ }
125
+
126
+ # @epilog will NOT make it into the handle invocation
127
+ epilog { |rc, *_|
128
+ @epilog = :epilog
129
+ rc
130
+ }
131
+
132
+ handle(:func) {
133
+ [@prolog, @epilog]
134
+ }
135
+ end).to eq([:prolog, nil])
136
+ end
115
137
  end
116
138
 
117
139
  it 'epilog has access to task handler results' do
118
- Applix.main(['func']) do
140
+ expect(Applix.main(['func']) do
119
141
  # @epilog will NOT make it into the handle invocation
120
142
  epilog { |rc, *_|
121
143
  rc.should == [1, 2, 3]
@@ -123,27 +145,7 @@ describe Applix do
123
145
  }
124
146
  handle(:func) { [1, 2, 3] }
125
147
 
126
- end.should == [3, 2, 1]
127
- end
128
-
129
- it 'runs before callback before handle calls' do
130
- Applix.main(['func']) do
131
-
132
- # @prolog will be available in handle invocations
133
- prolog {
134
- @prolog = :prolog
135
- }
136
-
137
- # @epilog will NOT make it into the handle invocation
138
- epilog { |rc, *_|
139
- @epilog = :epilog
140
- rc
141
- }
142
-
143
- handle(:func) {
144
- [@prolog, @epilog]
145
- }
146
- end.should == [:prolog, nil]
148
+ end).to eq([3, 2, 1])
147
149
  end
148
150
 
149
151
  it 'runs epilog callback after handle' do
@@ -160,7 +162,7 @@ describe Applix do
160
162
  last_action = :handle
161
163
  }
162
164
  end
163
- last_action.should == :epilog
165
+ expect(last_action).to be(:epilog)
164
166
  end
165
167
 
166
168
  it 'supports :any as fallback on command lines without matching task' do
@@ -194,46 +196,63 @@ describe Applix do
194
196
  end
195
197
  end
196
198
 
197
- it 'loops over args with argsloop app option to any' do
198
- # stubbed app simulates consuming the args while looping over app calls
199
- app = double(:app)
200
- app.should_receive(:a).with(%w(1 b 2 3 c 4 5 6), {}).and_return(%w(b 2 3))
201
- app.should_receive(:b).with(%w(2 3), {}).and_return(%w(c 4 5 6))
202
- app.should_receive(:c).with(%w(4 5 6), {}).and_return([])
203
- Applix.main(%w(a 1 b 2 3 c 4 5 6)) do
204
- handle(:not_called) { raise "can't possible happen" }
205
- any(argsloop: app)
199
+ describe 'any with argsloop' do
200
+ it 'loops over args' do
201
+ # stubbed app simulates consuming the args while looping over app calls
202
+ app = double(:app)
203
+ #app.should_receive(:op1).with(%w(p1 op2 2 3 op3 4 5 6), {}).and_return(%w(op2 2 3))
204
+ expect(app).to receive(:op1).with(%w(p1 op2 2 3 op3 4 5 6), {}).and_return(%w(op2 2 3))
205
+ #app.should_receive(:op2).with(%w(2 3), {}).and_return(%w(op3 4 5 6))
206
+ expect(app).to receive(:op2).with(%w(2 3), {}).and_return(%w(op3 4 5 6))
207
+ #app.should_receive(:op3).with(%w(4 5 6), {}).and_return([])
208
+ expect(app).to receive(:op3).with(%w(4 5 6), {}).and_return([])
209
+ Applix.main(%w(op1 p1 op2 2 3 op3 4 5 6)) do
210
+ handle(:not_called) { raise "can't possible happen" }
211
+ any(argsloop: app)
212
+ end
213
+ end
214
+
215
+ it 'instantiates a class instance' do
216
+ obj = double(:obj)
217
+ clazz = Class.new
218
+ expect(clazz).to receive(:new).with({o: true}).and_return(obj)
219
+ expect(obj).to receive(:p).with('a1', 'a2').and_return([])
220
+ Applix.main(%w(-o p a1 a2)) do
221
+ handle(:not_called) { raise "can't possible happen" }
222
+ any(argsloop: clazz)
223
+ end
206
224
  end
207
225
  end
208
226
 
209
227
  it 'should call actions by first argument names' do
210
228
  argv = ['func']
211
- Applix.main(argv) do
229
+ expect(Applix.main(argv) do
212
230
  handle(:func) { :func_return }
213
- end.should == :func_return
231
+ end).to be(:func_return)
214
232
  end
215
233
 
216
234
  it 'passes arguments to function' do
217
235
  argv = ['func', 'p1', 'p2']
218
236
  subject = Applix.main(argv) { handle(:func) {|*args, options| args} }
219
- subject.should eq(%w(p1 p2))
237
+ expect(subject).to eq(%w(p1 p2))
220
238
  end
221
239
 
222
240
  it 'passes a default options hash to function' do
223
241
  argv = %w(func)
224
- Applix.main(argv) do
242
+ expect(Applix.main(argv) do
225
243
  handle(:func) { |*_, options| options }
226
- end.should eq({})
244
+ end).to eq({})
227
245
  end
228
246
 
229
247
  it 'should pass a processed options hash' do
230
248
  argv = %w(-a --bar func)
231
- Applix.main(argv) do
249
+ expect(Applix.main(argv) do
232
250
  handle(:func) { |*_, options| options }
233
- end.should include(:a => true, :bar => true)
251
+ end).to include(:a => true, :bar => true)
234
252
  end
235
253
 
236
254
  pending 'parses dashes in string options' do
255
+ fail '?'
237
256
  end
238
257
 
239
258
  it "should parse the old unit test..." do
@@ -244,22 +263,22 @@ describe Applix do
244
263
  # --float=2.3 becomes { :float => "2.3" }
245
264
  # --float:2.3 becomes { :float => 2.3 }
246
265
  # -f:1.234 becomes { :f => 1.234 }
247
- (Hash.from_argv ["--int=1"])[:int].should == "1"
248
- (Hash.from_argv ["--int:1"])[:int].should == 1
249
- (Hash.from_argv ["--float=2.3"])[:float].should == "2.3"
250
- (Hash.from_argv ["--float:2.3"])[:float].should == 2.3
251
- (Hash.from_argv ["-f:2.345"])[:f].should == 2.345
266
+ expect((Hash.from_argv ["--int=1"])[:int]).to eq("1")
267
+ expect((Hash.from_argv ["--int:1"])[:int]).to eq(1)
268
+ expect((Hash.from_argv ["--float=2.3"])[:float]).to eq("2.3")
269
+ expect((Hash.from_argv ["--float:2.3"])[:float]).to eq(2.3)
270
+ expect((Hash.from_argv ["-f:2.345"])[:f]).to eq(2.345)
252
271
 
253
272
  # --txt="foo bar" becomes { :txt => "foo bar" }
254
273
  # --txt:'"foo bar"' becomes { :txt => "foo bar" }
255
274
  # --txt:%w{foo bar} becomes { :txt => ["foo", "bar"] }
256
- (Hash.from_argv ['--txt="foo bar"'])[:txt].should == "foo bar"
257
- (Hash.from_argv [%q|--txt:'"foo bar"'|])[:txt].should == "foo bar"
258
- (Hash.from_argv [%q|--txt:'%w{foo bar}'|])[:txt].should == ["foo", "bar"]
275
+ expect((Hash.from_argv ['--txt="foo bar"'])[:txt]).to eq("foo bar")
276
+ expect((Hash.from_argv [%q|--txt:'"foo bar"'|])[:txt]).to eq("foo bar")
277
+ expect((Hash.from_argv [%q|--txt:'%w{foo bar}'|])[:txt]).to eq(["foo", "bar"])
259
278
 
260
279
  # --now:Time.now becomes { :now => Mon Jul 09 01:30:21 0200 2007 }
261
280
  #dt = Time.now - H.parse("--now:Time.now")[1]
262
- (t = (Hash.from_argv ["--now:Time.now"])[:now]).should_not == nil
281
+ expect((t = (Hash.from_argv ["--now:Time.now"])[:now])).to be
263
282
  end
264
283
  end
265
284
 
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,7 @@ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
  #require 'rspec/mocks'
5
5
  require 'applix'
6
6
  require 'applix/oattr'
7
+ require 'byebug'
7
8
 
8
9
  RSpec.configure do |config|
9
10
  config.before :each do
@@ -11,6 +12,13 @@ RSpec.configure do |config|
11
12
 
12
13
  config.after :each do
13
14
  end
15
+
16
+ # disable $crux debug flag after each test
17
+ config.after(:each) { $crux = false }
18
+
19
+ config.expect_with :rspec do |c|
20
+ c.syntax = [:should, :expect]
21
+ end
14
22
  end
15
23
 
16
24
  # captures standard output streams to help testing console I/O
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: applix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.4.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - art+com/dirk luesebrink
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-23 00:00:00.000000000 Z
11
+ date: 2015-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-mocks
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: guard-rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: debugger
98
+ name: byebug
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: "\n ApplixHash#from_argv builds hashes from ARGV like argument vectors\n
@@ -127,11 +127,11 @@ executables: []
127
127
  extensions: []
128
128
  extra_rdoc_files: []
129
129
  files:
130
- - .autotest
131
- - .document
132
- - .gitignore
133
- - .rspec
134
- - .travis.yml
130
+ - ".autotest"
131
+ - ".document"
132
+ - ".gitignore"
133
+ - ".rspec"
134
+ - ".travis.yml"
135
135
  - Gemfile
136
136
  - Guardfile
137
137
  - LICENSE
@@ -155,17 +155,17 @@ require_paths:
155
155
  - lib
156
156
  required_ruby_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - '>='
158
+ - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  required_rubygems_version: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - '>='
163
+ - - ">="
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  requirements: []
167
167
  rubyforge_project:
168
- rubygems_version: 2.0.3
168
+ rubygems_version: 2.4.2
169
169
  signing_key:
170
170
  specification_version: 4
171
171
  summary: extracting typed option hashes from command line arguments