cachetastic 1.1.8 → 1.2.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.
- data/README +3 -3
- data/doc/classes/Cachetastic/{Stores → Adapters}/Base.html +8 -8
- data/doc/classes/Cachetastic/{Stores → Adapters}/Base.src/M000023.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Base.src/M000024.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Base.src/M000025.html +4 -4
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.html +7 -7
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.src/M000026.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.src/M000027.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.src/M000028.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.src/M000029.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.src/M000030.html +3 -3
- data/doc/classes/Cachetastic/{Stores → Adapters}/File.src/M000031.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.html +8 -8
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.src/M000017.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.src/M000018.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.src/M000019.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.src/M000020.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.src/M000021.html +3 -3
- data/doc/classes/Cachetastic/{Stores → Adapters}/LocalMemory.src/M000022.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.html +8 -8
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000006.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000007.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000008.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000009.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000010.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000011.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000012.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000013.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000014.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000015.html +2 -2
- data/doc/classes/Cachetastic/{Stores → Adapters}/Memcache.src/M000016.html +2 -2
- data/doc/classes/Cachetastic/Caches/Base.html +23 -22
- data/doc/classes/Cachetastic/Caches/Base.src/M000033.html +21 -6
- data/doc/classes/Cachetastic/Caches/Base.src/M000034.html +3 -3
- data/doc/classes/Cachetastic/Caches/Base.src/M000035.html +2 -2
- data/doc/classes/Cachetastic/Caches/Base.src/M000036.html +2 -2
- data/doc/classes/Cachetastic/Caches/Base.src/M000037.html +1 -1
- data/doc/classes/Cachetastic/Caches/Base.src/M000038.html +2 -2
- data/doc/classes/Cachetastic/Caches/Base.src/M000039.html +1 -1
- data/doc/classes/Cachetastic/Caches/Base.src/M000040.html +3 -3
- data/doc/classes/Cachetastic/Caches/Base.src/M000041.html +2 -2
- data/doc/classes/Cachetastic/Caches/Base.src/M000042.html +2 -2
- data/doc/classes/Cachetastic/Connection.html +4 -4
- data/doc/classes/Cachetastic/Connection.src/M000045.html +2 -2
- data/doc/classes/Cachetastic/Logger.html +1 -1
- data/doc/created.rid +1 -1
- data/doc/files/init_rb.html +3 -3
- data/doc/files/lib/{stores/cachetastic_stores_base_rb.html → adapters/cachetastic_adapters_base_rb.html} +7 -7
- data/doc/files/lib/{stores/cachetastic_stores_file_rb.html → adapters/cachetastic_adapters_file_rb.html} +6 -6
- data/doc/files/lib/{stores/cachetastic_stores_local_memory_rb.html → adapters/cachetastic_adapters_local_memory_rb.html} +6 -6
- data/doc/files/lib/{stores/cachetastic_stores_memcache_rb.html → adapters/cachetastic_adapters_memcache_rb.html} +7 -7
- data/doc/files/lib/{stores/cachetastic_stores_store_object_rb.html → adapters/cachetastic_adapters_store_object_rb.html} +4 -4
- data/doc/files/lib/caches/cachetastic_caches_base_rb.html +1 -1
- data/doc/files/lib/cachetastic_connection_rb.html +2 -2
- data/doc/files/lib/cachetastic_logger_rb.html +2 -2
- data/doc/files/lib/cachetastic_rb.html +9 -9
- data/doc/fr_class_index.html +4 -4
- data/doc/fr_file_index.html +5 -5
- data/doc/fr_method_index.html +29 -29
- data/lib/{stores/cachetastic_stores_base.rb → adapters/cachetastic_adapters_base.rb} +8 -8
- data/lib/{stores/cachetastic_stores_file.rb → adapters/cachetastic_adapters_file.rb} +4 -4
- data/lib/{stores/cachetastic_stores_local_memory.rb → adapters/cachetastic_adapters_local_memory.rb} +5 -5
- data/lib/{stores/cachetastic_stores_memcache.rb → adapters/cachetastic_adapters_memcache.rb} +3 -3
- data/lib/{stores/cachetastic_stores_store_object.rb → adapters/cachetastic_adapters_store_object.rb} +1 -1
- data/lib/caches/cachetastic_caches_base.rb +35 -20
- data/lib/cachetastic.rb +6 -6
- data/lib/cachetastic_connection.rb +5 -5
- data/lib/cachetastic_logger.rb +1 -1
- data/lib/tasks/rubyforge_config.yml +1 -1
- metadata +86 -79
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# This class is the interface used to develop
|
|
1
|
+
# This class is the interface used to develop adapters for stores.
|
|
2
2
|
# Stores are where the data is actually held. These could be local memory,
|
|
3
3
|
# memcached, a database, the file system, etc...
|
|
4
4
|
# If you implement this API, then you should be able to plug in different
|
|
5
5
|
# stores for your caches without having to change any of your code.
|
|
6
6
|
#
|
|
7
7
|
# === Methods that need to be implemented:
|
|
8
|
-
# * setup - used to setup the implementation of the
|
|
8
|
+
# * setup - used to setup the implementation of the adapter.
|
|
9
9
|
# * set(key, object, expiry) - sets an object into the store using the given key and the expiry time.
|
|
10
10
|
# * get(key) - returns an object from the store for a given key.
|
|
11
11
|
# * delete(key, delay) - deletes an object from the store for a given key. If the store supports it, a delay can be used.
|
|
12
12
|
# * expire_all - expires all objects in the store for a given cache.
|
|
13
13
|
# * stats - returns statistics for the store.
|
|
14
|
-
# * valid? - used to test whether or not the store is still valid. If this returns false a new instance of the
|
|
15
|
-
class Cachetastic::
|
|
14
|
+
# * valid? - used to test whether or not the store is still valid. If this returns false a new instance of the adapter is created by Cachetastic::Connection
|
|
15
|
+
class Cachetastic::Adapters::Base
|
|
16
16
|
|
|
17
17
|
attr_reader :all_options
|
|
18
18
|
attr_reader :store_options
|
|
@@ -48,22 +48,22 @@ class Cachetastic::Stores::Base
|
|
|
48
48
|
class << self
|
|
49
49
|
# Merges options for the store in the configuration file with the cachetastic_default_options
|
|
50
50
|
# found in the configuration file, and returns the results.
|
|
51
|
-
# Options need to be specified in the configuration file as the methodized name of the
|
|
51
|
+
# Options need to be specified in the configuration file as the methodized name of the cache with
|
|
52
52
|
# _options attached at the end.
|
|
53
53
|
# Examples:
|
|
54
54
|
# Cachetastic::Caches::PageCache # => cachetastic_caches_page_cache_options
|
|
55
55
|
# MyAwesomeCache # => my_awesome_cache_options
|
|
56
56
|
def get_options(name)
|
|
57
57
|
options = app_config.cachetastic_default_options
|
|
58
|
-
options
|
|
59
|
-
options =
|
|
58
|
+
options = {"adapter" => "local_memory"}.merge(options)
|
|
59
|
+
options = options.merge(app_config.send(name.methodize + "_options") || {})
|
|
60
60
|
options
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
private
|
|
65
65
|
def configure
|
|
66
|
-
@all_options = Cachetastic::
|
|
66
|
+
@all_options = Cachetastic::Adapters::Base.get_options(self.name)
|
|
67
67
|
@store_options = (self.all_options["store_options"] || {})
|
|
68
68
|
@servers = self.all_options["servers"]
|
|
69
69
|
@logging = (self.all_options["logging"] || {})
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# This
|
|
1
|
+
# This adapter uses the file system as it's backing.
|
|
2
2
|
# The configuration for this should look something like this:
|
|
3
3
|
# my_awesome_cache_options:
|
|
4
4
|
# debug: false
|
|
5
|
-
#
|
|
5
|
+
# adapter: file
|
|
6
6
|
# marshall_method: none
|
|
7
7
|
# default_expiry: <%= 24.hours %>
|
|
8
8
|
# store_options:
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# logger_1:
|
|
12
12
|
# type: file
|
|
13
13
|
# file: log/file_store_cache.log
|
|
14
|
-
class Cachetastic::
|
|
14
|
+
class Cachetastic::Adapters::File < Cachetastic::Adapters::Base
|
|
15
15
|
|
|
16
16
|
attr_reader :directory
|
|
17
17
|
attr_reader :hashed_keys
|
|
@@ -51,7 +51,7 @@ class Cachetastic::Stores::File < Cachetastic::Stores::Base
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def set(key, value, expiry = 0)
|
|
54
|
-
so = Cachetastic::
|
|
54
|
+
so = Cachetastic::Adapters::StoreObject.new(key.to_s, value, expiry)
|
|
55
55
|
File.open(full_path_from_key(key), "w") do |f|
|
|
56
56
|
f.puts YAML.dump(so)
|
|
57
57
|
end
|
data/lib/{stores/cachetastic_stores_local_memory.rb → adapters/cachetastic_adapters_local_memory.rb}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#
|
|
1
|
+
# An adapter/store that keeps objects in local memory. This is great for development/testing,
|
|
2
2
|
# but probably shouldn't be put into production.
|
|
3
|
-
# It's also a very good example of how to write a
|
|
4
|
-
class Cachetastic::
|
|
3
|
+
# It's also a very good example of how to write a adapter.
|
|
4
|
+
class Cachetastic::Adapters::LocalMemory < Cachetastic::Adapters::Base
|
|
5
5
|
|
|
6
6
|
attr_accessor :local_store
|
|
7
7
|
|
|
@@ -17,7 +17,7 @@ class Cachetastic::Stores::LocalMemory < Cachetastic::Stores::Base
|
|
|
17
17
|
self.local_store = {}
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
# See Cachetastic::
|
|
20
|
+
# See Cachetastic::Adapters::Base
|
|
21
21
|
def get(key)
|
|
22
22
|
so = self.local_store[key.to_s]
|
|
23
23
|
if so
|
|
@@ -31,7 +31,7 @@ class Cachetastic::Stores::LocalMemory < Cachetastic::Stores::Base
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
def set(key, value, expiry = 0)
|
|
34
|
-
self.local_store[key.to_s] = Cachetastic::
|
|
34
|
+
self.local_store[key.to_s] = Cachetastic::Adapters::StoreObject.new(key.to_s, value, expiry)
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
def delete(key, delay = 0)
|
data/lib/{stores/cachetastic_stores_memcache.rb → adapters/cachetastic_adapters_memcache.rb}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# This
|
|
1
|
+
# This adapter uses Memcache as it's backing.
|
|
2
2
|
# The configuration for this should look something like this:
|
|
3
3
|
# my_awesome_cache_options:
|
|
4
4
|
# debug: false
|
|
5
|
-
#
|
|
5
|
+
# adapter: memcache
|
|
6
6
|
# marshall_method: none
|
|
7
7
|
# default_expiry: <%= 24.hours %>
|
|
8
8
|
# store_options:
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
# file: log/memcached.log
|
|
18
18
|
# servers:
|
|
19
19
|
# - 127.0.0.1:11211
|
|
20
|
-
class Cachetastic::
|
|
20
|
+
class Cachetastic::Adapters::Memcache < Cachetastic::Adapters::Base
|
|
21
21
|
|
|
22
22
|
def setup
|
|
23
23
|
self.conn = MemCache.new(self.servers, self.store_options.merge({:namespace => self.namespace}))
|
|
@@ -58,13 +58,28 @@ class Cachetastic::Caches::Base
|
|
|
58
58
|
def get(key)
|
|
59
59
|
res = nil
|
|
60
60
|
do_with_logging(:get, key) do
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
retryable(:on => ArgumentError) do
|
|
62
|
+
begin
|
|
63
|
+
res = adapter.get(key.to_s)
|
|
64
|
+
if res.nil?
|
|
65
|
+
res = yield key if block_given?
|
|
66
|
+
else
|
|
67
|
+
res = unmarshall(res)
|
|
68
|
+
end
|
|
69
|
+
res
|
|
70
|
+
rescue ArgumentError => e
|
|
71
|
+
m = e.message.match(/class\/module .*/)
|
|
72
|
+
if m
|
|
73
|
+
m = m.to_s
|
|
74
|
+
m.gsub!("class/module", '')
|
|
75
|
+
m.gsub!("(ArgumentError)", '')
|
|
76
|
+
require m.strip.underscore
|
|
77
|
+
raise e
|
|
78
|
+
end
|
|
79
|
+
rescue Exception => e
|
|
80
|
+
raise e
|
|
81
|
+
end
|
|
66
82
|
end
|
|
67
|
-
res
|
|
68
83
|
end
|
|
69
84
|
res
|
|
70
85
|
end
|
|
@@ -76,10 +91,10 @@ class Cachetastic::Caches::Base
|
|
|
76
91
|
# used.
|
|
77
92
|
# If there is an expiry_swing set in the config file it will be +/- to the
|
|
78
93
|
# expiry time. See also: calculate_expiry_time
|
|
79
|
-
def set(key, value, expiry = (
|
|
94
|
+
def set(key, value, expiry = (adapter.all_options["default_expiry"] || 0))
|
|
80
95
|
do_with_logging(:set, key) do
|
|
81
96
|
expiry = calculate_expiry_time(expiry)
|
|
82
|
-
|
|
97
|
+
adapter.set(key.to_s, marshall(value), expiry.to_i)
|
|
83
98
|
logger.info('', '', :expiry, cache_name, key, expiry.to_i)
|
|
84
99
|
value
|
|
85
100
|
end
|
|
@@ -92,13 +107,13 @@ class Cachetastic::Caches::Base
|
|
|
92
107
|
# The default of 0 means the object gets deleted right away.
|
|
93
108
|
def delete(key, delay = 0)
|
|
94
109
|
do_with_logging(:delete, key) do
|
|
95
|
-
|
|
110
|
+
adapter.delete(key.to_s, delay)
|
|
96
111
|
end
|
|
97
112
|
end
|
|
98
113
|
|
|
99
114
|
# Expires all objects for this cache.
|
|
100
115
|
def expire_all
|
|
101
|
-
|
|
116
|
+
adapter.expire_all
|
|
102
117
|
logger.info('', '', :expired, cache_name)
|
|
103
118
|
end
|
|
104
119
|
|
|
@@ -109,9 +124,9 @@ class Cachetastic::Caches::Base
|
|
|
109
124
|
raise MethodNotImplemented.new("populate_all")
|
|
110
125
|
end
|
|
111
126
|
|
|
112
|
-
# A convenience method that returns statistics for the underlying Cachetastic::
|
|
127
|
+
# A convenience method that returns statistics for the underlying Cachetastic::Adapters::Base for the cache.
|
|
113
128
|
def stats
|
|
114
|
-
|
|
129
|
+
adapter.stats
|
|
115
130
|
end
|
|
116
131
|
|
|
117
132
|
# Returns a 'methodize' version of the cache's class name. This gets used in logging,
|
|
@@ -122,21 +137,21 @@ class Cachetastic::Caches::Base
|
|
|
122
137
|
self.name.methodize
|
|
123
138
|
end
|
|
124
139
|
|
|
125
|
-
# Returns the underlying Cachetastic::
|
|
126
|
-
def
|
|
140
|
+
# Returns the underlying Cachetastic::Adapters::Base for this cache.
|
|
141
|
+
def adapter
|
|
127
142
|
cache_conn_instance.get(cache_name)
|
|
128
143
|
end
|
|
129
144
|
|
|
130
|
-
# Returns the Cachetastic::Logger for the underlying Cachetastic::
|
|
145
|
+
# Returns the Cachetastic::Logger for the underlying Cachetastic::Adapters::Base.
|
|
131
146
|
def logger
|
|
132
|
-
|
|
147
|
+
adapter.logger
|
|
133
148
|
end
|
|
134
149
|
|
|
135
150
|
private
|
|
136
151
|
# If the expiry time is set to 60 minutes and the expiry_swing time is set to
|
|
137
152
|
# 15 minutes, this method will return a number between 45 minutes and 75 minutes.
|
|
138
153
|
def calculate_expiry_time(expiry) # :doc:
|
|
139
|
-
exp_swing =
|
|
154
|
+
exp_swing = adapter.all_options["expiry_swing"]
|
|
140
155
|
if exp_swing
|
|
141
156
|
swing = rand(exp_swing.to_i)
|
|
142
157
|
case rand(2)
|
|
@@ -156,7 +171,7 @@ class Cachetastic::Caches::Base
|
|
|
156
171
|
end
|
|
157
172
|
|
|
158
173
|
def marshall(value)
|
|
159
|
-
return case
|
|
174
|
+
return case adapter.all_options["marshall_method"]
|
|
160
175
|
when "yaml"
|
|
161
176
|
YAML.dump(value)
|
|
162
177
|
else
|
|
@@ -165,7 +180,7 @@ class Cachetastic::Caches::Base
|
|
|
165
180
|
end
|
|
166
181
|
|
|
167
182
|
def unmarshall(value)
|
|
168
|
-
return case
|
|
183
|
+
return case adapter.all_options["marshall_method"]
|
|
169
184
|
when "yaml"
|
|
170
185
|
YAML.load(value)
|
|
171
186
|
else
|
|
@@ -186,7 +201,7 @@ class Cachetastic::Caches::Base
|
|
|
186
201
|
unless res.nil?
|
|
187
202
|
str = "[#{res.class.name}]"
|
|
188
203
|
str << "\t[Size = #{res.size}]" if res.respond_to? :size
|
|
189
|
-
str << "\t" << res.inspect if
|
|
204
|
+
str << "\t" << res.inspect if adapter.debug?
|
|
190
205
|
end
|
|
191
206
|
logger.info(:finished, action, cache_name, key, (end_time - start_time), str)
|
|
192
207
|
res
|
data/lib/cachetastic.rb
CHANGED
|
@@ -12,7 +12,7 @@ module Cachetastic #:nodoc:#
|
|
|
12
12
|
module ActiveRecord #:nodoc:#
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
|
-
module
|
|
15
|
+
module Adapters #:nodoc:#
|
|
16
16
|
end
|
|
17
17
|
module Helpers #:nodoc:#
|
|
18
18
|
module ActiveRecord #:nodoc:#
|
|
@@ -27,11 +27,11 @@ require 'cachetastic_logger'
|
|
|
27
27
|
require 'caches/cachetastic_caches_base'
|
|
28
28
|
require 'caches/cachetastic_caches_page_cache'
|
|
29
29
|
require 'caches/cachetastic_caches_rails_session_cache'
|
|
30
|
-
require '
|
|
31
|
-
require '
|
|
32
|
-
require '
|
|
33
|
-
require '
|
|
34
|
-
require '
|
|
30
|
+
require 'adapters/cachetastic_adapters_base'
|
|
31
|
+
require 'adapters/cachetastic_adapters_store_object'
|
|
32
|
+
require 'adapters/cachetastic_adapters_memcache'
|
|
33
|
+
require 'adapters/cachetastic_adapters_local_memory'
|
|
34
|
+
require 'adapters/cachetastic_adapters_file'
|
|
35
35
|
require 'helpers/cachetastic_helpers_active_record'
|
|
36
36
|
require 'rails_extensions/cachetastic_active_record_base'
|
|
37
37
|
require 'rails_extensions/cgi_session_cachetastic_store'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# This class caches
|
|
1
|
+
# This class caches adapter objects for each cache in the system.
|
|
2
2
|
class Cachetastic::Connection
|
|
3
3
|
include Singleton
|
|
4
4
|
|
|
@@ -8,15 +8,15 @@ class Cachetastic::Connection
|
|
|
8
8
|
self.connections = {}
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Takes the name of the cache, that's been methodized, and returns back the
|
|
12
|
-
# If the
|
|
11
|
+
# Takes the name of the cache, that's been methodized, and returns back the adapter object associated with the cache.
|
|
12
|
+
# If the adapter object doesn't exist or if the adapter is no longer valid (adapter.valid?) a new one is
|
|
13
13
|
# created and returned.
|
|
14
14
|
def get(name)
|
|
15
15
|
name = name.to_sym
|
|
16
16
|
conn = self.connections[name]
|
|
17
17
|
return conn if conn && conn.valid?
|
|
18
|
-
|
|
19
|
-
conn = "Cachetastic::
|
|
18
|
+
adapter = Cachetastic::Adapters::Base.get_options(name)["adapter"].camelcase
|
|
19
|
+
conn = "Cachetastic::Adapters::#{adapter}".constantize.new(name)
|
|
20
20
|
self.connections[name.to_sym] = conn
|
|
21
21
|
return conn
|
|
22
22
|
end
|
data/lib/cachetastic_logger.rb
CHANGED
metadata
CHANGED
|
@@ -1,35 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
-
rubygems_version: 0.9.2
|
|
3
|
-
specification_version: 1
|
|
4
2
|
name: cachetastic
|
|
5
3
|
version: !ruby/object:Gem::Version
|
|
6
|
-
version: 1.1
|
|
7
|
-
date: 2008-01-16 00:00:00 -05:00
|
|
8
|
-
summary: cachetastic
|
|
9
|
-
require_paths:
|
|
10
|
-
- lib
|
|
11
|
-
- lib
|
|
12
|
-
email:
|
|
13
|
-
homepage:
|
|
14
|
-
rubyforge_project: magrathea
|
|
15
|
-
description: "cachetastic was developed by: markbates"
|
|
16
|
-
autorequire:
|
|
17
|
-
- cachetastic
|
|
18
|
-
default_executable:
|
|
19
|
-
bindir: bin
|
|
20
|
-
has_rdoc: true
|
|
21
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
22
|
-
requirements:
|
|
23
|
-
- - ">"
|
|
24
|
-
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.0.0
|
|
26
|
-
version:
|
|
4
|
+
version: 1.2.1
|
|
27
5
|
platform: ruby
|
|
28
|
-
signing_key:
|
|
29
|
-
cert_chain:
|
|
30
|
-
post_install_message:
|
|
31
6
|
authors:
|
|
32
7
|
- markbates
|
|
8
|
+
autorequire:
|
|
9
|
+
- cachetastic
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
|
|
13
|
+
date: 2008-01-29 00:00:00 -05:00
|
|
14
|
+
default_executable:
|
|
15
|
+
dependencies: []
|
|
16
|
+
|
|
17
|
+
description: "cachetastic was developed by: markbates"
|
|
18
|
+
email:
|
|
19
|
+
executables: []
|
|
20
|
+
|
|
21
|
+
extensions: []
|
|
22
|
+
|
|
23
|
+
extra_rdoc_files: []
|
|
24
|
+
|
|
33
25
|
files:
|
|
34
26
|
- doc/classes/ActiveRecord/Base.html
|
|
35
27
|
- doc/classes/ActiveRecord/Base.src
|
|
@@ -38,6 +30,40 @@ files:
|
|
|
38
30
|
- doc/classes/ActiveRecord/Base.src/M000003.html
|
|
39
31
|
- doc/classes/ActiveRecord/Base.src/M000004.html
|
|
40
32
|
- doc/classes/ActiveRecord/Base.src/M000005.html
|
|
33
|
+
- doc/classes/Cachetastic/Adapters/Base.html
|
|
34
|
+
- doc/classes/Cachetastic/Adapters/Base.src
|
|
35
|
+
- doc/classes/Cachetastic/Adapters/Base.src/M000023.html
|
|
36
|
+
- doc/classes/Cachetastic/Adapters/Base.src/M000024.html
|
|
37
|
+
- doc/classes/Cachetastic/Adapters/Base.src/M000025.html
|
|
38
|
+
- doc/classes/Cachetastic/Adapters/File.html
|
|
39
|
+
- doc/classes/Cachetastic/Adapters/File.src
|
|
40
|
+
- doc/classes/Cachetastic/Adapters/File.src/M000026.html
|
|
41
|
+
- doc/classes/Cachetastic/Adapters/File.src/M000027.html
|
|
42
|
+
- doc/classes/Cachetastic/Adapters/File.src/M000028.html
|
|
43
|
+
- doc/classes/Cachetastic/Adapters/File.src/M000029.html
|
|
44
|
+
- doc/classes/Cachetastic/Adapters/File.src/M000030.html
|
|
45
|
+
- doc/classes/Cachetastic/Adapters/File.src/M000031.html
|
|
46
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.html
|
|
47
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src
|
|
48
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src/M000017.html
|
|
49
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src/M000018.html
|
|
50
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src/M000019.html
|
|
51
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src/M000020.html
|
|
52
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src/M000021.html
|
|
53
|
+
- doc/classes/Cachetastic/Adapters/LocalMemory.src/M000022.html
|
|
54
|
+
- doc/classes/Cachetastic/Adapters/Memcache.html
|
|
55
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src
|
|
56
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000006.html
|
|
57
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000007.html
|
|
58
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000008.html
|
|
59
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000009.html
|
|
60
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000010.html
|
|
61
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000011.html
|
|
62
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000012.html
|
|
63
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000013.html
|
|
64
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000014.html
|
|
65
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000015.html
|
|
66
|
+
- doc/classes/Cachetastic/Adapters/Memcache.src/M000016.html
|
|
41
67
|
- doc/classes/Cachetastic/Caches/Base/RegisteredCaches.html
|
|
42
68
|
- doc/classes/Cachetastic/Caches/Base/RegisteredCaches.src
|
|
43
69
|
- doc/classes/Cachetastic/Caches/Base/RegisteredCaches.src/M000043.html
|
|
@@ -63,43 +89,14 @@ files:
|
|
|
63
89
|
- doc/classes/Cachetastic/Logger.html
|
|
64
90
|
- doc/classes/Cachetastic/Logger.src
|
|
65
91
|
- doc/classes/Cachetastic/Logger.src/M000046.html
|
|
66
|
-
- doc/classes/Cachetastic/Stores/Base.html
|
|
67
|
-
- doc/classes/Cachetastic/Stores/Base.src
|
|
68
|
-
- doc/classes/Cachetastic/Stores/Base.src/M000023.html
|
|
69
|
-
- doc/classes/Cachetastic/Stores/Base.src/M000024.html
|
|
70
|
-
- doc/classes/Cachetastic/Stores/Base.src/M000025.html
|
|
71
|
-
- doc/classes/Cachetastic/Stores/File.html
|
|
72
|
-
- doc/classes/Cachetastic/Stores/File.src
|
|
73
|
-
- doc/classes/Cachetastic/Stores/File.src/M000026.html
|
|
74
|
-
- doc/classes/Cachetastic/Stores/File.src/M000027.html
|
|
75
|
-
- doc/classes/Cachetastic/Stores/File.src/M000028.html
|
|
76
|
-
- doc/classes/Cachetastic/Stores/File.src/M000029.html
|
|
77
|
-
- doc/classes/Cachetastic/Stores/File.src/M000030.html
|
|
78
|
-
- doc/classes/Cachetastic/Stores/File.src/M000031.html
|
|
79
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.html
|
|
80
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src
|
|
81
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src/M000017.html
|
|
82
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src/M000018.html
|
|
83
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src/M000019.html
|
|
84
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src/M000020.html
|
|
85
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src/M000021.html
|
|
86
|
-
- doc/classes/Cachetastic/Stores/LocalMemory.src/M000022.html
|
|
87
|
-
- doc/classes/Cachetastic/Stores/Memcache.html
|
|
88
|
-
- doc/classes/Cachetastic/Stores/Memcache.src
|
|
89
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000006.html
|
|
90
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000007.html
|
|
91
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000008.html
|
|
92
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000009.html
|
|
93
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000010.html
|
|
94
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000011.html
|
|
95
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000012.html
|
|
96
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000013.html
|
|
97
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000014.html
|
|
98
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000015.html
|
|
99
|
-
- doc/classes/Cachetastic/Stores/Memcache.src/M000016.html
|
|
100
92
|
- doc/classes/CGI/Session/CachetasticStore.html
|
|
101
93
|
- doc/created.rid
|
|
102
94
|
- doc/files/init_rb.html
|
|
95
|
+
- doc/files/lib/adapters/cachetastic_adapters_base_rb.html
|
|
96
|
+
- doc/files/lib/adapters/cachetastic_adapters_file_rb.html
|
|
97
|
+
- doc/files/lib/adapters/cachetastic_adapters_local_memory_rb.html
|
|
98
|
+
- doc/files/lib/adapters/cachetastic_adapters_memcache_rb.html
|
|
99
|
+
- doc/files/lib/adapters/cachetastic_adapters_store_object_rb.html
|
|
103
100
|
- doc/files/lib/caches/cachetastic_caches_base_rb.html
|
|
104
101
|
- doc/files/lib/caches/cachetastic_caches_page_cache_rb.html
|
|
105
102
|
- doc/files/lib/caches/cachetastic_caches_rails_session_cache_rb.html
|
|
@@ -109,17 +106,17 @@ files:
|
|
|
109
106
|
- doc/files/lib/helpers/cachetastic_helpers_active_record_rb.html
|
|
110
107
|
- doc/files/lib/rails_extensions/cachetastic_active_record_base_rb.html
|
|
111
108
|
- doc/files/lib/rails_extensions/cgi_session_cachetastic_store_rb.html
|
|
112
|
-
- doc/files/lib/stores/cachetastic_stores_base_rb.html
|
|
113
|
-
- doc/files/lib/stores/cachetastic_stores_file_rb.html
|
|
114
|
-
- doc/files/lib/stores/cachetastic_stores_local_memory_rb.html
|
|
115
|
-
- doc/files/lib/stores/cachetastic_stores_memcache_rb.html
|
|
116
|
-
- doc/files/lib/stores/cachetastic_stores_store_object_rb.html
|
|
117
109
|
- doc/fr_class_index.html
|
|
118
110
|
- doc/fr_file_index.html
|
|
119
111
|
- doc/fr_method_index.html
|
|
120
112
|
- doc/index.html
|
|
121
113
|
- doc/rdoc-style.css
|
|
122
114
|
- init.rb
|
|
115
|
+
- lib/adapters/cachetastic_adapters_base.rb
|
|
116
|
+
- lib/adapters/cachetastic_adapters_file.rb
|
|
117
|
+
- lib/adapters/cachetastic_adapters_local_memory.rb
|
|
118
|
+
- lib/adapters/cachetastic_adapters_memcache.rb
|
|
119
|
+
- lib/adapters/cachetastic_adapters_store_object.rb
|
|
123
120
|
- lib/caches/cachetastic_caches_base.rb
|
|
124
121
|
- lib/caches/cachetastic_caches_page_cache.rb
|
|
125
122
|
- lib/caches/cachetastic_caches_rails_session_cache.rb
|
|
@@ -129,24 +126,34 @@ files:
|
|
|
129
126
|
- lib/helpers/cachetastic_helpers_active_record.rb
|
|
130
127
|
- lib/rails_extensions/cachetastic_active_record_base.rb
|
|
131
128
|
- lib/rails_extensions/cgi_session_cachetastic_store.rb
|
|
132
|
-
- lib/stores/cachetastic_stores_base.rb
|
|
133
|
-
- lib/stores/cachetastic_stores_file.rb
|
|
134
|
-
- lib/stores/cachetastic_stores_local_memory.rb
|
|
135
|
-
- lib/stores/cachetastic_stores_memcache.rb
|
|
136
|
-
- lib/stores/cachetastic_stores_store_object.rb
|
|
137
129
|
- lib/tasks/rubyforge_config.yml
|
|
138
130
|
- README
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
has_rdoc: true
|
|
132
|
+
homepage:
|
|
133
|
+
post_install_message:
|
|
141
134
|
rdoc_options: []
|
|
142
135
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
136
|
+
require_paths:
|
|
137
|
+
- lib
|
|
138
|
+
- lib
|
|
139
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
|
+
requirements:
|
|
141
|
+
- - ">="
|
|
142
|
+
- !ruby/object:Gem::Version
|
|
143
|
+
version: "0"
|
|
144
|
+
version:
|
|
145
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
|
+
requirements:
|
|
147
|
+
- - ">="
|
|
148
|
+
- !ruby/object:Gem::Version
|
|
149
|
+
version: "0"
|
|
150
|
+
version:
|
|
149
151
|
requirements: []
|
|
150
152
|
|
|
151
|
-
|
|
153
|
+
rubyforge_project: magrathea
|
|
154
|
+
rubygems_version: 1.0.1
|
|
155
|
+
signing_key:
|
|
156
|
+
specification_version: 2
|
|
157
|
+
summary: cachetastic
|
|
158
|
+
test_files: []
|
|
152
159
|
|