ruby-stream 0.1.0 → 0.2.0

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.
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3-p327
data/lib/ruby-stream.rb CHANGED
@@ -85,8 +85,6 @@ class Stream
85
85
  end
86
86
  end
87
87
 
88
- private
89
-
90
88
  class EmptyStream < Stream
91
89
  def initialize()
92
90
  @head = nil
data/ruby-stream.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.unshift lib unless $:.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ruby-stream"
6
- s.version = "0.1.0"
6
+ s.version = "0.2.0"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Callum Stott"]
9
9
  s.email = ["callum.stott@me.com"]
@@ -1,15 +1,15 @@
1
1
  require 'minitest/autorun'
2
2
  require 'ruby-stream'
3
3
 
4
- def int_helper(i)
5
- Stream.new(i) do
6
- int_helper(i + 1)
7
- end
8
- end
9
-
10
4
  describe Stream do
11
5
  before do
12
- @stream = int_helper(1)
6
+ int_helper = lambda { |i|
7
+ Stream.new(i) {
8
+ int_helper.call(i + 1)
9
+ }
10
+ }
11
+
12
+ @stream = int_helper.call(1)
13
13
  end
14
14
 
15
15
  describe "#head" do
@@ -194,4 +194,20 @@ describe Stream do
194
194
  stream_block.call.tail.tail.head.must_equal 3
195
195
  end
196
196
  end
197
+
198
+ describe "EmptyStream" do
199
+ it "ends the Stream" do
200
+ stream = lambda { |i|
201
+ Stream.new(i) do
202
+ if i < 1
203
+ Stream::EmptyStream.new
204
+ else
205
+ stream.call(i - 1)
206
+ end
207
+ end
208
+ }
209
+
210
+ stream.call(10).length.must_equal(11)
211
+ end
212
+ end
197
213
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-stream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Callum Stott
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-03-04 00:00:00.000000000 Z
12
+ date: 2013-03-08 00:00:00.000000000 Z
12
13
  dependencies: []
13
14
  description:
14
15
  email:
@@ -17,6 +18,7 @@ executables: []
17
18
  extensions: []
18
19
  extra_rdoc_files: []
19
20
  files:
21
+ - .ruby-version
20
22
  - Gemfile
21
23
  - Gemfile.lock
22
24
  - README.md
@@ -26,25 +28,26 @@ files:
26
28
  - spec/ruby-stream_spec.rb
27
29
  homepage:
28
30
  licenses: []
29
- metadata: {}
30
31
  post_install_message:
31
32
  rdoc_options: []
32
33
  require_paths:
33
34
  - lib
34
35
  required_ruby_version: !ruby/object:Gem::Requirement
36
+ none: false
35
37
  requirements:
36
- - - '>='
38
+ - - ! '>='
37
39
  - !ruby/object:Gem::Version
38
40
  version: '0'
39
41
  required_rubygems_version: !ruby/object:Gem::Requirement
42
+ none: false
40
43
  requirements:
41
- - - '>='
44
+ - - ! '>='
42
45
  - !ruby/object:Gem::Version
43
46
  version: '0'
44
47
  requirements: []
45
48
  rubyforge_project:
46
- rubygems_version: 2.0.0
49
+ rubygems_version: 1.8.23
47
50
  signing_key:
48
- specification_version: 4
51
+ specification_version: 3
49
52
  summary: Lazy stream implementation for Ruby
50
53
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 671bd48c3710f55b50a919a2e5649f04e431e576
4
- data.tar.gz: f8af1124273e7f59bd118c1b83b7f8a0951cb761
5
- SHA512:
6
- metadata.gz: d1f62a98ae959111f0733f0ca186412bf04a2c397bec51445e4e74f3e16ed9e941147bde62577ac52a5c1270f0ce5b9443203f5ea123e2a0266a68382a945143
7
- data.tar.gz: d3e05556757511d3ce946a714a79b7fe207b0d0a1e5366ecc1a11b9ac32890aaee7d2803deba99704967592f0b0ca6e2b8a43a90a162438cf13f4ec6db736f4f