mack-caching 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gems/cachetastic-2.0.0/bin/cachetastic_drb_server +115 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/base.rb +78 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/drb.rb +51 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/file.rb +49 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/file_base.rb +86 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/html_file.rb +68 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/local_memory.rb +68 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/memcache.rb +114 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/store_object.rb +28 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/cacheable.rb +196 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/base.rb +238 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/mack_session_cache.rb +3 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/page_cache.rb +6 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/rails_session_cache.rb +12 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/connection.rb +24 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/errors/unsupported_adapter.rb +7 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/logger.rb +49 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions/active_record_base.rb +24 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions/cgi_session_store.rb +59 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic/ruby_extensions/object.rb +8 -0
- data/lib/gems/cachetastic-2.0.0/lib/cachetastic.rb +70 -0
- data/lib/gems/memcache-client-1.5.0/lib/memcache.rb +805 -0
- data/lib/gems/memcache-client-1.5.0/lib/memcache_util.rb +90 -0
- data/lib/gems.rb +13 -0
- data/lib/mack-caching.rb +2 -1
- data/lib/mack-caching_tasks.rb +2 -0
- metadata +51 -16
@@ -0,0 +1,90 @@
|
|
1
|
+
##
|
2
|
+
# A utility wrapper around the MemCache client to simplify cache access. All
|
3
|
+
# methods silently ignore MemCache errors.
|
4
|
+
|
5
|
+
module Cache
|
6
|
+
|
7
|
+
##
|
8
|
+
# Returns the object at +key+ from the cache if successful, or nil if either
|
9
|
+
# the object is not in the cache or if there was an error attermpting to
|
10
|
+
# access the cache.
|
11
|
+
#
|
12
|
+
# If there is a cache miss and a block is given the result of the block will
|
13
|
+
# be stored in the cache with optional +expiry+, using the +add+ method rather
|
14
|
+
# than +set+.
|
15
|
+
|
16
|
+
def self.get(key, expiry = 0)
|
17
|
+
start_time = Time.now
|
18
|
+
value = CACHE.get key
|
19
|
+
elapsed = Time.now - start_time
|
20
|
+
ActiveRecord::Base.logger.debug('MemCache Get (%0.6f) %s' % [elapsed, key])
|
21
|
+
if value.nil? and block_given? then
|
22
|
+
value = yield
|
23
|
+
add key, value, expiry
|
24
|
+
end
|
25
|
+
value
|
26
|
+
rescue MemCache::MemCacheError => err
|
27
|
+
ActiveRecord::Base.logger.debug "MemCache Error: #{err.message}"
|
28
|
+
if block_given? then
|
29
|
+
value = yield
|
30
|
+
put key, value, expiry
|
31
|
+
end
|
32
|
+
value
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# Sets +value+ in the cache at +key+, with an optional +expiry+ time in
|
37
|
+
# seconds.
|
38
|
+
|
39
|
+
def self.put(key, value, expiry = 0)
|
40
|
+
start_time = Time.now
|
41
|
+
CACHE.set key, value, expiry
|
42
|
+
elapsed = Time.now - start_time
|
43
|
+
ActiveRecord::Base.logger.debug('MemCache Set (%0.6f) %s' % [elapsed, key])
|
44
|
+
value
|
45
|
+
rescue MemCache::MemCacheError => err
|
46
|
+
ActiveRecord::Base.logger.debug "MemCache Error: #{err.message}"
|
47
|
+
nil
|
48
|
+
end
|
49
|
+
|
50
|
+
##
|
51
|
+
# Sets +value+ in the cache at +key+, with an optional +expiry+ time in
|
52
|
+
# seconds. If +key+ already exists in cache, returns nil.
|
53
|
+
|
54
|
+
def self.add(key, value, expiry = 0)
|
55
|
+
start_time = Time.now
|
56
|
+
response = CACHE.add key, value, expiry
|
57
|
+
elapsed = Time.now - start_time
|
58
|
+
ActiveRecord::Base.logger.debug('MemCache Add (%0.6f) %s' % [elapsed, key])
|
59
|
+
(response == "STORED\r\n") ? value : nil
|
60
|
+
rescue MemCache::MemCacheError => err
|
61
|
+
ActiveRecord::Base.logger.debug "MemCache Error: #{err.message}"
|
62
|
+
nil
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# Deletes +key+ from the cache in +delay+ seconds.
|
67
|
+
|
68
|
+
def self.delete(key, delay = nil)
|
69
|
+
start_time = Time.now
|
70
|
+
CACHE.delete key, delay
|
71
|
+
elapsed = Time.now - start_time
|
72
|
+
ActiveRecord::Base.logger.debug('MemCache Delete (%0.6f) %s' %
|
73
|
+
[elapsed, key])
|
74
|
+
nil
|
75
|
+
rescue MemCache::MemCacheError => err
|
76
|
+
ActiveRecord::Base.logger.debug "MemCache Error: #{err.message}"
|
77
|
+
nil
|
78
|
+
end
|
79
|
+
|
80
|
+
##
|
81
|
+
# Resets all connections to MemCache servers.
|
82
|
+
|
83
|
+
def self.reset
|
84
|
+
CACHE.reset
|
85
|
+
ActiveRecord::Base.logger.debug 'MemCache Connections Reset'
|
86
|
+
nil
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
|
data/lib/gems.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
path = File.expand_path(File.join(File.dirname(__FILE__), 'gems'))
|
2
|
+
Gem.set_paths(path)
|
3
|
+
|
4
|
+
Dir.glob(File.join(path, '*')).each do |p|
|
5
|
+
full_gem_name = File.basename(p)
|
6
|
+
version = full_gem_name.match(/([\d\.?]+)/).to_s
|
7
|
+
gem_name = full_gem_name.gsub("-#{version}", '')
|
8
|
+
$:.unshift(File.join(p, 'lib'))
|
9
|
+
begin
|
10
|
+
gem gem_name, "~> #{version}"
|
11
|
+
rescue Gem::LoadError
|
12
|
+
end
|
13
|
+
end
|
data/lib/mack-caching.rb
CHANGED
data/lib/mack-caching_tasks.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mack-caching
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- markbates
|
@@ -9,19 +9,10 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-11-30 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
name: cachetastic
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - "="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 2.0.0
|
24
|
-
version:
|
14
|
+
dependencies: []
|
15
|
+
|
25
16
|
description: "mack-caching was developed by: markbates"
|
26
17
|
email: mark@mackframework.com
|
27
18
|
executables: []
|
@@ -31,10 +22,54 @@ extensions: []
|
|
31
22
|
extra_rdoc_files:
|
32
23
|
- README
|
33
24
|
files:
|
25
|
+
- lib/gems
|
26
|
+
- lib/gems/cache
|
27
|
+
- lib/gems/cachetastic-2.0.0
|
28
|
+
- lib/gems/cachetastic-2.0.0/bin
|
29
|
+
- lib/gems/cachetastic-2.0.0/bin/cachetastic_drb_server
|
30
|
+
- lib/gems/cachetastic-2.0.0/lib
|
31
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic
|
32
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters
|
33
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/base.rb
|
34
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/drb.rb
|
35
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/file.rb
|
36
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/file_base.rb
|
37
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/html_file.rb
|
38
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/local_memory.rb
|
39
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/memcache.rb
|
40
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/store_object.rb
|
41
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/cacheable.rb
|
42
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/caches
|
43
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/base.rb
|
44
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/mack_session_cache.rb
|
45
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/page_cache.rb
|
46
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/rails_session_cache.rb
|
47
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/connection.rb
|
48
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/errors
|
49
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/errors/unsupported_adapter.rb
|
50
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/logger.rb
|
51
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions
|
52
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions/active_record_base.rb
|
53
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions/cgi_session_store.rb
|
54
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/ruby_extensions
|
55
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic/ruby_extensions/object.rb
|
56
|
+
- lib/gems/cachetastic-2.0.0/lib/cachetastic.rb
|
57
|
+
- lib/gems/doc
|
58
|
+
- lib/gems/gems
|
59
|
+
- lib/gems/memcache-client-1.5.0
|
60
|
+
- lib/gems/memcache-client-1.5.0/lib
|
61
|
+
- lib/gems/memcache-client-1.5.0/lib/memcache.rb
|
62
|
+
- lib/gems/memcache-client-1.5.0/lib/memcache_util.rb
|
63
|
+
- lib/gems/specifications
|
64
|
+
- lib/gems.rb
|
65
|
+
- lib/mack-caching
|
34
66
|
- lib/mack-caching/errors.rb
|
67
|
+
- lib/mack-caching/page_caching
|
35
68
|
- lib/mack-caching/page_caching/controller_extensions.rb
|
36
69
|
- lib/mack-caching/page_caching/page_caching.rb
|
70
|
+
- lib/mack-caching/sessions
|
37
71
|
- lib/mack-caching/sessions/cachetastic_session_store.rb
|
72
|
+
- lib/mack-caching/tasks
|
38
73
|
- lib/mack-caching/tasks/cachetastic.rake
|
39
74
|
- lib/mack-caching.rb
|
40
75
|
- lib/mack-caching_tasks.rb
|
@@ -42,8 +77,8 @@ files:
|
|
42
77
|
has_rdoc: true
|
43
78
|
homepage: http://www.mackframework.com
|
44
79
|
post_install_message:
|
45
|
-
rdoc_options:
|
46
|
-
|
80
|
+
rdoc_options:
|
81
|
+
- --exclude=gems/
|
47
82
|
require_paths:
|
48
83
|
- lib
|
49
84
|
- lib
|
@@ -62,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
97
|
requirements: []
|
63
98
|
|
64
99
|
rubyforge_project: magrathea
|
65
|
-
rubygems_version: 1.
|
100
|
+
rubygems_version: 1.3.1
|
66
101
|
signing_key:
|
67
102
|
specification_version: 2
|
68
103
|
summary: Caching extensions for Mack
|