identity_cache 0.0.4 → 0.0.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.
@@ -3,9 +3,9 @@ require "test_helper"
3
3
  class NormalizedHasManyTest < IdentityCache::TestCase
4
4
  def setup
5
5
  super
6
- Record.cache_has_many :associated_records, :embed => false
6
+ Item.cache_has_many :associated_records, :embed => false
7
7
 
8
- @record = Record.new(:title => 'foo')
8
+ @record = Item.new(:title => 'foo')
9
9
  @record.not_cached_records << NotCachedRecord.new(:name => 'NoCache')
10
10
  @record.associated_records << AssociatedRecord.new(:name => 'bar')
11
11
  @record.associated_records << AssociatedRecord.new(:name => 'baz')
@@ -18,13 +18,13 @@ class NormalizedHasManyTest < IdentityCache::TestCase
18
18
  def test_a_records_list_of_associated_ids_on_the_parent_record_retains_association_sort_order
19
19
  assert_equal [2, 1], @record.associated_record_ids
20
20
 
21
- AssociatedRecord.create(name: 'foo', record_id: @record.id)
21
+ AssociatedRecord.create(name: 'foo', item_id: @record.id)
22
22
  @record.reload
23
23
  assert_equal [3, 2, 1], @record.associated_record_ids
24
24
  end
25
25
 
26
26
  def test_defining_a_denormalized_has_many_cache_caches_the_list_of_associated_ids_on_the_parent_record_during_cache_miss
27
- fetched_record = Record.fetch(@record.id)
27
+ fetched_record = Item.fetch(@record.id)
28
28
  assert_equal [2, 1], fetched_record.cached_associated_record_ids
29
29
  assert_equal false, fetched_record.associated_records.loaded?
30
30
  end
@@ -34,7 +34,7 @@ class NormalizedHasManyTest < IdentityCache::TestCase
34
34
  end
35
35
 
36
36
  def test_fetching_associated_ids_will_use_the_cached_value_if_the_record_is_from_the_cache
37
- @record = Record.fetch(@record.id)
37
+ @record = Item.fetch(@record.id)
38
38
  assert_queries(0) do
39
39
  assert_equal [2, 1], @record.fetch_associated_record_ids
40
40
  end
@@ -50,24 +50,24 @@ class NormalizedHasManyTest < IdentityCache::TestCase
50
50
 
51
51
  def test_fetching_the_association_from_a_record_on_a_cache_hit_should_not_issue_any_queries
52
52
  # Populate the cache
53
- @record = Record.fetch(@record.id)
53
+ @record = Item.fetch(@record.id)
54
54
  @record.fetch_associated_records
55
55
  assert_queries(0) do
56
- @record = Record.fetch(@record.id)
56
+ @record = Item.fetch(@record.id)
57
57
  assert_equal [@baz, @bar], @record.fetch_associated_records
58
58
  end
59
59
  end
60
60
 
61
61
  def test_fetching_the_association_from_a_identity_cached_record_should_not_re_fetch_the_association_ids
62
- @record = Record.fetch(@record.id)
62
+ @record = Item.fetch(@record.id)
63
63
  @record.expects(:associated_record_ids).never
64
64
  assert_equal [@baz, @bar], @record.fetch_associated_records
65
65
  end
66
66
 
67
67
  def test_fetching_the_association_should_delegate_to_the_normal_association_fetcher_if_any_transaction_are_open
68
- @record = Record.fetch(@record.id)
68
+ @record = Item.fetch(@record.id)
69
69
 
70
- Record.expects(:fetch_multi).never
70
+ Item.expects(:fetch_multi).never
71
71
  @record.transaction do
72
72
  assert_equal [@baz, @bar], @record.fetch_associated_records
73
73
  end
@@ -77,55 +77,60 @@ class NormalizedHasManyTest < IdentityCache::TestCase
77
77
  # Warm the ActiveRecord association
78
78
  @record.associated_records.to_a
79
79
 
80
- Record.expects(:fetch_multi).never
80
+ Item.expects(:fetch_multi).never
81
81
  assert_equal [@baz, @bar], @record.fetch_associated_records
82
82
  end
83
83
 
84
84
  def test_saving_a_child_record_shouldnt_expire_the_parents_blob_if_the_foreign_key_hasnt_changed
85
85
  IdentityCache.cache.expects(:delete).with(@record.primary_cache_index_key).never
86
+ IdentityCache.cache.expects(:delete).with(@baz.primary_cache_index_key)
86
87
  @baz.name = 'foo'
87
88
  @baz.save!
88
- assert_equal [@baz.id, @bar.id], Record.fetch(@record.id).cached_associated_record_ids
89
- assert_equal [@baz, @bar], Record.fetch(@record.id).fetch_associated_records
89
+ assert_equal [@baz.id, @bar.id], Item.fetch(@record.id).cached_associated_record_ids
90
+ assert_equal [@baz, @bar], Item.fetch(@record.id).fetch_associated_records
90
91
  end
91
92
 
92
93
  def test_creating_a_child_record_should_expire_the_parents_cache_blob
93
94
  IdentityCache.cache.expects(:delete).with(@record.primary_cache_index_key).once
95
+ IdentityCache.cache.expects(:delete).with(@bar.primary_cache_index_key[0...-1] + '3')
94
96
  @qux = @record.associated_records.create!(:name => 'qux')
95
- assert_equal [@qux, @baz, @bar], Record.fetch(@record.id).fetch_associated_records
97
+ assert_equal [@qux, @baz, @bar], Item.fetch(@record.id).fetch_associated_records
96
98
  end
97
-
99
+
98
100
  def test_saving_a_child_record_should_expire_the_new_and_old_parents_cache_blob
99
- @new_record = Record.create
100
- @baz.record_id = @new_record.id
101
+ @new_record = Item.create
102
+ @baz.item_id = @new_record.id
101
103
 
102
104
  IdentityCache.cache.expects(:delete).with(@record.primary_cache_index_key).once
103
105
  IdentityCache.cache.expects(:delete).with(@new_record.primary_cache_index_key).once
106
+ IdentityCache.cache.expects(:delete).with(@baz.primary_cache_index_key).once
104
107
 
105
108
  @baz.save!
106
109
 
107
- assert_equal [@bar.id], Record.fetch(@record.id).cached_associated_record_ids
108
- assert_equal [@bar], Record.fetch(@record.id).fetch_associated_records
110
+ assert_equal [@bar.id], Item.fetch(@record.id).cached_associated_record_ids
111
+ assert_equal [@bar], Item.fetch(@record.id).fetch_associated_records
109
112
  end
110
113
 
111
114
  def test_saving_a_child_record_in_a_transaction_should_expire_the_new_and_old_parents_cache_blob
112
- @new_record = Record.create
113
- @baz.record_id = @new_record.id
115
+ @new_record = Item.create
116
+ @baz.item_id = @new_record.id
114
117
 
115
118
  @baz.transaction do
116
119
  IdentityCache.cache.expects(:delete).with(@record.primary_cache_index_key).once
117
120
  IdentityCache.cache.expects(:delete).with(@new_record.primary_cache_index_key).once
121
+ IdentityCache.cache.expects(:delete).with(@baz.primary_cache_index_key).once
118
122
 
119
123
  @baz.save!
120
124
  @baz.reload
121
125
  end
122
126
 
123
- assert_equal [@bar.id], Record.fetch(@record.id).cached_associated_record_ids
124
- assert_equal [@bar], Record.fetch(@record.id).fetch_associated_records
127
+ assert_equal [@bar.id], Item.fetch(@record.id).cached_associated_record_ids
128
+ assert_equal [@bar], Item.fetch(@record.id).fetch_associated_records
125
129
  end
126
130
 
127
131
  def test_destroying_a_child_record_should_expire_the_parents_cache_blob
128
132
  IdentityCache.cache.expects(:delete).with(@record.primary_cache_index_key).once
133
+ IdentityCache.cache.expects(:delete).with(@baz.primary_cache_index_key).once
129
134
  @baz.destroy
130
135
  assert_equal [@bar], @record.reload.fetch_associated_records
131
136
  end
@@ -4,10 +4,10 @@ class RecursiveDenormalizedHasManyTest < IdentityCache::TestCase
4
4
  def setup
5
5
  super
6
6
  AssociatedRecord.cache_has_many :deeply_associated_records, :embed => true
7
- Record.cache_has_many :associated_records, :embed => true
8
- Record.cache_has_one :associated
7
+ Item.cache_has_many :associated_records, :embed => true
8
+ Item.cache_has_one :associated
9
9
 
10
- @record = Record.new(:title => 'foo')
10
+ @record = Item.new(:title => 'foo')
11
11
 
12
12
  @associated_record = AssociatedRecord.new(:name => 'bar')
13
13
  @record.associated_records << AssociatedRecord.new(:name => 'baz')
@@ -23,17 +23,17 @@ class RecursiveDenormalizedHasManyTest < IdentityCache::TestCase
23
23
  end
24
24
 
25
25
  def test_cache_fetch_includes
26
- assert_equal [{:associated_records => [:deeply_associated_records]}, :associated => [:deeply_associated_records]], Record.cache_fetch_includes
26
+ assert_equal [{:associated_records => [:deeply_associated_records]}, :associated => [:deeply_associated_records]], Item.cache_fetch_includes
27
27
  end
28
28
 
29
29
  def test_uncached_record_from_the_db_will_use_normal_association_for_deeply_associated_records
30
30
  expected = @associated_record.deeply_associated_records
31
- record_from_db = Record.find(@record.id)
31
+ record_from_db = Item.find(@record.id)
32
32
  assert_equal expected, record_from_db.fetch_associated_records[0].fetch_deeply_associated_records
33
33
  end
34
34
 
35
35
  def test_on_cache_miss_record_should_embed_associated_objects_and_return
36
- record_from_cache_miss = Record.fetch(@record.id)
36
+ record_from_cache_miss = Item.fetch(@record.id)
37
37
  expected = @associated_record.deeply_associated_records
38
38
 
39
39
  child_record_from_cache_miss = record_from_cache_miss.fetch_associated_records[0]
@@ -42,13 +42,13 @@ class RecursiveDenormalizedHasManyTest < IdentityCache::TestCase
42
42
  end
43
43
 
44
44
  def test_on_cache_hit_record_should_return_embed_associated_objects
45
- Record.fetch(@record.id) # warm cache
45
+ Item.fetch(@record.id) # warm cache
46
46
  expected = @associated_record.deeply_associated_records
47
47
 
48
- Record.any_instance.expects(:associated_records).never
48
+ Item.any_instance.expects(:associated_records).never
49
49
  AssociatedRecord.any_instance.expects(:deeply_associated_records).never
50
50
 
51
- record_from_cache_hit = Record.fetch(@record.id)
51
+ record_from_cache_hit = Item.fetch(@record.id)
52
52
  child_record_from_cache_hit = record_from_cache_hit.fetch_associated_records[0]
53
53
  assert_equal @associated_record, child_record_from_cache_hit
54
54
  assert_equal expected, child_record_from_cache_hit.fetch_deeply_associated_records
@@ -61,7 +61,7 @@ class RecursiveDenormalizedHasManyTest < IdentityCache::TestCase
61
61
  # one for the mid level has_one association
62
62
  # one for the deep level level has_many on the mid level has_many association
63
63
  # one for the deep level level has_many on the mid level has_one association
64
- record_from_cache_miss = Record.fetch(@record.id)
64
+ record_from_cache_miss = Item.fetch(@record.id)
65
65
  end
66
66
  end
67
67
 
@@ -94,16 +94,16 @@ class RecursiveNormalizedHasManyTest < IdentityCache::TestCase
94
94
  def setup
95
95
  super
96
96
  AssociatedRecord.cache_has_many :deeply_associated_records, :embed => true
97
- Record.cache_has_many :associated_records, :embed => false
97
+ Item.cache_has_many :associated_records, :embed => false
98
98
 
99
- @record = Record.new(:title => 'foo')
99
+ @record = Item.new(:title => 'foo')
100
100
  @record.save
101
101
  @record.reload
102
102
  end
103
103
 
104
104
  def test_cache_repopulation_should_not_fetch_non_embedded_associations
105
- Record.any_instance.expects(:fetch_associated_records).never
106
- record_from_cache_miss = Record.fetch(@record.id)
105
+ Item.any_instance.expects(:fetch_associated_records).never
106
+ record_from_cache_miss = Item.fetch(@record.id)
107
107
  end
108
108
  end
109
109
 
data/test/save_test.rb CHANGED
@@ -5,32 +5,32 @@ class SaveTest < IdentityCache::TestCase
5
5
 
6
6
  def setup
7
7
  super
8
- Record.cache_index :title, :unique => true
9
- Record.cache_index :id, :title, :unique => true
8
+ Item.cache_index :title, :unique => true
9
+ Item.cache_index :id, :title, :unique => true
10
10
 
11
- @record = Record.create(:title => 'bob')
12
- @blob_key = "#{NAMESPACE}blob:Record:#{cache_hash("created_at:datetime,id:integer,record_id:integer,title:string,updated_at:datetime")}:1"
11
+ @record = Item.create(:title => 'bob')
12
+ @blob_key = "#{NAMESPACE}blob:Item:#{cache_hash("created_at:datetime,id:integer,item_id:integer,title:string,updated_at:datetime")}:1"
13
13
  end
14
14
 
15
15
  def test_create
16
- @record = Record.new
16
+ @record = Item.new
17
17
  @record.title = 'bob'
18
18
 
19
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:id/title:#{cache_hash('2/bob')}")
20
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:title:#{cache_hash('bob')}")
21
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}blob:Record:#{cache_hash("created_at:datetime,id:integer,record_id:integer,title:string,updated_at:datetime")}:2").once
19
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:id/title:#{cache_hash('2/bob')}")
20
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:title:#{cache_hash('bob')}")
21
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}blob:Item:#{cache_hash("created_at:datetime,id:integer,item_id:integer,title:string,updated_at:datetime")}:2").once
22
22
  @record.save
23
23
  end
24
24
 
25
25
  def test_update
26
26
  # Regular flow, write index id, write index id/tile, delete data blob since Record has changed
27
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:id/title:#{cache_hash('1/fred')}")
28
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:title:#{cache_hash('fred')}")
27
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:id/title:#{cache_hash('1/fred')}")
28
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:title:#{cache_hash('fred')}")
29
29
  IdentityCache.cache.expects(:delete).with(@blob_key)
30
30
 
31
31
  # Delete index id, delete index id/title
32
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:id/title:#{cache_hash('1/bob')}")
33
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:title:#{cache_hash('bob')}")
32
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:id/title:#{cache_hash('1/bob')}")
33
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:title:#{cache_hash('bob')}")
34
34
 
35
35
  @record.title = 'fred'
36
36
  @record.save
@@ -38,8 +38,8 @@ class SaveTest < IdentityCache::TestCase
38
38
 
39
39
  def test_destroy
40
40
  # Regular flow: delete data blob, delete index id, delete index id/tile
41
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:id/title:#{cache_hash('1/bob')}")
42
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:title:#{cache_hash('bob')}")
41
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:id/title:#{cache_hash('1/bob')}")
42
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:title:#{cache_hash('bob')}")
43
43
  IdentityCache.cache.expects(:delete).with(@blob_key)
44
44
 
45
45
  @record.destroy
@@ -47,8 +47,8 @@ class SaveTest < IdentityCache::TestCase
47
47
 
48
48
  def test_destroy_with_changed_attributes
49
49
  # Make sure to delete the old cache index key, since the new title never ended up in an index
50
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:id/title:#{cache_hash('1/bob')}")
51
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:title:#{cache_hash('bob')}")
50
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:id/title:#{cache_hash('1/bob')}")
51
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:title:#{cache_hash('bob')}")
52
52
  IdentityCache.cache.expects(:delete).with(@blob_key)
53
53
 
54
54
  @record.title = 'fred'
@@ -57,8 +57,8 @@ class SaveTest < IdentityCache::TestCase
57
57
 
58
58
  def test_touch_will_expire_the_caches
59
59
  # Regular flow: delete data blob, delete index id, delete index id/tile
60
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:id/title:#{cache_hash('1/bob')}")
61
- IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Record:title:#{cache_hash('bob')}")
60
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:id/title:#{cache_hash('1/bob')}")
61
+ IdentityCache.cache.expects(:delete).with("#{NAMESPACE}index:Item:title:#{cache_hash('bob')}")
62
62
  IdentityCache.cache.expects(:delete).with(@blob_key)
63
63
 
64
64
  @record.touch
@@ -18,14 +18,14 @@ class SchemaChangeTest < IdentityCache::TestCase
18
18
  ActiveRecord::Migration.verbose = false
19
19
 
20
20
  read_new_schema
21
- Record.cache_has_one :associated, :embed => true
21
+ Item.cache_has_one :associated, :embed => true
22
22
  AssociatedRecord.cache_has_many :deeply_associated_records, :embed => true
23
23
 
24
24
  @associated_record = AssociatedRecord.new(:name => 'bar')
25
25
  @deeply_associated_record = DeeplyAssociatedRecord.new(:name => "corge")
26
26
  @associated_record.deeply_associated_records << @deeply_associated_record
27
27
  @associated_record.deeply_associated_records << DeeplyAssociatedRecord.new(:name => "qux")
28
- @record = Record.new(:title => 'foo')
28
+ @record = Item.new(:title => 'foo')
29
29
  @record.associated = @associated_record
30
30
 
31
31
  @associated_record.save!
@@ -46,39 +46,52 @@ class SchemaChangeTest < IdentityCache::TestCase
46
46
  DeeplyAssociatedRecord.reset_column_information
47
47
 
48
48
  AssociatedRecord.send(:instance_variable_set, :@rails_cache_key_prefix, nil)
49
- Record.send(:instance_variable_set, :@rails_cache_key_prefix, nil)
49
+ Item.send(:instance_variable_set, :@rails_cache_key_prefix, nil)
50
50
  end
51
51
 
52
52
  def test_schema_changes_on_embedded_association_should_cause_cache_miss_for_old_cached_objects
53
- record = Record.fetch(@record.id)
53
+ record = Item.fetch(@record.id)
54
54
  record.fetch_associated
55
55
 
56
56
  AddColumnToChild.new.up
57
57
  read_new_schema
58
58
 
59
- Record.expects(:resolve_cache_miss).returns(@record)
60
- record = Record.fetch(@record.id)
59
+ Item.expects(:resolve_cache_miss).returns(@record)
60
+ record = Item.fetch(@record.id)
61
61
  end
62
62
 
63
63
  def test_schema_changes_on_deeply_embedded_association_should_cause_cache_miss_for_old_cached_objects
64
- record = Record.fetch(@record.id)
64
+ record = Item.fetch(@record.id)
65
65
  associated_record_from_cache = record.fetch_associated
66
66
  associated_record_from_cache.fetch_deeply_associated_records
67
67
 
68
68
  AddColumnToDeepChild.new.up
69
69
  read_new_schema
70
70
 
71
- Record.expects(:resolve_cache_miss).returns(@record)
72
- record = Record.fetch(@record.id)
71
+ Item.expects(:resolve_cache_miss).returns(@record)
72
+ record = Item.fetch(@record.id)
73
73
  end
74
74
 
75
75
  def test_schema_changes_on_new_cached_child_association
76
- record = Record.fetch(@record.id)
76
+ record = Item.fetch(@record.id)
77
77
 
78
- Record.cache_has_many :polymorphic_records, :inverse_name => :owner, :embed => true
78
+ Item.cache_has_many :polymorphic_records, :inverse_name => :owner, :embed => true
79
79
  read_new_schema
80
80
 
81
- Record.expects(:resolve_cache_miss).returns(@record)
82
- record = Record.fetch(@record.id)
81
+ Item.expects(:resolve_cache_miss).returns(@record)
82
+ record = Item.fetch(@record.id)
83
+ end
84
+
85
+ def test_embed_existing_cache_has_many
86
+ Item.cache_has_many :polymorphic_records, :inverse_name => :owner, :embed => false
87
+ read_new_schema
88
+
89
+ record = Item.fetch(@record.id)
90
+
91
+ Item.cache_has_many :polymorphic_records, :inverse_name => :owner, :embed => true
92
+ read_new_schema
93
+
94
+ Item.expects(:resolve_cache_miss).returns(@record)
95
+ record = Item.fetch(@record.id)
83
96
  end
84
97
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: identity_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Camilo Lopez
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-09-16 00:00:00.000000000 Z
15
+ date: 2014-02-21 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: ar_transaction_changes
@@ -20,68 +20,60 @@ dependencies:
20
20
  requirements:
21
21
  - - '='
22
22
  - !ruby/object:Gem::Version
23
- version: 0.0.1
23
+ version: 0.0.3
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - '='
29
29
  - !ruby/object:Gem::Version
30
- version: 0.0.1
30
+ version: 0.0.3
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: activerecord
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - ~>
35
+ - - ">="
36
36
  - !ruby/object:Gem::Version
37
- version: 3.2.12
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- version: 3.2.12
45
- - !ruby/object:Gem::Dependency
46
- name: activesupport
47
- requirement: !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ~>
37
+ version: '3.2'
38
+ - - "<"
50
39
  - !ruby/object:Gem::Version
51
- version: 3.2.12
40
+ version: '4.1'
52
41
  type: :runtime
53
42
  prerelease: false
54
43
  version_requirements: !ruby/object:Gem::Requirement
55
44
  requirements:
56
- - - ~>
45
+ - - ">="
57
46
  - !ruby/object:Gem::Version
58
- version: 3.2.12
47
+ version: '3.2'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '4.1'
59
51
  - !ruby/object:Gem::Dependency
60
52
  name: memcache-client
61
53
  requirement: !ruby/object:Gem::Requirement
62
54
  requirements:
63
- - - ! '>='
55
+ - - ">="
64
56
  - !ruby/object:Gem::Version
65
57
  version: '0'
66
58
  type: :development
67
59
  prerelease: false
68
60
  version_requirements: !ruby/object:Gem::Requirement
69
61
  requirements:
70
- - - ! '>='
62
+ - - ">="
71
63
  - !ruby/object:Gem::Version
72
64
  version: '0'
73
65
  - !ruby/object:Gem::Dependency
74
66
  name: rake
75
67
  requirement: !ruby/object:Gem::Requirement
76
68
  requirements:
77
- - - ! '>='
69
+ - - ">="
78
70
  - !ruby/object:Gem::Version
79
71
  version: '0'
80
72
  type: :development
81
73
  prerelease: false
82
74
  version_requirements: !ruby/object:Gem::Requirement
83
75
  requirements:
84
- - - ! '>='
76
+ - - ">="
85
77
  - !ruby/object:Gem::Version
86
78
  version: '0'
87
79
  - !ruby/object:Gem::Dependency
@@ -98,34 +90,6 @@ dependencies:
98
90
  - - '='
99
91
  - !ruby/object:Gem::Version
100
92
  version: 0.14.0
101
- - !ruby/object:Gem::Dependency
102
- name: debugger
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - ! '>='
106
- - !ruby/object:Gem::Version
107
- version: '0'
108
- type: :development
109
- prerelease: false
110
- version_requirements: !ruby/object:Gem::Requirement
111
- requirements:
112
- - - ! '>='
113
- - !ruby/object:Gem::Version
114
- version: '0'
115
- - !ruby/object:Gem::Dependency
116
- name: ruby-prof
117
- requirement: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - ! '>='
120
- - !ruby/object:Gem::Version
121
- version: '0'
122
- type: :development
123
- prerelease: false
124
- version_requirements: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ! '>='
127
- - !ruby/object:Gem::Version
128
- version: '0'
129
93
  - !ruby/object:Gem::Dependency
130
94
  name: cityhash
131
95
  requirement: !ruby/object:Gem::Requirement
@@ -144,14 +108,14 @@ dependencies:
144
108
  name: mysql2
145
109
  requirement: !ruby/object:Gem::Requirement
146
110
  requirements:
147
- - - ! '>='
111
+ - - ">="
148
112
  - !ruby/object:Gem::Version
149
113
  version: '0'
150
114
  type: :development
151
115
  prerelease: false
152
116
  version_requirements: !ruby/object:Gem::Requirement
153
117
  requirements:
154
- - - ! '>='
118
+ - - ">="
155
119
  - !ruby/object:Gem::Version
156
120
  version: '0'
157
121
  description: Opt in read through ActiveRecord caching.
@@ -161,10 +125,12 @@ executables: []
161
125
  extensions: []
162
126
  extra_rdoc_files: []
163
127
  files:
164
- - .gitignore
165
- - .travis.yml
128
+ - ".gitignore"
129
+ - ".ruby-version"
130
+ - ".travis.yml"
166
131
  - CHANGELOG
167
132
  - Gemfile
133
+ - Gemfile.rails4
168
134
  - LICENSE
169
135
  - README.md
170
136
  - Rakefile
@@ -215,17 +181,17 @@ require_paths:
215
181
  - lib
216
182
  required_ruby_version: !ruby/object:Gem::Requirement
217
183
  requirements:
218
- - - ! '>='
184
+ - - ">="
219
185
  - !ruby/object:Gem::Version
220
186
  version: '0'
221
187
  required_rubygems_version: !ruby/object:Gem::Requirement
222
188
  requirements:
223
- - - ! '>='
189
+ - - ">="
224
190
  - !ruby/object:Gem::Version
225
191
  version: '0'
226
192
  requirements: []
227
193
  rubyforge_project:
228
- rubygems_version: 2.1.0
194
+ rubygems_version: 2.2.0
229
195
  signing_key:
230
196
  specification_version: 4
231
197
  summary: IdentityCache lets you specify how you want to cache your model objects,