cachetastic-three 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/LICENSE +21 -0
  2. data/README +89 -0
  3. data/doc/classes/Cachetastic/Adapters.html +180 -0
  4. data/doc/classes/Cachetastic/Adapters/Base.html +419 -0
  5. data/doc/classes/Cachetastic/Adapters/File.html +135 -0
  6. data/doc/classes/Cachetastic/Adapters/LocalMemory.html +125 -0
  7. data/doc/classes/Cachetastic/Adapters/Memcached.html +193 -0
  8. data/doc/classes/Cachetastic/Cache.html +425 -0
  9. data/doc/classes/Cachetastic/Cacheable.html +255 -0
  10. data/doc/classes/Cachetastic/Cacheable/ClassAndInstanceMethods.html +290 -0
  11. data/doc/classes/Cachetastic/Cacheable/ClassOnlyMethods.html +197 -0
  12. data/doc/classes/Cachetastic/Logger.html +186 -0
  13. data/doc/created.rid +1 -0
  14. data/doc/files/LICENSE.html +132 -0
  15. data/doc/files/README.html +222 -0
  16. data/doc/files/lib/cachetastic/adapters/base_rb.html +101 -0
  17. data/doc/files/lib/cachetastic/adapters/file_rb.html +101 -0
  18. data/doc/files/lib/cachetastic/adapters/local_memory_rb.html +101 -0
  19. data/doc/files/lib/cachetastic/adapters/memcached_rb.html +101 -0
  20. data/doc/files/lib/cachetastic/cache_rb.html +101 -0
  21. data/doc/files/lib/cachetastic/cacheable_rb.html +101 -0
  22. data/doc/files/lib/cachetastic/extensions/string_rb.html +108 -0
  23. data/doc/files/lib/cachetastic/logger_rb.html +101 -0
  24. data/doc/files/lib/cachetastic/store_object_rb.html +101 -0
  25. data/doc/files/lib/cachetastic_rb.html +112 -0
  26. data/doc/fr_class_index.html +36 -0
  27. data/doc/fr_file_index.html +38 -0
  28. data/doc/fr_method_index.html +52 -0
  29. data/doc/index.html +24 -0
  30. data/doc/rdoc-style.css +208 -0
  31. data/lib/cachetastic.rb +20 -0
  32. data/lib/cachetastic/adapters/base.rb +178 -0
  33. data/lib/cachetastic/adapters/file.rb +66 -0
  34. data/lib/cachetastic/adapters/local_memory.rb +37 -0
  35. data/lib/cachetastic/adapters/memcached.rb +114 -0
  36. data/lib/cachetastic/cache.rb +165 -0
  37. data/lib/cachetastic/cacheable.rb +202 -0
  38. data/lib/cachetastic/extensions/string.rb +8 -0
  39. data/lib/cachetastic/logger.rb +49 -0
  40. data/lib/cachetastic/store_object.rb +22 -0
  41. metadata +122 -0
@@ -0,0 +1,8 @@
1
+ require 'digest'
2
+ class String # :nodoc:
3
+
4
+ def hexdigest # :nodoc:
5
+ Digest::SHA1.hexdigest(self)
6
+ end
7
+
8
+ end
@@ -0,0 +1,49 @@
1
+ module Cachetastic # :nodoc:
2
+ # This class handles logging for the caches and their adapters.
3
+ # This class exists simply to supply the ability to write to
4
+ # multiple loggers simultaneously from a single call. It also
5
+ # creates a standardized message to write to those loggers.
6
+ #
7
+ # It is important that any logger type of class you decide to use
8
+ # reponds to the following methods:
9
+ # fatal(message)
10
+ # error(message)
11
+ # warn(message)
12
+ # info(message)
13
+ # debug(message)
14
+ class Logger
15
+
16
+ # An <tt>Array</tt> of 'real' loggers to write to.
17
+ attr_accessor :loggers
18
+
19
+ # The <tt>initialize</tt> method takes an <tt>Array</tt>
20
+ # of your favorite logger style classes to write to.
21
+ def initialize(*loggers)
22
+ @loggers = [loggers].flatten
23
+ end
24
+
25
+ LOG_LEVELS = [:fatal, :error, :warn, :info, :debug] # :nodoc:
26
+
27
+ LOG_LEVELS.each do |level|
28
+ define_method(level) do |*args|
29
+ lm = "[CACHE] [#{level.to_s.upcase}]\t#{Time.now.strftime("%m/%d/%y %H:%M:%S")}"
30
+ exs = []
31
+ args.each do |arg|
32
+ if arg.is_a?(Exception)
33
+ exs << arg
34
+ continue
35
+ end
36
+ lm << "\t" << arg.to_s
37
+ end
38
+ exs.each do |ex|
39
+ lm << "\n#{ex.message}\n" << ex.backtrace.join("\n")
40
+ end
41
+ # puts "lm: #{lm}"
42
+ self.loggers.each do |log|
43
+ log.send(level, lm)
44
+ end
45
+ end
46
+ end
47
+
48
+ end # Logger
49
+ end # Cachetastic
@@ -0,0 +1,22 @@
1
+ module Cachetastic # :nodoc:
2
+ class Cache
3
+
4
+ class StoreObject # :nodoc:
5
+ attr_accessor :expires_at
6
+ attr_accessor :key
7
+ attr_accessor :value
8
+
9
+ def initialize(key, value, expires_at)
10
+ self.key = key
11
+ self.value = value
12
+ self.expires_at = expires_at
13
+ end
14
+
15
+ def expired?
16
+ return Time.now > self.expires_at
17
+ end
18
+
19
+ end # StoreObject
20
+
21
+ end # Cache
22
+ end # Cachetastic
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cachetastic-three
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Mark Bates
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-06-11 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: configatron
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: memcache-client
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.7.4
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: activesupport
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.3.2
44
+ version:
45
+ description: A very simple, yet very powerful caching framework for Ruby.
46
+ email: mark@mackframework.com
47
+ executables: []
48
+
49
+ extensions: []
50
+
51
+ extra_rdoc_files:
52
+ - README
53
+ - LICENSE
54
+ files:
55
+ - lib/cachetastic/adapters/base.rb
56
+ - lib/cachetastic/adapters/file.rb
57
+ - lib/cachetastic/adapters/local_memory.rb
58
+ - lib/cachetastic/adapters/memcached.rb
59
+ - lib/cachetastic/cache.rb
60
+ - lib/cachetastic/cacheable.rb
61
+ - lib/cachetastic/extensions/string.rb
62
+ - lib/cachetastic/logger.rb
63
+ - lib/cachetastic/store_object.rb
64
+ - lib/cachetastic.rb
65
+ - README
66
+ - LICENSE
67
+ - doc/classes/Cachetastic/Adapters/Base.html
68
+ - doc/classes/Cachetastic/Adapters/File.html
69
+ - doc/classes/Cachetastic/Adapters/LocalMemory.html
70
+ - doc/classes/Cachetastic/Adapters/Memcached.html
71
+ - doc/classes/Cachetastic/Adapters.html
72
+ - doc/classes/Cachetastic/Cache.html
73
+ - doc/classes/Cachetastic/Cacheable/ClassAndInstanceMethods.html
74
+ - doc/classes/Cachetastic/Cacheable/ClassOnlyMethods.html
75
+ - doc/classes/Cachetastic/Cacheable.html
76
+ - doc/classes/Cachetastic/Logger.html
77
+ - doc/created.rid
78
+ - doc/files/lib/cachetastic/adapters/base_rb.html
79
+ - doc/files/lib/cachetastic/adapters/file_rb.html
80
+ - doc/files/lib/cachetastic/adapters/local_memory_rb.html
81
+ - doc/files/lib/cachetastic/adapters/memcached_rb.html
82
+ - doc/files/lib/cachetastic/cache_rb.html
83
+ - doc/files/lib/cachetastic/cacheable_rb.html
84
+ - doc/files/lib/cachetastic/extensions/string_rb.html
85
+ - doc/files/lib/cachetastic/logger_rb.html
86
+ - doc/files/lib/cachetastic/store_object_rb.html
87
+ - doc/files/lib/cachetastic_rb.html
88
+ - doc/files/LICENSE.html
89
+ - doc/files/README.html
90
+ - doc/fr_class_index.html
91
+ - doc/fr_file_index.html
92
+ - doc/fr_method_index.html
93
+ - doc/index.html
94
+ - doc/rdoc-style.css
95
+ has_rdoc: true
96
+ homepage: http://www.metabates.com
97
+ post_install_message:
98
+ rdoc_options: []
99
+
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: "0"
107
+ version:
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: "0"
113
+ version:
114
+ requirements: []
115
+
116
+ rubyforge_project: magrathea
117
+ rubygems_version: 1.3.1
118
+ signing_key:
119
+ specification_version: 2
120
+ summary: A very simple, yet very powerful caching framework for Ruby.
121
+ test_files: []
122
+