moneta 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/.yardopts +1 -0
  2. data/CHANGES +21 -10
  3. data/README.md +1 -1
  4. data/SPEC.md +4 -12
  5. data/lib/moneta.rb +7 -5
  6. data/lib/moneta/adapters/activerecord.rb +9 -3
  7. data/lib/moneta/adapters/cassandra.rb +9 -4
  8. data/lib/moneta/adapters/client.rb +9 -3
  9. data/lib/moneta/adapters/cookie.rb +3 -0
  10. data/lib/moneta/adapters/couch.rb +8 -3
  11. data/lib/moneta/adapters/datamapper.rb +8 -3
  12. data/lib/moneta/adapters/dbm.rb +1 -2
  13. data/lib/moneta/adapters/file.rb +9 -4
  14. data/lib/moneta/adapters/fog.rb +8 -3
  15. data/lib/moneta/adapters/gdbm.rb +1 -2
  16. data/lib/moneta/adapters/hbase.rb +10 -3
  17. data/lib/moneta/adapters/leveldb.rb +3 -2
  18. data/lib/moneta/adapters/localmemcache.rb +4 -4
  19. data/lib/moneta/adapters/lruhash.rb +8 -4
  20. data/lib/moneta/adapters/memcached/dalli.rb +10 -4
  21. data/lib/moneta/adapters/memcached/native.rb +9 -4
  22. data/lib/moneta/adapters/memory.rb +8 -3
  23. data/lib/moneta/adapters/mongo.rb +7 -3
  24. data/lib/moneta/adapters/null.rb +8 -1
  25. data/lib/moneta/adapters/pstore.rb +9 -3
  26. data/lib/moneta/adapters/redis.rb +10 -4
  27. data/lib/moneta/adapters/riak.rb +12 -7
  28. data/lib/moneta/adapters/sdbm.rb +1 -2
  29. data/lib/moneta/adapters/sequel.rb +9 -3
  30. data/lib/moneta/adapters/sqlite.rb +10 -4
  31. data/lib/moneta/adapters/tokyocabinet.rb +2 -2
  32. data/lib/moneta/builder.rb +11 -7
  33. data/lib/moneta/cache.rb +16 -6
  34. data/lib/moneta/expires.rb +12 -6
  35. data/lib/moneta/lock.rb +0 -2
  36. data/lib/moneta/logger.rb +0 -2
  37. data/lib/moneta/mixins.rb +175 -47
  38. data/lib/moneta/optionmerger.rb +2 -0
  39. data/lib/moneta/proxy.rb +14 -30
  40. data/lib/moneta/server.rb +0 -2
  41. data/lib/moneta/shared.rb +1 -3
  42. data/lib/moneta/stack.rb +20 -10
  43. data/lib/moneta/transformer.rb +84 -61
  44. data/lib/moneta/version.rb +1 -1
  45. data/lib/rack/moneta_rest.rb +56 -0
  46. data/moneta.gemspec +1 -1
  47. data/spec/active_support/cache_moneta_store_spec.rb +4 -4
  48. data/spec/generate.rb +216 -203
  49. data/spec/helper.rb +0 -6
  50. data/spec/moneta/adapter_cassandra_spec.rb +2 -2
  51. data/spec/moneta/adapter_datamapper_spec.rb +1 -1
  52. data/spec/moneta/adapter_lruhash_spec.rb +1 -1
  53. data/spec/moneta/adapter_memcached_dalli_spec.rb +2 -2
  54. data/spec/moneta/adapter_memcached_native_spec.rb +2 -2
  55. data/spec/moneta/adapter_memcached_spec.rb +2 -2
  56. data/spec/moneta/adapter_redis_spec.rb +2 -2
  57. data/spec/moneta/cache_file_memory_spec.rb +3 -3
  58. data/spec/moneta/expires_file_spec.rb +4 -4
  59. data/spec/moneta/expires_memory_spec.rb +2 -2
  60. data/spec/moneta/optionmerger_spec.rb +6 -6
  61. data/spec/moneta/shared_spec.rb +1 -1
  62. data/spec/moneta/simple_client_tcp_spec.rb +1 -1
  63. data/spec/moneta/transformer_key_marshal_spec.rb +109 -0
  64. data/spec/moneta/transformer_key_yaml_spec.rb +109 -0
  65. data/spec/moneta/transformer_marshal_spec.rb +109 -0
  66. data/spec/moneta/transformer_value_marshal_spec.rb +109 -0
  67. data/spec/moneta/transformer_value_yaml_spec.rb +109 -0
  68. data/spec/monetaspecs.rb +14460 -3956
  69. metadata +16 -6
  70. data/lib/moneta/base.rb +0 -98
  71. data/lib/moneta/net.rb +0 -22
data/spec/helper.rb CHANGED
@@ -41,12 +41,6 @@ class Value
41
41
  end
42
42
  end
43
43
 
44
- def safe_load_value(value)
45
- load_value(value)
46
- rescue Exception => ex
47
- value
48
- end
49
-
50
44
  def start_server(*args)
51
45
  server = Moneta::Server.new(*args)
52
46
  Thread.new { server.run }
@@ -17,7 +17,7 @@ describe_moneta "adapter_cassandra" do
17
17
  it_should_behave_like 'persist_stringkey_stringvalue'
18
18
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
19
19
  it_should_behave_like 'store_stringkey_stringvalue'
20
- it 'should support default expiration time' do
20
+ it 'supports default expiration time' do
21
21
  store = Moneta::Adapters::Cassandra.new(:expires => 2, :keyspace => 'adapter_cassandra')
22
22
  store.store('key1', 'val1')
23
23
  store.store('key2', 'val2', :expires => 60)
@@ -25,7 +25,7 @@ describe_moneta "adapter_cassandra" do
25
25
  sleep 1
26
26
  store.load('key1').should == 'val1'
27
27
  sleep 2
28
- store.load('key1').should == nil
28
+ store.load('key1').should be_nil
29
29
  store['key2'].should == 'val2'
30
30
  end
31
31
  end
@@ -43,7 +43,7 @@ describe_moneta "adapter_datamapper" do
43
43
  second['key'] = 'value2'
44
44
 
45
45
  first.delete('key').should == 'value'
46
- first.key?('key').should == false
46
+ first.key?('key').should be_false
47
47
  second['key'].should == 'value2'
48
48
  end
49
49
 
@@ -16,7 +16,7 @@ describe_moneta "adapter_lruhash" do
16
16
  it_should_behave_like 'null_stringkey_stringvalue'
17
17
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
18
18
  it_should_behave_like 'store_stringkey_stringvalue'
19
- it 'should delete oldest' do
19
+ it 'deletes oldest' do
20
20
  store = Moneta::Adapters::LRUHash.new(:max_size => 10)
21
21
  store[0] = 'y'
22
22
  (1..1000).each do |i|
@@ -17,7 +17,7 @@ describe_moneta "adapter_memcached_dalli" do
17
17
  it_should_behave_like 'persist_stringkey_stringvalue'
18
18
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
19
19
  it_should_behave_like 'store_stringkey_stringvalue'
20
- it 'should support default expiration time' do
20
+ it 'supports default expiration time' do
21
21
  store = Moneta::Adapters::MemcachedDalli.new(:expires => 2, :namespace => "adapter_memcached_dalli")
22
22
  store.store('key1', 'val1')
23
23
  store.store('key2', 'val2', :expires => 60)
@@ -25,7 +25,7 @@ describe_moneta "adapter_memcached_dalli" do
25
25
  sleep 1
26
26
  store.load('key1').should == 'val1'
27
27
  sleep 2
28
- store.load('key1').should == nil
28
+ store.load('key1').should be_nil
29
29
  store['key2'].should == 'val2'
30
30
  end
31
31
  end
@@ -17,7 +17,7 @@ describe_moneta "adapter_memcached_native" do
17
17
  it_should_behave_like 'persist_stringkey_stringvalue'
18
18
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
19
19
  it_should_behave_like 'store_stringkey_stringvalue'
20
- it 'should support default expiration time' do
20
+ it 'supports default expiration time' do
21
21
  store = Moneta::Adapters::MemcachedNative.new(:expires => 2, :namespace => "adapter_memcached_native")
22
22
  store.store('key1', 'val1')
23
23
  store.store('key2', 'val2', :expires => 60)
@@ -25,7 +25,7 @@ describe_moneta "adapter_memcached_native" do
25
25
  sleep 1
26
26
  store.load('key1').should == 'val1'
27
27
  sleep 2
28
- store.load('key1').should == nil
28
+ store.load('key1').should be_nil
29
29
  store['key2'].should == 'val2'
30
30
  end
31
31
 
@@ -17,7 +17,7 @@ describe_moneta "adapter_memcached" do
17
17
  it_should_behave_like 'persist_stringkey_stringvalue'
18
18
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
19
19
  it_should_behave_like 'store_stringkey_stringvalue'
20
- it 'should support default expiration time' do
20
+ it 'supports default expiration time' do
21
21
  store = Moneta::Adapters::Memcached.new(:expires => 2, :namespace => "adapter_memcached")
22
22
  store.store('key1', 'val1')
23
23
  store.store('key2', 'val2', :expires => 60)
@@ -25,7 +25,7 @@ describe_moneta "adapter_memcached" do
25
25
  sleep 1
26
26
  store.load('key1').should == 'val1'
27
27
  sleep 2
28
- store.load('key1').should == nil
28
+ store.load('key1').should be_nil
29
29
  store['key2'].should == 'val2'
30
30
  end
31
31
  end
@@ -17,7 +17,7 @@ describe_moneta "adapter_redis" do
17
17
  it_should_behave_like 'persist_stringkey_stringvalue'
18
18
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
19
19
  it_should_behave_like 'store_stringkey_stringvalue'
20
- it 'should support default expiration time' do
20
+ it 'supports default expiration time' do
21
21
  store = Moneta::Adapters::Redis.new(:expires => 2)
22
22
  store.store('key1', 'val1')
23
23
  store.store('key2', 'val2', :expires => 60)
@@ -25,7 +25,7 @@ describe_moneta "adapter_redis" do
25
25
  sleep 1
26
26
  store.load('key1').should == 'val1'
27
27
  sleep 2
28
- store.load('key1').should == nil
28
+ store.load('key1').should be_nil
29
29
  store['key2'].should == 'val2'
30
30
  end
31
31
  end
@@ -21,15 +21,15 @@ describe_moneta "cache_file_memory" do
21
21
  it_should_behave_like 'persist_stringkey_stringvalue'
22
22
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
23
23
  it_should_behave_like 'store_stringkey_stringvalue'
24
- it 'should store loaded values in cache' do
24
+ it 'stores loaded values in cache' do
25
25
  store.backend['foo'] = 'bar'
26
- store.cache['foo'].should == nil
26
+ store.cache['foo'].should be_nil
27
27
  store['foo'].should == 'bar'
28
28
  store.cache['foo'].should == 'bar'
29
29
  store.backend.delete('foo')
30
30
  store['foo'].should == 'bar'
31
31
  store.delete('foo')
32
- store['foo'].should == nil
32
+ store['foo'].should be_nil
33
33
  end
34
34
 
35
35
  end
@@ -44,15 +44,15 @@ describe_moneta "expires_file" do
44
44
  it_should_behave_like 'store_nilkey_stringvalue'
45
45
  it_should_behave_like 'store_integerkey_stringvalue'
46
46
  it_should_behave_like 'transform_value_with_expires'
47
- it 'should delete expired value in underlying file storage' do
47
+ it 'deletes expired value in underlying file storage' do
48
48
  store.store('foo', 'bar', :expires => 2)
49
49
  store['foo'].should == 'bar'
50
50
  sleep 1
51
51
  store['foo'].should == 'bar'
52
52
  sleep 2
53
- store['foo'].should == nil
54
- store.adapter['foo'].should == nil
55
- store.adapter.adapter['foo'].should == nil
53
+ store['foo'].should be_nil
54
+ store.adapter['foo'].should be_nil
55
+ store.adapter.adapter['foo'].should be_nil
56
56
  end
57
57
 
58
58
  end
@@ -107,7 +107,7 @@ describe_moneta "expires_memory" do
107
107
  it_should_behave_like 'store_integerkey_booleanvalue'
108
108
  it_should_behave_like 'store_integerkey_nilvalue'
109
109
  it_should_behave_like 'store_integerkey_integervalue'
110
- it 'should support default expiration time' do
110
+ it 'supports default expiration time' do
111
111
  store = Moneta.new(:Memory, :expires => 2)
112
112
  store.store('key1', 'val1')
113
113
  store.store('key2', 'val2', :expires => 60)
@@ -115,7 +115,7 @@ describe_moneta "expires_memory" do
115
115
  sleep 1
116
116
  store.load('key1').should == 'val1'
117
117
  sleep 2
118
- store.load('key1').should == nil
118
+ store.load('key1').should be_nil
119
119
  store['key2'].should == 'val2'
120
120
  end
121
121
  end
@@ -18,7 +18,7 @@ describe_moneta "optionmerger" do
18
18
  merger.should be_instance_of(Moneta::OptionMerger)
19
19
  end
20
20
 
21
- it 'should save default options' do
21
+ it 'saves default options' do
22
22
  options = {:optionname => :optionvalue}
23
23
  merger = store.with(options)
24
24
  Moneta::OptionMerger::METHODS.each do |method|
@@ -28,14 +28,14 @@ describe_moneta "optionmerger" do
28
28
 
29
29
  PREFIX = [['alpha', nil], ['beta', nil], ['alpha', 'beta']]
30
30
 
31
- it 'should merge options' do
31
+ it 'merges options' do
32
32
  merger = store.with(:opt1 => :val1, :opt2 => :val2).with(:opt2 => :overwrite, :opt3 => :val3)
33
33
  Moneta::OptionMerger::METHODS.each do |method|
34
34
  merger.default_options[method].should == {:opt1 => :val1, :opt2 => :overwrite, :opt3 => :val3}
35
35
  end
36
36
  end
37
37
 
38
- it 'should merge options only for some methods' do
38
+ it 'merges options only for some methods' do
39
39
  PREFIX.each do |(alpha,beta)|
40
40
  options = {:opt1 => :val1, :opt2 => :val2, :prefix => alpha}
41
41
  merger = store.with(options).with(:opt2 => :overwrite, :opt3 => :val3, :prefix => beta, :only => :clear)
@@ -53,7 +53,7 @@ describe_moneta "optionmerger" do
53
53
  end
54
54
  end
55
55
 
56
- it 'should merge options except for some methods' do
56
+ it 'merges options except for some methods' do
57
57
  PREFIX.each do |(alpha,beta)|
58
58
  options = {:opt1 => :val1, :opt2 => :val2, :prefix => alpha}
59
59
  merger = store.with(options).with(:opt2 => :overwrite, :opt3 => :val3, :except => :clear, :prefix => beta)
@@ -71,12 +71,12 @@ describe_moneta "optionmerger" do
71
71
  end
72
72
  end
73
73
 
74
- it 'should have method #raw' do
74
+ it 'has method #raw' do
75
75
  store.raw.default_options.should == {:store=>{:raw=>true},:load=>{:raw=>true},:delete=>{:raw=>true}}
76
76
  store.raw.should equal(store.raw.raw)
77
77
  end
78
78
 
79
- it 'should have method #prefix' do
79
+ it 'has method #prefix' do
80
80
  store.prefix('a').default_options.should == {:store=>{:prefix=>'a'},:load=>{:prefix=>'a'},
81
81
  :delete=>{:prefix=>'a'},:key? => {:prefix=>'a'},:increment=>{:prefix=>'a'}}
82
82
 
@@ -20,7 +20,7 @@ describe_moneta "shared" do
20
20
  it_should_behave_like 'null_stringkey_stringvalue'
21
21
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
22
22
  it_should_behave_like 'store_stringkey_stringvalue'
23
- it 'should share values' do
23
+ it 'shares values' do
24
24
  store['shared_key'] = 'shared_value'
25
25
  second = new_store
26
26
  second.key?('shared_key').should be_true
@@ -142,7 +142,7 @@ describe_moneta "simple_client_tcp" do
142
142
  it_should_behave_like 'store_integerkey_nilvalue'
143
143
  it_should_behave_like 'store_integerkey_integervalue'
144
144
  it_should_behave_like 'transform_value'
145
- it 'should support multiple clients' do
145
+ it 'supports multiple clients' do
146
146
  client = Moneta.new(:Client)
147
147
  client['shared_key'] = 'shared_val'
148
148
  (1..100).each do |i|
@@ -0,0 +1,109 @@
1
+ # Generated by generate.rb
2
+ require 'helper'
3
+
4
+ describe_moneta "transformer_key_marshal" do
5
+ def new_store
6
+ Moneta.build do
7
+ use :Transformer, :key => :marshal
8
+ adapter :Memory
9
+ end
10
+ end
11
+
12
+ def load_value(value)
13
+ value
14
+ end
15
+
16
+ include_context 'setup_store'
17
+ it_should_behave_like 'increment'
18
+ it_should_behave_like 'null_objectkey_objectvalue'
19
+ it_should_behave_like 'null_objectkey_stringvalue'
20
+ it_should_behave_like 'null_objectkey_hashvalue'
21
+ it_should_behave_like 'null_objectkey_booleanvalue'
22
+ it_should_behave_like 'null_objectkey_nilvalue'
23
+ it_should_behave_like 'null_objectkey_integervalue'
24
+ it_should_behave_like 'null_stringkey_objectvalue'
25
+ it_should_behave_like 'null_stringkey_stringvalue'
26
+ it_should_behave_like 'null_stringkey_hashvalue'
27
+ it_should_behave_like 'null_stringkey_booleanvalue'
28
+ it_should_behave_like 'null_stringkey_nilvalue'
29
+ it_should_behave_like 'null_stringkey_integervalue'
30
+ it_should_behave_like 'null_hashkey_objectvalue'
31
+ it_should_behave_like 'null_hashkey_stringvalue'
32
+ it_should_behave_like 'null_hashkey_hashvalue'
33
+ it_should_behave_like 'null_hashkey_booleanvalue'
34
+ it_should_behave_like 'null_hashkey_nilvalue'
35
+ it_should_behave_like 'null_hashkey_integervalue'
36
+ it_should_behave_like 'null_booleankey_objectvalue'
37
+ it_should_behave_like 'null_booleankey_stringvalue'
38
+ it_should_behave_like 'null_booleankey_hashvalue'
39
+ it_should_behave_like 'null_booleankey_booleanvalue'
40
+ it_should_behave_like 'null_booleankey_nilvalue'
41
+ it_should_behave_like 'null_booleankey_integervalue'
42
+ it_should_behave_like 'null_nilkey_objectvalue'
43
+ it_should_behave_like 'null_nilkey_stringvalue'
44
+ it_should_behave_like 'null_nilkey_hashvalue'
45
+ it_should_behave_like 'null_nilkey_booleanvalue'
46
+ it_should_behave_like 'null_nilkey_nilvalue'
47
+ it_should_behave_like 'null_nilkey_integervalue'
48
+ it_should_behave_like 'null_integerkey_objectvalue'
49
+ it_should_behave_like 'null_integerkey_stringvalue'
50
+ it_should_behave_like 'null_integerkey_hashvalue'
51
+ it_should_behave_like 'null_integerkey_booleanvalue'
52
+ it_should_behave_like 'null_integerkey_nilvalue'
53
+ it_should_behave_like 'null_integerkey_integervalue'
54
+ it_should_behave_like 'returndifferent_objectkey_objectvalue'
55
+ it_should_behave_like 'returndifferent_objectkey_stringvalue'
56
+ it_should_behave_like 'returndifferent_objectkey_hashvalue'
57
+ it_should_behave_like 'returndifferent_stringkey_objectvalue'
58
+ it_should_behave_like 'returndifferent_stringkey_stringvalue'
59
+ it_should_behave_like 'returndifferent_stringkey_hashvalue'
60
+ it_should_behave_like 'returndifferent_hashkey_objectvalue'
61
+ it_should_behave_like 'returndifferent_hashkey_stringvalue'
62
+ it_should_behave_like 'returndifferent_hashkey_hashvalue'
63
+ it_should_behave_like 'returndifferent_booleankey_objectvalue'
64
+ it_should_behave_like 'returndifferent_booleankey_stringvalue'
65
+ it_should_behave_like 'returndifferent_booleankey_hashvalue'
66
+ it_should_behave_like 'returndifferent_nilkey_objectvalue'
67
+ it_should_behave_like 'returndifferent_nilkey_stringvalue'
68
+ it_should_behave_like 'returndifferent_nilkey_hashvalue'
69
+ it_should_behave_like 'returndifferent_integerkey_objectvalue'
70
+ it_should_behave_like 'returndifferent_integerkey_stringvalue'
71
+ it_should_behave_like 'returndifferent_integerkey_hashvalue'
72
+ it_should_behave_like 'store_objectkey_objectvalue'
73
+ it_should_behave_like 'store_objectkey_stringvalue'
74
+ it_should_behave_like 'store_objectkey_hashvalue'
75
+ it_should_behave_like 'store_objectkey_booleanvalue'
76
+ it_should_behave_like 'store_objectkey_nilvalue'
77
+ it_should_behave_like 'store_objectkey_integervalue'
78
+ it_should_behave_like 'store_stringkey_objectvalue'
79
+ it_should_behave_like 'store_stringkey_stringvalue'
80
+ it_should_behave_like 'store_stringkey_hashvalue'
81
+ it_should_behave_like 'store_stringkey_booleanvalue'
82
+ it_should_behave_like 'store_stringkey_nilvalue'
83
+ it_should_behave_like 'store_stringkey_integervalue'
84
+ it_should_behave_like 'store_hashkey_objectvalue'
85
+ it_should_behave_like 'store_hashkey_stringvalue'
86
+ it_should_behave_like 'store_hashkey_hashvalue'
87
+ it_should_behave_like 'store_hashkey_booleanvalue'
88
+ it_should_behave_like 'store_hashkey_nilvalue'
89
+ it_should_behave_like 'store_hashkey_integervalue'
90
+ it_should_behave_like 'store_booleankey_objectvalue'
91
+ it_should_behave_like 'store_booleankey_stringvalue'
92
+ it_should_behave_like 'store_booleankey_hashvalue'
93
+ it_should_behave_like 'store_booleankey_booleanvalue'
94
+ it_should_behave_like 'store_booleankey_nilvalue'
95
+ it_should_behave_like 'store_booleankey_integervalue'
96
+ it_should_behave_like 'store_nilkey_objectvalue'
97
+ it_should_behave_like 'store_nilkey_stringvalue'
98
+ it_should_behave_like 'store_nilkey_hashvalue'
99
+ it_should_behave_like 'store_nilkey_booleanvalue'
100
+ it_should_behave_like 'store_nilkey_nilvalue'
101
+ it_should_behave_like 'store_nilkey_integervalue'
102
+ it_should_behave_like 'store_integerkey_objectvalue'
103
+ it_should_behave_like 'store_integerkey_stringvalue'
104
+ it_should_behave_like 'store_integerkey_hashvalue'
105
+ it_should_behave_like 'store_integerkey_booleanvalue'
106
+ it_should_behave_like 'store_integerkey_nilvalue'
107
+ it_should_behave_like 'store_integerkey_integervalue'
108
+ it_should_behave_like 'transform_value'
109
+ end
@@ -0,0 +1,109 @@
1
+ # Generated by generate.rb
2
+ require 'helper'
3
+
4
+ describe_moneta "transformer_key_yaml" do
5
+ def new_store
6
+ Moneta.build do
7
+ use :Transformer, :key => :yaml
8
+ adapter :Memory
9
+ end
10
+ end
11
+
12
+ def load_value(value)
13
+ value
14
+ end
15
+
16
+ include_context 'setup_store'
17
+ it_should_behave_like 'increment'
18
+ it_should_behave_like 'null_objectkey_objectvalue'
19
+ it_should_behave_like 'null_objectkey_stringvalue'
20
+ it_should_behave_like 'null_objectkey_hashvalue'
21
+ it_should_behave_like 'null_objectkey_booleanvalue'
22
+ it_should_behave_like 'null_objectkey_nilvalue'
23
+ it_should_behave_like 'null_objectkey_integervalue'
24
+ it_should_behave_like 'null_stringkey_objectvalue'
25
+ it_should_behave_like 'null_stringkey_stringvalue'
26
+ it_should_behave_like 'null_stringkey_hashvalue'
27
+ it_should_behave_like 'null_stringkey_booleanvalue'
28
+ it_should_behave_like 'null_stringkey_nilvalue'
29
+ it_should_behave_like 'null_stringkey_integervalue'
30
+ it_should_behave_like 'null_hashkey_objectvalue'
31
+ it_should_behave_like 'null_hashkey_stringvalue'
32
+ it_should_behave_like 'null_hashkey_hashvalue'
33
+ it_should_behave_like 'null_hashkey_booleanvalue'
34
+ it_should_behave_like 'null_hashkey_nilvalue'
35
+ it_should_behave_like 'null_hashkey_integervalue'
36
+ it_should_behave_like 'null_booleankey_objectvalue'
37
+ it_should_behave_like 'null_booleankey_stringvalue'
38
+ it_should_behave_like 'null_booleankey_hashvalue'
39
+ it_should_behave_like 'null_booleankey_booleanvalue'
40
+ it_should_behave_like 'null_booleankey_nilvalue'
41
+ it_should_behave_like 'null_booleankey_integervalue'
42
+ it_should_behave_like 'null_nilkey_objectvalue'
43
+ it_should_behave_like 'null_nilkey_stringvalue'
44
+ it_should_behave_like 'null_nilkey_hashvalue'
45
+ it_should_behave_like 'null_nilkey_booleanvalue'
46
+ it_should_behave_like 'null_nilkey_nilvalue'
47
+ it_should_behave_like 'null_nilkey_integervalue'
48
+ it_should_behave_like 'null_integerkey_objectvalue'
49
+ it_should_behave_like 'null_integerkey_stringvalue'
50
+ it_should_behave_like 'null_integerkey_hashvalue'
51
+ it_should_behave_like 'null_integerkey_booleanvalue'
52
+ it_should_behave_like 'null_integerkey_nilvalue'
53
+ it_should_behave_like 'null_integerkey_integervalue'
54
+ it_should_behave_like 'returndifferent_objectkey_objectvalue'
55
+ it_should_behave_like 'returndifferent_objectkey_stringvalue'
56
+ it_should_behave_like 'returndifferent_objectkey_hashvalue'
57
+ it_should_behave_like 'returndifferent_stringkey_objectvalue'
58
+ it_should_behave_like 'returndifferent_stringkey_stringvalue'
59
+ it_should_behave_like 'returndifferent_stringkey_hashvalue'
60
+ it_should_behave_like 'returndifferent_hashkey_objectvalue'
61
+ it_should_behave_like 'returndifferent_hashkey_stringvalue'
62
+ it_should_behave_like 'returndifferent_hashkey_hashvalue'
63
+ it_should_behave_like 'returndifferent_booleankey_objectvalue'
64
+ it_should_behave_like 'returndifferent_booleankey_stringvalue'
65
+ it_should_behave_like 'returndifferent_booleankey_hashvalue'
66
+ it_should_behave_like 'returndifferent_nilkey_objectvalue'
67
+ it_should_behave_like 'returndifferent_nilkey_stringvalue'
68
+ it_should_behave_like 'returndifferent_nilkey_hashvalue'
69
+ it_should_behave_like 'returndifferent_integerkey_objectvalue'
70
+ it_should_behave_like 'returndifferent_integerkey_stringvalue'
71
+ it_should_behave_like 'returndifferent_integerkey_hashvalue'
72
+ it_should_behave_like 'store_objectkey_objectvalue'
73
+ it_should_behave_like 'store_objectkey_stringvalue'
74
+ it_should_behave_like 'store_objectkey_hashvalue'
75
+ it_should_behave_like 'store_objectkey_booleanvalue'
76
+ it_should_behave_like 'store_objectkey_nilvalue'
77
+ it_should_behave_like 'store_objectkey_integervalue'
78
+ it_should_behave_like 'store_stringkey_objectvalue'
79
+ it_should_behave_like 'store_stringkey_stringvalue'
80
+ it_should_behave_like 'store_stringkey_hashvalue'
81
+ it_should_behave_like 'store_stringkey_booleanvalue'
82
+ it_should_behave_like 'store_stringkey_nilvalue'
83
+ it_should_behave_like 'store_stringkey_integervalue'
84
+ it_should_behave_like 'store_hashkey_objectvalue'
85
+ it_should_behave_like 'store_hashkey_stringvalue'
86
+ it_should_behave_like 'store_hashkey_hashvalue'
87
+ it_should_behave_like 'store_hashkey_booleanvalue'
88
+ it_should_behave_like 'store_hashkey_nilvalue'
89
+ it_should_behave_like 'store_hashkey_integervalue'
90
+ it_should_behave_like 'store_booleankey_objectvalue'
91
+ it_should_behave_like 'store_booleankey_stringvalue'
92
+ it_should_behave_like 'store_booleankey_hashvalue'
93
+ it_should_behave_like 'store_booleankey_booleanvalue'
94
+ it_should_behave_like 'store_booleankey_nilvalue'
95
+ it_should_behave_like 'store_booleankey_integervalue'
96
+ it_should_behave_like 'store_nilkey_objectvalue'
97
+ it_should_behave_like 'store_nilkey_stringvalue'
98
+ it_should_behave_like 'store_nilkey_hashvalue'
99
+ it_should_behave_like 'store_nilkey_booleanvalue'
100
+ it_should_behave_like 'store_nilkey_nilvalue'
101
+ it_should_behave_like 'store_nilkey_integervalue'
102
+ it_should_behave_like 'store_integerkey_objectvalue'
103
+ it_should_behave_like 'store_integerkey_stringvalue'
104
+ it_should_behave_like 'store_integerkey_hashvalue'
105
+ it_should_behave_like 'store_integerkey_booleanvalue'
106
+ it_should_behave_like 'store_integerkey_nilvalue'
107
+ it_should_behave_like 'store_integerkey_integervalue'
108
+ it_should_behave_like 'transform_value'
109
+ end