sreeix-cache-money 0.2.24.1

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.
Files changed (49) hide show
  1. data/LICENSE +201 -0
  2. data/README +210 -0
  3. data/README.markdown +210 -0
  4. data/TODO +17 -0
  5. data/UNSUPPORTED_FEATURES +13 -0
  6. data/config/environment.rb +16 -0
  7. data/config/memcached.yml +6 -0
  8. data/db/schema.rb +18 -0
  9. data/init.rb +1 -0
  10. data/lib/cache_money.rb +91 -0
  11. data/lib/cash/accessor.rb +83 -0
  12. data/lib/cash/buffered.rb +129 -0
  13. data/lib/cash/config.rb +75 -0
  14. data/lib/cash/fake.rb +83 -0
  15. data/lib/cash/finders.rb +38 -0
  16. data/lib/cash/index.rb +214 -0
  17. data/lib/cash/local.rb +76 -0
  18. data/lib/cash/lock.rb +63 -0
  19. data/lib/cash/mock.rb +154 -0
  20. data/lib/cash/query/abstract.rb +210 -0
  21. data/lib/cash/query/calculation.rb +45 -0
  22. data/lib/cash/query/primary_key.rb +50 -0
  23. data/lib/cash/query/select.rb +16 -0
  24. data/lib/cash/request.rb +3 -0
  25. data/lib/cash/transactional.rb +43 -0
  26. data/lib/cash/util/array.rb +9 -0
  27. data/lib/cash/util/marshal.rb +19 -0
  28. data/lib/cash/write_through.rb +69 -0
  29. data/lib/mem_cached_session_store.rb +49 -0
  30. data/lib/mem_cached_support_store.rb +135 -0
  31. data/lib/memcached_wrapper.rb +263 -0
  32. data/rails/init.rb +38 -0
  33. data/spec/cash/accessor_spec.rb +159 -0
  34. data/spec/cash/active_record_spec.rb +224 -0
  35. data/spec/cash/buffered_spec.rb +9 -0
  36. data/spec/cash/calculations_spec.rb +78 -0
  37. data/spec/cash/finders_spec.rb +430 -0
  38. data/spec/cash/local_buffer_spec.rb +9 -0
  39. data/spec/cash/local_spec.rb +9 -0
  40. data/spec/cash/lock_spec.rb +108 -0
  41. data/spec/cash/marshal_spec.rb +60 -0
  42. data/spec/cash/order_spec.rb +138 -0
  43. data/spec/cash/shared.rb +62 -0
  44. data/spec/cash/transactional_spec.rb +578 -0
  45. data/spec/cash/window_spec.rb +195 -0
  46. data/spec/cash/write_through_spec.rb +245 -0
  47. data/spec/memcached_wrapper_test.rb +209 -0
  48. data/spec/spec_helper.rb +60 -0
  49. metadata +151 -0
@@ -0,0 +1,60 @@
1
+ dir = File.dirname(__FILE__)
2
+ $LOAD_PATH.unshift "#{dir}/../lib"
3
+
4
+ require File.join(dir, '../config/environment')
5
+ require 'pp'
6
+ require 'cache_money'
7
+ require 'memcache'
8
+ # require 'memcached'
9
+ require 'memcached_wrapper'
10
+ require File.expand_path(File.join(File.dirname(__FILE__), "cash/shared.rb"))
11
+ RSpec.configure do |config|
12
+ config.mock_with :rr
13
+ config.before :all do
14
+ load File.join(dir, "../db/schema.rb")
15
+
16
+ config = YAML.load(IO.read((File.expand_path(File.dirname(__FILE__) + "/../config/memcached.yml"))))['test']
17
+ $memcache = MemcachedWrapper.new(config["servers"].gsub(' ', '').split(','), config)
18
+ $lock = Cash::Lock.new($memcache)
19
+ end
20
+
21
+ config.before :each do
22
+ $memcache.flush_all
23
+ Story.delete_all
24
+ Character.delete_all
25
+ end
26
+
27
+ config.before :all do
28
+ ActiveRecord::Base.class_eval do
29
+ is_cached :repository => Cash::Transactional.new($memcache, $lock)
30
+ end
31
+
32
+ Character = Class.new(ActiveRecord::Base)
33
+ Story = Class.new(ActiveRecord::Base)
34
+ Story.has_many :characters
35
+
36
+ Story.class_eval do
37
+ index :title
38
+ index [:id, :title]
39
+ index :published
40
+ end
41
+
42
+ Short = Class.new(Story)
43
+ Short.class_eval do
44
+ index :subtitle, :order_column => 'title'
45
+ end
46
+
47
+ Epic = Class.new(Story)
48
+ Oral = Class.new(Epic)
49
+
50
+ Character.class_eval do
51
+ index [:name, :story_id]
52
+ index [:id, :story_id]
53
+ index [:id, :name, :story_id]
54
+ end
55
+
56
+ Oral.class_eval do
57
+ index :subtitle
58
+ end
59
+ end
60
+ end
metadata ADDED
@@ -0,0 +1,151 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sreeix-cache-money
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.2.24.1
6
+ platform: ruby
7
+ authors:
8
+ - Nick Kallen
9
+ - Ashley Martens
10
+ - Scott Mace
11
+ - John O'Neill
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+
16
+ date: 2011-05-27 00:00:00 +05:30
17
+ default_executable:
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: activerecord
21
+ requirement: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.2.0
27
+ type: :runtime
28
+ prerelease: false
29
+ version_requirements: *id001
30
+ - !ruby/object:Gem::Dependency
31
+ name: activesupport
32
+ requirement: &id002 !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: 2.2.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: *id002
41
+ description: Write-through and Read-through Cacheing for ActiveRecord
42
+ email: teamplatform@ngmoco.com
43
+ executables: []
44
+
45
+ extensions: []
46
+
47
+ extra_rdoc_files:
48
+ - LICENSE
49
+ - README
50
+ - README.markdown
51
+ - TODO
52
+ files:
53
+ - README
54
+ - TODO
55
+ - UNSUPPORTED_FEATURES
56
+ - init.rb
57
+ - lib/cache_money.rb
58
+ - lib/cash/accessor.rb
59
+ - lib/cash/buffered.rb
60
+ - lib/cash/config.rb
61
+ - lib/cash/fake.rb
62
+ - lib/cash/finders.rb
63
+ - lib/cash/index.rb
64
+ - lib/cash/local.rb
65
+ - lib/cash/lock.rb
66
+ - lib/cash/mock.rb
67
+ - lib/cash/query/abstract.rb
68
+ - lib/cash/query/calculation.rb
69
+ - lib/cash/query/primary_key.rb
70
+ - lib/cash/query/select.rb
71
+ - lib/cash/request.rb
72
+ - lib/cash/transactional.rb
73
+ - lib/cash/util/array.rb
74
+ - lib/cash/util/marshal.rb
75
+ - lib/cash/write_through.rb
76
+ - lib/mem_cached_session_store.rb
77
+ - lib/mem_cached_support_store.rb
78
+ - lib/memcached_wrapper.rb
79
+ - rails/init.rb
80
+ - LICENSE
81
+ - README.markdown
82
+ - config/environment.rb
83
+ - config/memcached.yml
84
+ - db/schema.rb
85
+ - spec/cash/accessor_spec.rb
86
+ - spec/cash/active_record_spec.rb
87
+ - spec/cash/buffered_spec.rb
88
+ - spec/cash/calculations_spec.rb
89
+ - spec/cash/finders_spec.rb
90
+ - spec/cash/local_buffer_spec.rb
91
+ - spec/cash/local_spec.rb
92
+ - spec/cash/lock_spec.rb
93
+ - spec/cash/marshal_spec.rb
94
+ - spec/cash/order_spec.rb
95
+ - spec/cash/shared.rb
96
+ - spec/cash/transactional_spec.rb
97
+ - spec/cash/window_spec.rb
98
+ - spec/cash/write_through_spec.rb
99
+ - spec/memcached_wrapper_test.rb
100
+ - spec/spec_helper.rb
101
+ has_rdoc: true
102
+ homepage: http://github.com/sreeix/cache-money
103
+ licenses: []
104
+
105
+ post_install_message:
106
+ rdoc_options:
107
+ - --charset=UTF-8
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 2399445596055783285
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: "0"
125
+ requirements: []
126
+
127
+ rubyforge_project:
128
+ rubygems_version: 1.6.2
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: Write-through and Read-through Cacheing for ActiveRecord
132
+ test_files:
133
+ - config/environment.rb
134
+ - config/memcached.yml
135
+ - db/schema.rb
136
+ - spec/cash/accessor_spec.rb
137
+ - spec/cash/active_record_spec.rb
138
+ - spec/cash/buffered_spec.rb
139
+ - spec/cash/calculations_spec.rb
140
+ - spec/cash/finders_spec.rb
141
+ - spec/cash/local_buffer_spec.rb
142
+ - spec/cash/local_spec.rb
143
+ - spec/cash/lock_spec.rb
144
+ - spec/cash/marshal_spec.rb
145
+ - spec/cash/order_spec.rb
146
+ - spec/cash/shared.rb
147
+ - spec/cash/transactional_spec.rb
148
+ - spec/cash/window_spec.rb
149
+ - spec/cash/write_through_spec.rb
150
+ - spec/memcached_wrapper_test.rb
151
+ - spec/spec_helper.rb