hammerspace 0.1.4 → 0.1.5

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