hamster 0.3.8 → 0.3.9

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.
@@ -1,3 +1,7 @@
1
+ === 0.3.9 / 2010-06-02
2
+
3
+ * Implement Hash#values.
4
+
1
5
  === 0.3.8 / 2010-06-02
2
6
 
3
7
  * Hash now accepts a block for supplying default values.
@@ -130,6 +130,10 @@ module Hamster
130
130
  reduce(Hamster.set) { |keys, key, value| keys.add(key) }
131
131
  end
132
132
 
133
+ def values
134
+ reduce(Hamster.set) { |values, key, value| values.add(value) }
135
+ end
136
+
133
137
  def clear
134
138
  EmptyHash
135
139
  end
@@ -19,8 +19,8 @@ module Hamster
19
19
 
20
20
  include Immutable
21
21
 
22
- def initialize
23
- @trie = EmptyTrie
22
+ def initialize(trie = EmptyTrie)
23
+ @trie = trie
24
24
  end
25
25
 
26
26
  def empty?
@@ -1,5 +1,5 @@
1
1
  module Hamster
2
2
 
3
- VERSION = "0.3.8".freeze
3
+ VERSION = "0.3.9".freeze
4
4
 
5
5
  end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ require 'hamster/hash'
4
+ require 'hamster/set'
5
+
6
+ describe Hamster::Hash do
7
+
8
+ describe "#values" do
9
+
10
+ before do
11
+ hash = Hamster.hash("A" => "aye", "B" => "bee", "C" => "see")
12
+ @result = hash.values
13
+ end
14
+
15
+ it "returns the keys as a set" do
16
+ @result.should == Hamster.set("aye", "bee", "see")
17
+ end
18
+
19
+ end
20
+
21
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamster
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 8
10
- version: 0.3.8
9
+ - 9
10
+ version: 0.3.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Simon Harris
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-02 00:00:00 +10:00
18
+ date: 2010-06-09 00:00:00 +10:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -111,6 +111,7 @@ files:
111
111
  - spec/hamster/hash/remove_spec.rb
112
112
  - spec/hamster/hash/size_spec.rb
113
113
  - spec/hamster/hash/uniq_spec.rb
114
+ - spec/hamster/hash/values_spec.rb
114
115
  - spec/hamster/immutable/copying_spec.rb
115
116
  - spec/hamster/immutable/immutable_spec.rb
116
117
  - spec/hamster/immutable/memoize_spec.rb