array_enumerator 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 886b0a972c29f5806d9c556cb9c212b4cd5e107a
4
- data.tar.gz: 9bbd84df8ad76af18fca06f1c1c2278fd672dd3e
3
+ metadata.gz: 717b631e00dfada746e1fb188835e71463d661ff
4
+ data.tar.gz: 295e77d737a45b2c44e89b84b27ef53a85c9a218
5
5
  SHA512:
6
- metadata.gz: 0027e5400913049582dbd0b53fdb96fd26984fcd64ecb99604be18d2c21689a1f9064861b48543a4bbc9cc27f42c6c26966b8cf00ed51660d090224576e335a7
7
- data.tar.gz: 30682aa4a63b7157722db7fc2dfe55615224fb29511570fbef91a767d99c791b3b646be04aea539cf09012d3f17c58969f787730368d8c32c3fe136bb01ace7c
6
+ metadata.gz: cd6b34c9b01b1db40506eb7daa8299291d501bc714e138d3c7d611e5c805d53395b9feaac593e52d5f6650320bbb8b730c0215a7421a21622931f6aae41bc364
7
+ data.tar.gz: ba4d6c33d2fe1c8909ea669a6af599232004100b4024cfbd2b5f7a073d091acb2b210de7c8283b903e218202bc383de3fe7b7ed4cbbb1733706a03400f4f9d03
data/Gemfile CHANGED
@@ -6,10 +6,10 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem "rspec", "~> 2.8.0"
10
- gem "rdoc", "~> 3.12"
11
- gem "bundler", ">= 1.0.0"
12
- gem "jeweler", "~> 1.8.8"
9
+ gem "rspec", "~> 3.3.0"
10
+ gem "rdoc", "~> 4.2.0"
11
+ gem "bundler", "~> 1.9.2"
12
+ gem "jeweler", "~> 2.0.1"
13
13
  end
14
14
 
15
15
  gem "codeclimate-test-reporter", group: :test, require: nil
@@ -1,69 +1,80 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.6)
4
+ addressable (2.3.8)
5
5
  builder (3.2.2)
6
- codeclimate-test-reporter (0.4.3)
6
+ codeclimate-test-reporter (0.4.7)
7
7
  simplecov (>= 0.7.1, < 1.0.0)
8
- diff-lcs (1.1.3)
8
+ descendants_tracker (0.0.4)
9
+ thread_safe (~> 0.3, >= 0.3.1)
10
+ diff-lcs (1.2.5)
9
11
  docile (1.1.5)
10
- faraday (0.8.9)
11
- multipart-post (~> 1.2.0)
12
- git (1.2.8)
13
- github_api (0.10.1)
14
- addressable
15
- faraday (~> 0.8.1)
16
- hashie (>= 1.2)
17
- multi_json (~> 1.4)
18
- nokogiri (~> 1.5.2)
12
+ faraday (0.9.1)
13
+ multipart-post (>= 1.2, < 3)
14
+ git (1.2.9.1)
15
+ github_api (0.12.3)
16
+ addressable (~> 2.3)
17
+ descendants_tracker (~> 0.0.4)
18
+ faraday (~> 0.8, < 0.10)
19
+ hashie (>= 3.3)
20
+ multi_json (>= 1.7.5, < 2.0)
21
+ nokogiri (~> 1.6.3)
19
22
  oauth2
20
- hashie (3.3.2)
21
- highline (1.6.21)
22
- jeweler (1.8.8)
23
+ hashie (3.4.2)
24
+ highline (1.7.2)
25
+ jeweler (2.0.1)
23
26
  builder
24
- bundler (~> 1.0)
27
+ bundler (>= 1.0)
25
28
  git (>= 1.2.5)
26
- github_api (= 0.10.1)
29
+ github_api
27
30
  highline (>= 1.6.15)
28
- nokogiri (= 1.5.10)
31
+ nokogiri (>= 1.5.10)
29
32
  rake
30
33
  rdoc
31
- json (1.8.1)
32
- jwt (1.2.0)
33
- multi_json (1.10.1)
34
+ json (1.8.3)
35
+ jwt (1.5.1)
36
+ mini_portile (0.6.2)
37
+ multi_json (1.11.2)
34
38
  multi_xml (0.5.5)
35
- multipart-post (1.2.0)
36
- nokogiri (1.5.10)
39
+ multipart-post (2.0.0)
40
+ nokogiri (1.6.6.2)
41
+ mini_portile (~> 0.6.0)
37
42
  oauth2 (1.0.0)
38
43
  faraday (>= 0.8, < 0.10)
39
44
  jwt (~> 1.0)
40
45
  multi_json (~> 1.3)
41
46
  multi_xml (~> 0.5)
42
47
  rack (~> 1.2)
43
- rack (1.6.0)
48
+ rack (1.6.4)
44
49
  rake (10.4.2)
45
- rdoc (3.12.2)
50
+ rdoc (4.2.0)
46
51
  json (~> 1.4)
47
- rspec (2.8.0)
48
- rspec-core (~> 2.8.0)
49
- rspec-expectations (~> 2.8.0)
50
- rspec-mocks (~> 2.8.0)
51
- rspec-core (2.8.0)
52
- rspec-expectations (2.8.0)
53
- diff-lcs (~> 1.1.2)
54
- rspec-mocks (2.8.0)
55
- simplecov (0.9.1)
52
+ rspec (3.3.0)
53
+ rspec-core (~> 3.3.0)
54
+ rspec-expectations (~> 3.3.0)
55
+ rspec-mocks (~> 3.3.0)
56
+ rspec-core (3.3.1)
57
+ rspec-support (~> 3.3.0)
58
+ rspec-expectations (3.3.0)
59
+ diff-lcs (>= 1.2.0, < 2.0)
60
+ rspec-support (~> 3.3.0)
61
+ rspec-mocks (3.3.1)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.3.0)
64
+ rspec-support (3.3.0)
65
+ simplecov (0.10.0)
56
66
  docile (~> 1.1.0)
57
- multi_json (~> 1.0)
58
- simplecov-html (~> 0.8.0)
59
- simplecov-html (0.8.0)
67
+ json (~> 1.8)
68
+ simplecov-html (~> 0.10.0)
69
+ simplecov-html (0.10.0)
70
+ thread_safe (0.3.5)
60
71
 
61
72
  PLATFORMS
62
73
  ruby
63
74
 
64
75
  DEPENDENCIES
65
- bundler (>= 1.0.0)
76
+ bundler (~> 1.9.2)
66
77
  codeclimate-test-reporter
67
- jeweler (~> 1.8.8)
68
- rdoc (~> 3.12)
69
- rspec (~> 2.8.0)
78
+ jeweler (~> 2.0.1)
79
+ rdoc (~> 4.2.0)
80
+ rspec (~> 3.3.0)
data/README.md CHANGED
@@ -38,12 +38,18 @@ a_enum = ArrayEnumerator.new(enum)
38
38
  Call array-methods like you normally would:
39
39
  ```ruby
40
40
  a_enum.empty? #=> false
41
+ a_enum.none? => false
42
+ a_enum.any? => true
41
43
  a_enum.first #=> 1
42
44
  a_enum.shift #=> 2
43
45
  a_enum[2] #=> 3
44
46
  a_enum.each_index { |count| puts "Count: #{count}" }
45
47
  a_enum.length #=> 3
46
48
  a_enum.select { |element| element.to_f }.to_a #=> [0.0, 1.0, 2.0 etc]
49
+ a_enum << 1001 # push also works
50
+ a_enum.unshift -1
51
+ a_enum.min #=> 0
52
+ a_enum.max #=> 999
47
53
  ```
48
54
 
49
55
  ### Collect
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.9
1
+ 0.0.10
@@ -2,16 +2,16 @@
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: array_enumerator 0.0.9 ruby lib
5
+ # stub: array_enumerator 0.0.10 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "array_enumerator"
9
- s.version = "0.0.9"
9
+ s.version = "0.0.10"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Kasper Johansen"]
14
- s.date = "2015-07-04"
14
+ s.date = "2015-07-05"
15
15
  s.description = "Enumerator abstraction layer that emulates certain array functionality (methods like empty?, slice, shift and more) by using a small cache and other tricks without loading all the data from the enumerator at the same time."
16
16
  s.email = "k@spernj.org"
17
17
  s.extra_rdoc_files = [
@@ -35,28 +35,28 @@ Gem::Specification.new do |s|
35
35
  ]
36
36
  s.homepage = "http://github.com/kaspernj/array_enumerator"
37
37
  s.licenses = ["MIT"]
38
- s.rubygems_version = "2.2.2"
38
+ s.rubygems_version = "2.4.0"
39
39
  s.summary = "Enumerator abstraction layer that emulates certain array functionality (methods)."
40
40
 
41
41
  if s.respond_to? :specification_version then
42
42
  s.specification_version = 4
43
43
 
44
44
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
- s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
46
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
47
- s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
48
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.8"])
45
+ s.add_development_dependency(%q<rspec>, ["~> 3.3.0"])
46
+ s.add_development_dependency(%q<rdoc>, ["~> 4.2.0"])
47
+ s.add_development_dependency(%q<bundler>, ["~> 1.9.2"])
48
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
49
49
  else
50
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
51
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
52
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
53
- s.add_dependency(%q<jeweler>, ["~> 1.8.8"])
50
+ s.add_dependency(%q<rspec>, ["~> 3.3.0"])
51
+ s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
52
+ s.add_dependency(%q<bundler>, ["~> 1.9.2"])
53
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
54
54
  end
55
55
  else
56
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
57
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
58
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
59
- s.add_dependency(%q<jeweler>, ["~> 1.8.8"])
56
+ s.add_dependency(%q<rspec>, ["~> 3.3.0"])
57
+ s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.9.2"])
59
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
60
60
  end
61
61
  end
62
62
 
@@ -3,6 +3,8 @@ class ArrayEnumerator
3
3
  class ArrayCorruptedError < RuntimeError; end
4
4
  class CannotCallBeforeEnd < RuntimeError; end
5
5
 
6
+ include Enumerable
7
+
6
8
  # Takes an enumerator to work with as argument.
7
9
  def initialize(enum = nil, &blk)
8
10
  if enum
@@ -16,6 +18,9 @@ class ArrayEnumerator
16
18
  raise "No enum or block was given."
17
19
  end
18
20
 
21
+ @eles = []
22
+ @end_eles = []
23
+
19
24
  # Used to calculate length without depending corruption.
20
25
  @length_cache = 0
21
26
 
@@ -26,17 +31,31 @@ class ArrayEnumerator
26
31
  @mutex = Mutex.new
27
32
  end
28
33
 
34
+ def push(object)
35
+ raise ArrayCorruptedError if @end
36
+ @end_eles << object
37
+ end
38
+
39
+ def <<(object)
40
+ push(object)
41
+ end
42
+
43
+ def unshift(object)
44
+ check_corrupted
45
+ @eles << object
46
+ end
47
+
29
48
  # Cache the first elements (if not cached already) and returns it.
30
49
  def first
31
50
  check_corrupted
32
- cache_ele if !@eles || @eles.empty?
51
+ cache_ele if @eles.empty?
33
52
  return @eles.first
34
53
  end
35
54
 
36
- # Returns true if the array is empty.
55
+ # Returns true if the array-enumerator is empty.
37
56
  def empty?
38
57
  if @empty == nil
39
- cache_ele if !@eles
58
+ cache_ele if @length_cache == 0
40
59
 
41
60
  if @length_cache > 0
42
61
  @empty = false
@@ -109,21 +128,23 @@ class ArrayEnumerator
109
128
  end
110
129
  end
111
130
 
112
- # Returns a enumerator that can yield the all the lements (both cached and future un-cached ones).
131
+ # Returns a enumerator that can yield all the elements (both cached and future un-cached ones).
113
132
  def to_enum
114
133
  check_corrupted
115
134
  @array_corrupted = true
116
135
 
117
136
  return Enumerator.new do |yielder|
118
- if @eles
119
- while ele = @eles.shift
120
- yielder << ele
121
- end
137
+ while ele = @eles.shift
138
+ yielder << ele
122
139
  end
123
140
 
124
141
  yield_rest do |ele|
125
142
  yielder << ele
126
143
  end
144
+
145
+ while ele = @end_eles.shift
146
+ yielder << ele
147
+ end
127
148
  end
128
149
  end
129
150
 
@@ -136,7 +157,7 @@ class ArrayEnumerator
136
157
  def select
137
158
  return ArrayEnumerator.new do |y|
138
159
  check_corrupted
139
- self.each do |element|
160
+ each do |element|
140
161
  y << element if yield(element)
141
162
  end
142
163
  end
@@ -165,9 +186,9 @@ class ArrayEnumerator
165
186
  elsif args[0] && args[1] && args[0] > 0 && args[1] > 0
166
187
  need_eles = args[0] + args[1]
167
188
  elsif args[0] < 0 || args[1] < 0
168
- raise "Slice cant take negative arguments."
189
+ raise ArgumentError, "Slice cant take negative arguments."
169
190
  else
170
- raise "Dont now what to do with args: '#{args}'."
191
+ raise ArgumentError, "Dont now what to do with args: '#{args}'."
171
192
  end
172
193
 
173
194
  @eles ||= []
@@ -187,7 +208,7 @@ class ArrayEnumerator
187
208
  end
188
209
 
189
210
  @eles ||= []
190
- cache_ele(amount - @eles.length) if !@eles || @eles.length < amount
211
+ cache_ele(amount - @eles.length) if @eles.length < amount
191
212
  res = @eles.shift(*args)
192
213
 
193
214
  # Since we are removing an element, the length should go down with the amount of elements captured.
@@ -204,7 +225,7 @@ class ArrayEnumerator
204
225
  check_corrupted
205
226
 
206
227
  return ArrayEnumerator.new do |y|
207
- self.each do |element|
228
+ each do |element|
208
229
  y << yield(element)
209
230
  end
210
231
  end
@@ -255,8 +276,6 @@ private
255
276
 
256
277
  # Caches a given amount of elements.
257
278
  def cache_ele(amount = 1)
258
- @eles ||= []
259
-
260
279
  begin
261
280
  @mutex.synchronize do
262
281
  while @eles.length <= amount
@@ -271,8 +290,6 @@ private
271
290
 
272
291
  # Forces the rest of the elements to be cached.
273
292
  def cache_all
274
- @eles ||= []
275
-
276
293
  begin
277
294
  @mutex.synchronize do
278
295
  while ele = @enum.next
@@ -17,15 +17,15 @@ describe "ArrayEnumerator" do
17
17
  end
18
18
 
19
19
  3.times do |count|
20
- enum.shift.should eq count
20
+ expect(enum.shift).to eq count
21
21
  end
22
22
  end
23
23
 
24
24
  it "#shift" do
25
25
  cont = %w[a b c d e].to_enum
26
26
  ae = ArrayEnumerator.new(cont)
27
- ae.shift.should eq "a"
28
- ae.to_a.should eq %w[b c d e]
27
+ expect(ae.shift).to eq "a"
28
+ expect(ae.to_a).to eq %w[b c d e]
29
29
  end
30
30
 
31
31
  describe "#each" do
@@ -36,11 +36,11 @@ describe "ArrayEnumerator" do
36
36
 
37
37
  count = 0
38
38
  ae.each do |ele|
39
- ele.should eq arr[count]
39
+ expect(ele).to eq arr[count]
40
40
  count += 1
41
41
  end
42
42
 
43
- count.should eq 3
43
+ expect(count).to eq 3
44
44
  end
45
45
  end
46
46
 
@@ -50,33 +50,31 @@ describe "ArrayEnumerator" do
50
50
  cont = arr.to_enum
51
51
  ae = ArrayEnumerator.new(cont)
52
52
 
53
- ae.empty?.should eq false
54
- ae.none?.should eq false
55
- ae.any?.should eq true
53
+ expect(ae.empty?).to eq false
54
+ expect(ae.none?).to eq false
55
+ expect(ae.any?).to eq true
56
56
 
57
57
  count = 0
58
58
  ae.each do |ele|
59
- ele.should eq arr[count]
59
+ expect(ele).to eq arr[count]
60
60
  count += 1
61
61
  end
62
62
 
63
- count.should eq 3
63
+ expect(count).to eq 3
64
64
 
65
65
  expect { ae.to_a }.to raise_error(ArrayEnumerator::ArrayCorruptedError)
66
66
  expect { ae.first }.to raise_error(ArrayEnumerator::ArrayCorruptedError)
67
67
 
68
- expect {
69
- ae.each { |ele| raise "Should never get here?" }
70
- }.to raise_error(ArrayEnumerator::ArrayCorruptedError)
68
+ expect { ae.each { |ele| raise "Should never get here?" } }.to raise_error(ArrayEnumerator::ArrayCorruptedError)
71
69
  end
72
70
 
73
71
  it "still be able to get the first element after testing if empty" do
74
72
  cont = %w[a b c].to_enum
75
73
  ae = ArrayEnumerator.new(cont)
76
- ae.empty?.should eq false
77
- ae.none?.should eq false
78
- ae.any?.should eq true
79
- ae.first.should eq "a"
74
+ expect(ae.empty?).to eq false
75
+ expect(ae.none?).to eq false
76
+ expect(ae.any?).to eq true
77
+ expect(ae.first).to eq "a"
80
78
  end
81
79
  end
82
80
 
@@ -90,7 +88,7 @@ describe "ArrayEnumerator" do
90
88
  # ignore.
91
89
  end
92
90
 
93
- ae.length.should eq 5
91
+ expect(ae.length).to eq 5
94
92
  end
95
93
 
96
94
  it "#slice" do
@@ -110,14 +108,14 @@ describe "ArrayEnumerator" do
110
108
  ]
111
109
 
112
110
  runs.each do |args|
113
- arr.slice(*args).should eq ae.slice(*args)
111
+ expect(arr.slice(*args)).to eq ae.slice(*args)
114
112
  end
115
113
 
116
114
  fails.each do |args|
117
115
  expect {
118
116
  res2 = ae.slice(*args)
119
117
  raise "Should have failed but didnt."
120
- }.to raise_error
118
+ }.to raise_error(ArgumentError)
121
119
  end
122
120
  end
123
121
 
@@ -127,38 +125,41 @@ describe "ArrayEnumerator" do
127
125
 
128
126
  expect = 0
129
127
  ae.each_index do |num|
130
- num.should eq expect
131
- ae[num].should eq arr[num]
128
+ expect(num).to eq expect
129
+ expect(ae[num]).to eq arr[num]
132
130
  expect += 1
133
131
  end
134
132
  end
135
133
 
136
134
  it "#select" do
137
- result = a_enum_10.select { |element| element == 5 || element == 7 }.to_a
138
- result.should eq [5, 7]
135
+ result = a_enum_10.select { |element| element == 5 || element == 7 }
136
+ expect(result.class).to eq ArrayEnumerator
137
+ expect(result.to_a).to eq [5, 7]
139
138
  end
140
139
 
141
140
  it "#reject" do
142
- result = a_enum_10.reject { |element| element == 5 || element == 7}.to_a
143
- result.should eq [0, 1, 2, 3, 4, 6, 8, 9]
141
+ result = a_enum_10.reject { |element| element == 5 || element == 7}
142
+ expect(result.class).to eq ArrayEnumerator
143
+ expect(result.to_a).to eq [0, 1, 2, 3, 4, 6, 8, 9]
144
144
  end
145
145
 
146
146
  it "#compact" do
147
147
  a_enum = ArrayEnumerator.new([0, nil, 1, 2, 3, 4, nil, 5].to_enum)
148
- a_enum.compact.to_a.should eq [0, 1, 2, 3, 4, 5]
148
+ expect(a_enum.compact.to_a).to eq [0, 1, 2, 3, 4, 5]
149
149
  end
150
150
 
151
151
  describe "#collect" do
152
152
  it "should return a new enumerator yielding the new values one by one" do
153
153
  collected_a_enum = a_enum_10.collect { |element| element + 1000 }
154
+ expect(collected_a_enum.class).to eq ArrayEnumerator
154
155
 
155
156
  count = 0
156
157
  collected_a_enum.each do |number|
157
- number.should eq (count + 1000)
158
+ expect(number).to eq (count + 1000)
158
159
  count += 1
159
160
  end
160
161
 
161
- count.should eq 10
162
+ expect(count).to eq 10
162
163
  end
163
164
 
164
165
  it "should work with map and block-symbols" do
@@ -166,11 +167,64 @@ describe "ArrayEnumerator" do
166
167
 
167
168
  count = 0
168
169
  collected_a_enum.each do |number|
169
- number.should eq count.to_f
170
+ expect(number).to eq count.to_f
171
+ count += 1
172
+ end
173
+
174
+ expect(count).to eq 10
175
+ end
176
+ end
177
+
178
+ describe '#push' do
179
+ it 'adds extra objects' do
180
+ a_enum_10.push 10
181
+
182
+ count = 0
183
+ a_enum_10.each do |number|
184
+ expect(count).to eq number
185
+ count += 1
186
+ end
187
+
188
+ expect(count).to eq 11
189
+ end
190
+
191
+ it 'doesnt allow push after end has been reached' do
192
+ a_enum_10.each do
193
+ # do nothing
194
+ end
195
+
196
+ expect { a_enum_10 << 10 }.to raise_error(ArrayEnumerator::ArrayCorruptedError)
197
+ end
198
+ end
199
+
200
+ describe '#unshift' do
201
+ it 'prepends objects' do
202
+ a_enum_10.unshift -1
203
+
204
+ count = -1
205
+ a_enum_10.each do |number|
206
+ expect(count).to eq number
170
207
  count += 1
171
208
  end
172
209
 
173
- count.should eq 10
210
+ expect(count).to eq 10
211
+ end
212
+
213
+ it 'doesnt allow unshift after starting iteration' do
214
+ a_enum_10.each { }
215
+ expect { a_enum_10.unshift -1 }.to raise_error(ArrayEnumerator::ArrayCorruptedError)
174
216
  end
175
217
  end
218
+
219
+ it '#max' do
220
+ expect(a_enum_10.max).to eq 9
221
+ end
222
+
223
+ it '#min' do
224
+ expect(a_enum_10.min).to eq 0
225
+ end
226
+
227
+ it '#minmax' do
228
+ expect(a_enum_10.minmax).to eq [0, 9]
229
+ end
176
230
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: array_enumerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Johansen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-04 00:00:00.000000000 Z
11
+ date: 2015-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.8.0
19
+ version: 3.3.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.8.0
26
+ version: 3.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.12'
33
+ version: 4.2.0
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
- version: '3.12'
40
+ version: 4.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.0
47
+ version: 1.9.2
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
- version: 1.0.0
54
+ version: 1.9.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jeweler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.8.8
61
+ version: 2.0.1
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
- version: 1.8.8
68
+ version: 2.0.1
69
69
  description: Enumerator abstraction layer that emulates certain array functionality
70
70
  (methods like empty?, slice, shift and more) by using a small cache and other tricks
71
71
  without loading all the data from the enumerator at the same time.
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  requirements: []
111
111
  rubyforge_project:
112
- rubygems_version: 2.2.2
112
+ rubygems_version: 2.4.0
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: Enumerator abstraction layer that emulates certain array functionality (methods).