hamster 0.3.8 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -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