hammerspace 0.1.4 → 0.1.5

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGZkYjk4NzQ0MTlkYjI5Mzc1NWM2YjVmMTlhY2JmZTI1MWJlMmYwNQ==
4
+ MmM2ZmNiMjg1OGZjOWMwYjQ4MmE3NDgyNDAxZmU5M2FiNjE5OGM0Ng==
5
5
  data.tar.gz: !binary |-
6
- ZWZkNDM3NWU2MmE4YTNjZmY0M2FlNWMwNzM3OGVlOTc3MmU5MTk5OA==
6
+ MDAzNzdhYzMwYmRlYTI1N2EzMDBlMjQyMWJiODE4MzJhOWZhMDgyMQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MTAyYjVhMWE2Y2Q1OGI5YTFkYmRkM2ZkZDdkMmFjYTE2ZmMxYmQyNDI4YzU2
10
- NmQyZWFiMDBkZWUxNjFkYTQ5M2Y2MGNlMTgxNmQ5ZGM1MjhkY2RkNjk5OTg0
11
- ODcxNmYyOWQ2ZWMyN2RhN2UzNTU4OGI2YmM2NjczNWIyNzg2OTQ=
9
+ MjUxNjUyMGI4ZDIxNjFiOGE4ZWY4MjEzNWNmODBkOTBmZDY3M2UzOTY3YjEz
10
+ MDIxZWQ0M2M4YjE0OWQ3M2FiOWIxNjRlYmRkOGE5NTY3ZWZmYTM0N2FjYjA1
11
+ ZDBjYTZlZjkwNmUxZDdjZmFmMzJjNmM5MDdkOWFjYTgwY2I4Nzk=
12
12
  data.tar.gz: !binary |-
13
- YzVmZjkyNDU2MTllNjNjZTZkMTgyMGM5MzNkOTc0OGQ5NzVkNmUxYzNhNDFi
14
- ZGNiMGIzMzFkNjNmMGVhNWRmZjk1MzFhYjc3ZWVhZGRjNWQ0YWJiNzJjNjc5
15
- YTNmNmE3Y2QzMDU1ODE0OGRiMmE2NTU4ZWUyMjZmMzFiMTQ1NTk=
13
+ YjdmNGIxZDY0NTgwNjhmNjg3MGIwZGU5YTY4ODJiZWUyODdiZWI4OWNkNzc2
14
+ ZmY0YTcwNjlkZTY1ZmYzNzRjYmMxNGRjZjU0OTA0MTYwNmIwYmVlMDNmMDZl
15
+ YTNmNGI5ZTVhYzk1YjY1OGI2ZmZjNmFhMjVjYWIzNmJlOTJhYzI=
@@ -1,3 +1,6 @@
1
+ # v0.1.5
2
+ * Avoid an unnecessary call to Gnista::Hash#include? on get.
3
+
1
4
  # v0.1.4
2
5
  * Upgrade to gnista 0.0.5.
3
6
  * Remove work around for gnista bug.
@@ -49,7 +49,10 @@ module Hammerspace
49
49
  close_logwriter
50
50
  open_hash
51
51
 
52
- return @hash[key] if @hash && @hash.include?(key)
52
+ if @hash
53
+ value = @hash[key]
54
+ return value if value
55
+ end
53
56
  frontend.default(key)
54
57
  end
55
58
 
@@ -1,3 +1,3 @@
1
1
  module Hammerspace
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
@@ -246,6 +246,12 @@ describe Hammerspace do
246
246
  hash.close
247
247
  end
248
248
 
249
+ it "returns nil if no default is set and key does not exist" do
250
+ hash = Hammerspace.new(path, options)
251
+ hash['foo'].should be_nil
252
+ hash.close
253
+ end
254
+
249
255
  end
250
256
 
251
257
  describe "#[]=" do
@@ -260,6 +266,38 @@ describe Hammerspace do
260
266
  hash.close
261
267
  end
262
268
 
269
+ it "does not allow non-string keys" do
270
+ hash = Hammerspace.new(path, options)
271
+ expect {
272
+ hash[8] = 'foo'
273
+ }.to raise_error TypeError
274
+ hash.close
275
+ end
276
+
277
+ it "does not allow non-string values" do
278
+ hash = Hammerspace.new(path, options)
279
+ expect {
280
+ hash['foo'] = 8
281
+ }.to raise_error TypeError
282
+ hash.close
283
+ end
284
+
285
+ it "does not allow nil keys" do
286
+ hash = Hammerspace.new(path, options)
287
+ expect {
288
+ hash[nil] = 'foo'
289
+ }.to raise_error TypeError
290
+ hash.close
291
+ end
292
+
293
+ it "does not allow nil values" do
294
+ hash = Hammerspace.new(path, options)
295
+ expect {
296
+ hash['foo'] = nil
297
+ }.to raise_error TypeError
298
+ hash.close
299
+ end
300
+
263
301
  end
264
302
 
265
303
  describe "#assoc" do
@@ -73,8 +73,8 @@ describe Hammerspace::Hash do
73
73
  it "unsets default" do
74
74
  hash = Hammerspace::Hash.new(path, options)
75
75
  hash.default = 'bar'
76
- hash.default_proc = p
77
- hash.default('foo').should be_nil
76
+ hash.default_proc = lambda { |h,k| k }
77
+ hash.default('foo').should == 'foo'
78
78
  end
79
79
 
80
80
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hammerspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Tai
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-26 00:00:00.000000000 Z
12
+ date: 2015-11-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gnista