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.
Files changed (27) hide show
  1. data/lib/gems/cachetastic-2.0.0/bin/cachetastic_drb_server +115 -0
  2. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/base.rb +78 -0
  3. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/drb.rb +51 -0
  4. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/file.rb +49 -0
  5. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/file_base.rb +86 -0
  6. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/html_file.rb +68 -0
  7. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/local_memory.rb +68 -0
  8. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/memcache.rb +114 -0
  9. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/adapters/store_object.rb +28 -0
  10. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/cacheable.rb +196 -0
  11. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/base.rb +238 -0
  12. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/mack_session_cache.rb +3 -0
  13. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/page_cache.rb +6 -0
  14. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/caches/rails_session_cache.rb +12 -0
  15. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/connection.rb +24 -0
  16. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/errors/unsupported_adapter.rb +7 -0
  17. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/logger.rb +49 -0
  18. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions/active_record_base.rb +24 -0
  19. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/rails_extensions/cgi_session_store.rb +59 -0
  20. data/lib/gems/cachetastic-2.0.0/lib/cachetastic/ruby_extensions/object.rb +8 -0
  21. data/lib/gems/cachetastic-2.0.0/lib/cachetastic.rb +70 -0
  22. data/lib/gems/memcache-client-1.5.0/lib/memcache.rb +805 -0
  23. data/lib/gems/memcache-client-1.5.0/lib/memcache_util.rb +90 -0
  24. data/lib/gems.rb +13 -0
  25. data/lib/mack-caching.rb +2 -1
  26. data/lib/mack-caching_tasks.rb +2 -0
  27. 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
@@ -1,4 +1,5 @@
1
- require 'rubygems'
1
+ require File.join(File.dirname(__FILE__), 'gems')
2
+
2
3
  require 'cachetastic'
3
4
 
4
5
  configatron.mack.caching.set_default(:use_page_caching, false)
@@ -1,3 +1,5 @@
1
+ require File.join(File.dirname(__FILE__), 'gems')
2
+
1
3
  # load tasks
2
4
  Dir.glob(File.join(File.dirname(__FILE__), "mack-caching", "tasks", "*.rake")).each do |f|
3
5
  load(f)
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.1
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-10-26 00:00:00 -04:00
12
+ date: 2008-11-30 00:00:00 -05:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
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.2.0
100
+ rubygems_version: 1.3.1
66
101
  signing_key:
67
102
  specification_version: 2
68
103
  summary: Caching extensions for Mack