cachetastic 1.2.2 → 1.2.3

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 (88) hide show
  1. data/README +10 -2
  2. data/bin/cachetastic_drb_server +97 -0
  3. data/doc/classes/Cachetastic/Adapters/Base.html +16 -16
  4. data/doc/classes/Cachetastic/Adapters/Base.src/M000024.html +9 -5
  5. data/doc/classes/Cachetastic/Adapters/Base.src/M000025.html +7 -8
  6. data/doc/classes/Cachetastic/Adapters/Base.src/M000026.html +21 -0
  7. data/doc/classes/Cachetastic/Adapters/Drb.html +244 -0
  8. data/doc/classes/Cachetastic/Adapters/Drb.src/M000027.html +22 -0
  9. data/doc/classes/Cachetastic/Adapters/Drb.src/M000028.html +18 -0
  10. data/doc/classes/Cachetastic/Adapters/{LocalMemory.src/M000017.html → Drb.src/M000029.html} +4 -4
  11. data/doc/classes/Cachetastic/Adapters/Drb.src/M000030.html +26 -0
  12. data/doc/classes/Cachetastic/Adapters/Drb.src/M000031.html +18 -0
  13. data/doc/classes/Cachetastic/Adapters/Drb.src/M000032.html +25 -0
  14. data/doc/classes/Cachetastic/Adapters/File.html +30 -30
  15. data/doc/classes/Cachetastic/Adapters/File.src/{M000026.html → M000033.html} +0 -0
  16. data/doc/classes/Cachetastic/Adapters/File.src/{M000027.html → M000034.html} +0 -0
  17. data/doc/classes/Cachetastic/Adapters/File.src/{M000028.html → M000035.html} +0 -0
  18. data/doc/classes/Cachetastic/Adapters/File.src/{M000029.html → M000036.html} +2 -0
  19. data/doc/classes/Cachetastic/Adapters/File.src/{M000030.html → M000037.html} +1 -1
  20. data/doc/classes/Cachetastic/Adapters/File.src/{M000031.html → M000038.html} +1 -1
  21. data/doc/classes/Cachetastic/Adapters/LocalMemory.html +30 -30
  22. data/doc/classes/Cachetastic/Adapters/LocalMemory.src/M000018.html +4 -4
  23. data/doc/classes/Cachetastic/Adapters/LocalMemory.src/M000019.html +3 -3
  24. data/doc/classes/Cachetastic/Adapters/LocalMemory.src/M000020.html +4 -12
  25. data/doc/classes/Cachetastic/Adapters/LocalMemory.src/M000021.html +12 -4
  26. data/doc/classes/Cachetastic/Adapters/LocalMemory.src/M000022.html +4 -11
  27. data/doc/classes/Cachetastic/Adapters/LocalMemory.src/M000023.html +25 -0
  28. data/doc/classes/Cachetastic/Adapters/Memcache.html +55 -55
  29. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000007.html +5 -4
  30. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000008.html +4 -4
  31. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000009.html +4 -4
  32. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000010.html +4 -4
  33. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000011.html +4 -4
  34. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000012.html +4 -10
  35. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000013.html +10 -5
  36. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000014.html +5 -6
  37. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000015.html +6 -6
  38. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000016.html +5 -9
  39. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000017.html +24 -0
  40. data/doc/classes/Cachetastic/Caches/Base/RegisteredCaches.html +5 -5
  41. data/doc/classes/Cachetastic/Caches/Base/RegisteredCaches.src/{M000043.html → M000053.html} +0 -0
  42. data/doc/classes/Cachetastic/Caches/Base.html +103 -63
  43. data/doc/classes/Cachetastic/Caches/Base.src/M000040.html +4 -4
  44. data/doc/classes/Cachetastic/Caches/Base.src/M000041.html +29 -4
  45. data/doc/classes/Cachetastic/Caches/Base.src/M000042.html +8 -13
  46. data/doc/classes/Cachetastic/Caches/Base.src/{M000035.html → M000043.html} +0 -0
  47. data/doc/classes/Cachetastic/Caches/Base.src/{M000036.html → M000044.html} +0 -0
  48. data/doc/classes/Cachetastic/Caches/Base.src/{M000037.html → M000045.html} +0 -0
  49. data/doc/classes/Cachetastic/Caches/Base.src/{M000038.html → M000046.html} +0 -0
  50. data/doc/classes/Cachetastic/Caches/Base.src/{M000039.html → M000047.html} +0 -0
  51. data/doc/classes/Cachetastic/Caches/Base.src/M000048.html +23 -0
  52. data/doc/classes/Cachetastic/Caches/Base.src/{M000032.html → M000049.html} +4 -4
  53. data/doc/classes/Cachetastic/Caches/Base.src/M000050.html +18 -0
  54. data/doc/classes/Cachetastic/Caches/Base.src/M000051.html +18 -0
  55. data/doc/classes/Cachetastic/Caches/Base.src/M000052.html +28 -0
  56. data/doc/classes/Cachetastic/Caches/RailsSessionCache.html +26 -0
  57. data/doc/classes/Cachetastic/Caches/RailsSessionCache.src/M000039.html +18 -0
  58. data/doc/classes/Cachetastic/Connection.html +11 -11
  59. data/doc/classes/Cachetastic/Connection.src/{M000044.html → M000054.html} +0 -0
  60. data/doc/classes/Cachetastic/Connection.src/{M000045.html → M000055.html} +0 -0
  61. data/doc/classes/Cachetastic/Errors/UnsupportedAdapter.html +137 -0
  62. data/doc/classes/Cachetastic/Errors/UnsupportedAdapter.src/M000006.html +18 -0
  63. data/doc/classes/Cachetastic/Logger.html +5 -5
  64. data/doc/classes/Cachetastic/Logger.src/{M000046.html → M000056.html} +0 -0
  65. data/doc/created.rid +1 -1
  66. data/doc/files/init_rb.html +18 -2
  67. data/doc/files/lib/adapters/cachetastic_adapters_base_rb.html +1 -1
  68. data/doc/files/lib/adapters/cachetastic_adapters_drb_rb.html +115 -0
  69. data/doc/files/lib/adapters/cachetastic_adapters_file_rb.html +1 -1
  70. data/doc/files/lib/adapters/cachetastic_adapters_local_memory_rb.html +1 -1
  71. data/doc/files/lib/caches/cachetastic_caches_base_rb.html +1 -1
  72. data/doc/files/lib/caches/cachetastic_caches_rails_session_cache_rb.html +1 -1
  73. data/doc/files/lib/cachetastic_rb.html +21 -3
  74. data/doc/files/lib/errors/cachetastic_errors_unsupported_adapter_rb.html +101 -0
  75. data/doc/fr_class_index.html +2 -0
  76. data/doc/fr_file_index.html +2 -0
  77. data/doc/fr_method_index.html +51 -41
  78. data/doc/index.html +1 -1
  79. data/lib/adapters/cachetastic_adapters_base.rb +1 -1
  80. data/lib/adapters/cachetastic_adapters_drb.rb +56 -0
  81. data/lib/cachetastic.rb +1 -0
  82. data/lib/tasks/rubyforge_config.yml +1 -1
  83. metadata +44 -27
  84. data/doc/classes/Cachetastic/Adapters/Base.src/M000023.html +0 -24
  85. data/doc/classes/Cachetastic/Adapters/Memcache.src/M000006.html +0 -19
  86. data/doc/classes/Cachetastic/Caches/Base.src/M000033.html +0 -43
  87. data/doc/classes/Cachetastic/Caches/Base.src/M000034.html +0 -23
  88. data/init.rb +0 -1
data/README CHANGED
@@ -11,7 +11,7 @@
11
11
  debug: true # true | false (default: false)
12
12
  # this is the type of file store to be used for this cache.
13
13
  # more adapters can be developed and plugged in as desired
14
- adapter: local_memory # local_memory | memcache | file (default: local_memory)
14
+ adapter: local_memory # local_memory | memcache | file | drb (default: local_memory)
15
15
  # this will marshall objects into and out of the store.
16
16
  # so far yaml is the only supported marshall format.
17
17
  marshall_method: none # none | yaml (default: none)
@@ -22,7 +22,6 @@
22
22
  # objects will go into the cache with an expiry time sometime between 45 mins and 75 mins.
23
23
  expiry_swing: <%= 15.minutes %> # time in seconds (default: 0)
24
24
  # these options get passed on directly to the store.
25
- # only the memcache and file stores uses these options currently.
26
25
  store_options: # listed below are options for memcache
27
26
  c_threshold: 10_000
28
27
  compression: true
@@ -31,6 +30,8 @@
31
30
  urlencode: false
32
31
  store_options: # listed below are the options for file
33
32
  dir: /cachetastic/caches/ # absolute path to the directory where caches should be stored.
33
+ store_options: # listed below are the options for drb
34
+ host: "druby://127.0.0.1:61676"
34
35
  # configure logging for this cache:
35
36
  logging:
36
37
  # n number of logs can be configured for a cache
@@ -64,6 +65,13 @@
64
65
  # example of how to override options for rails session cacheing:
65
66
  cachetastic_caches_rails_session_cache_options:
66
67
  default_expiry: <%= 30.minutes %>
68
+
69
+ =Cachetastic::Drb::Server
70
+ If you want to use Drb and the Cachetastic::Adapters::Drb adapter, you'll have to use the Cachetastic::Drb::Server that comes with Cachetastic. Using this server is simple. It gets installed as a binary when you install the Cachetastic gem.
71
+
72
+ $ cachetastic_drb_server # that will start the drb server on the host 127.0.0.1 on the port 61676
73
+
74
+ The server takes to command line parameters: -h <host> -p <port>
67
75
 
68
76
  =Examples:
69
77
 
@@ -0,0 +1,97 @@
1
+ require 'thread'
2
+ require 'drb'
3
+ require 'singleton'
4
+ require 'optparse'
5
+ require 'optparse/time'
6
+ require 'ostruct'
7
+
8
+ # require the necessary gems:
9
+ require 'rubygems'
10
+ gem 'ruby_extensions'
11
+ require 'ruby_extensions'
12
+ gem 'application_configuration'
13
+ require 'application_configuration'
14
+ gem 'cachetastic'
15
+ require 'cachetastic'
16
+
17
+ $SAFE = 1
18
+
19
+ SERVER_OPTIONS = OpenStruct.new
20
+ SERVER_OPTIONS.host = "127.0.0.1"
21
+ SERVER_OPTIONS.port = "61676"
22
+ SERVER_OPTIONS.config_file = nil
23
+
24
+ opts = OptionParser.new do |opts|
25
+
26
+ opts.on("-h [HOST]") do |v|
27
+ SERVER_OPTIONS.host = v
28
+ end
29
+
30
+ opts.on("-p [PORT]", Integer) do |v|
31
+ SERVER_OPTIONS.port = v
32
+ end
33
+
34
+ opts.on("-c [CONFIG_FILE]") do |v|
35
+ SERVER_OPTIONS.config_file = v
36
+ end
37
+
38
+ end
39
+
40
+ opts.parse!(ARGV)
41
+
42
+ if SERVER_OPTIONS.config_file
43
+ app_config.load_file(SERVER_OPTIONS.config_file)
44
+ end
45
+
46
+ module Cachetastic
47
+ module Drb
48
+ class Server
49
+ include Singleton
50
+
51
+ def initialize
52
+ DRb.start_service("druby://#{SERVER_OPTIONS.host}:#{SERVER_OPTIONS.port}", self)
53
+ puts "Cachetastic::Drb::Server listening for connection..."
54
+ DRb.thread.join
55
+ end # initialize
56
+
57
+ def get(ns, key)
58
+ # puts cache_for_namespace(ns).inspect
59
+ cache_for_namespace(ns).get(key)
60
+ end
61
+
62
+ def set(ns, key, value, expiry = 0)
63
+ cache_for_namespace(ns).set(key, value)
64
+ # puts cache_for_namespace(ns).inspect
65
+ value
66
+ end
67
+
68
+ def delete(ns, key, delay = 0)
69
+ cache_for_namespace(ns).delete(key, delay = 0)
70
+ # puts cache_for_namespace(ns).inspect
71
+ end
72
+
73
+ def expire_all(ns)
74
+ instance_variable_set("@store_for_#{ns}", Cachetastic::Adapters::LocalMemory.new("store_for_#{ns}"))
75
+ end
76
+
77
+ def ping
78
+ true
79
+ end
80
+
81
+ private
82
+ def cache_for_namespace(ns)
83
+ # puts "@store_for_#{ns}"
84
+ c = instance_variable_get("@store_for_#{ns}")
85
+ if c.nil?
86
+ instance_variable_set("@store_for_#{ns}", Cachetastic::Adapters::LocalMemory.new("store_for_#{ns}"))
87
+ c = instance_variable_get("@store_for_#{ns}")
88
+ end
89
+ c
90
+ end
91
+
92
+ end # Server
93
+ end # Drb
94
+ end # Cachetastic
95
+
96
+ # let's start `er up!
97
+ Cachetastic::Drb::Server.instance
@@ -109,7 +109,7 @@ the store supports it, a delay can be used.
109
109
 
110
110
  </li>
111
111
  <li>valid? - used to test whether or not the store is still valid. If this
112
- returns false a <a href="Base.html#M000023">new</a> instance of the adapter
112
+ returns false a <a href="Base.html#M000024">new</a> instance of the adapter
113
113
  is created by <a href="../Connection.html">Cachetastic::Connection</a>
114
114
 
115
115
  </li>
@@ -124,9 +124,9 @@ is created by <a href="../Connection.html">Cachetastic::Connection</a>
124
124
  <h3 class="section-bar">Methods</h3>
125
125
 
126
126
  <div class="name-list">
127
- <a href="#M000024">debug?</a>&nbsp;&nbsp;
128
- <a href="#M000025">get_options</a>&nbsp;&nbsp;
129
- <a href="#M000023">new</a>&nbsp;&nbsp;
127
+ <a href="#M000025">debug?</a>&nbsp;&nbsp;
128
+ <a href="#M000026">get_options</a>&nbsp;&nbsp;
129
+ <a href="#M000024">new</a>&nbsp;&nbsp;
130
130
  </div>
131
131
  </div>
132
132
 
@@ -186,12 +186,12 @@ is created by <a href="../Connection.html">Cachetastic::Connection</a>
186
186
  <div id="methods">
187
187
  <h3 class="section-bar">Public Class methods</h3>
188
188
 
189
- <div id="method-M000025" class="method-detail">
190
- <a name="M000025"></a>
189
+ <div id="method-M000026" class="method-detail">
190
+ <a name="M000026"></a>
191
191
 
192
192
  <div class="method-heading">
193
- <a href="Base.src/M000025.html" target="Code" class="method-signature"
194
- onclick="popupCode('Base.src/M000025.html');return false;">
193
+ <a href="Base.src/M000026.html" target="Code" class="method-signature"
194
+ onclick="popupCode('Base.src/M000026.html');return false;">
195
195
  <span class="method-name">get_options</span><span class="method-args">(name)</span>
196
196
  </a>
197
197
  </div>
@@ -210,12 +210,12 @@ methodized name of the cache with _options attached at the end. Examples:
210
210
  </div>
211
211
  </div>
212
212
 
213
- <div id="method-M000023" class="method-detail">
214
- <a name="M000023"></a>
213
+ <div id="method-M000024" class="method-detail">
214
+ <a name="M000024"></a>
215
215
 
216
216
  <div class="method-heading">
217
- <a href="Base.src/M000023.html" target="Code" class="method-signature"
218
- onclick="popupCode('Base.src/M000023.html');return false;">
217
+ <a href="Base.src/M000024.html" target="Code" class="method-signature"
218
+ onclick="popupCode('Base.src/M000024.html');return false;">
219
219
  <span class="method-name">new</span><span class="method-args">(name)</span>
220
220
  </a>
221
221
  </div>
@@ -226,12 +226,12 @@ methodized name of the cache with _options attached at the end. Examples:
226
226
 
227
227
  <h3 class="section-bar">Public Instance methods</h3>
228
228
 
229
- <div id="method-M000024" class="method-detail">
230
- <a name="M000024"></a>
229
+ <div id="method-M000025" class="method-detail">
230
+ <a name="M000025"></a>
231
231
 
232
232
  <div class="method-heading">
233
- <a href="Base.src/M000024.html" target="Code" class="method-signature"
234
- onclick="popupCode('Base.src/M000024.html');return false;">
233
+ <a href="Base.src/M000025.html" target="Code" class="method-signature"
234
+ onclick="popupCode('Base.src/M000025.html');return false;">
235
235
  <span class="method-name">debug?</span><span class="method-args">()</span>
236
236
  </a>
237
237
  </div>
@@ -5,15 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>debug? (Cachetastic::Adapters::Base)</title>
8
+ <title>new (Cachetastic::Adapters::Base)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_base.rb, line 42</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug?</span>
15
- <span class="ruby-identifier">ivar_cache</span>(<span class="ruby-identifier">:debug</span>) <span class="ruby-keyword kw">do</span>
16
- (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">all_options</span>[<span class="ruby-value str">&quot;debug&quot;</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span> <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_base.rb, line 24</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>)
15
+ <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
16
+ <span class="ruby-identifier">configure</span>
17
+ <span class="ruby-identifier">setup</span>
18
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug?</span>
19
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">:self</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">inspect</span>)
20
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">:options</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">all_options</span>.<span class="ruby-identifier">inspect</span>)
17
21
  <span class="ruby-keyword kw">end</span>
18
22
  <span class="ruby-keyword kw">end</span></pre>
19
23
  </body>
@@ -5,17 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>get_options (Cachetastic::Adapters::Base)</title>
8
+ <title>debug? (Cachetastic::Adapters::Base)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_base.rb, line 56</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_options</span>(<span class="ruby-identifier">name</span>)
15
- <span class="ruby-identifier">options</span> = <span class="ruby-identifier">app_config</span>.<span class="ruby-identifier">cachetastic_default_options</span>
16
- <span class="ruby-identifier">options</span> = {<span class="ruby-value str">&quot;adapter&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;local_memory&quot;</span>}.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">options</span>)
17
- <span class="ruby-identifier">options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">app_config</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">methodize</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;_options&quot;</span>) <span class="ruby-operator">||</span> {})
18
- <span class="ruby-identifier">options</span>
19
- <span class="ruby-keyword kw">end</span></pre>
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_base.rb, line 42</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug?</span>
15
+ <span class="ruby-identifier">ivar_cache</span>(<span class="ruby-identifier">:debug</span>) <span class="ruby-keyword kw">do</span>
16
+ (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">all_options</span>[<span class="ruby-value str">&quot;debug&quot;</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span> <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>)
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
20
19
  </body>
21
20
  </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>get_options (Cachetastic::Adapters::Base)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_base.rb, line 56</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_options</span>(<span class="ruby-identifier">name</span>)
15
+ <span class="ruby-identifier">options</span> = (<span class="ruby-identifier">app_config</span>.<span class="ruby-identifier">cachetastic_default_options</span> <span class="ruby-operator">||</span> {})
16
+ <span class="ruby-identifier">options</span> = {<span class="ruby-value str">&quot;adapter&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;local_memory&quot;</span>}.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">options</span>)
17
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">app_config</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">methodize</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;_options&quot;</span>) <span class="ruby-operator">||</span> {})
18
+ <span class="ruby-identifier">options</span>
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,244 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Cachetastic::Adapters::Drb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Cachetastic::Adapters::Drb</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/adapters/cachetastic_adapters_drb_rb.html">
59
+ lib/adapters/cachetastic_adapters_drb.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Base.html">
69
+ Cachetastic::Adapters::Base
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ This adapter uses Cachetastic::Drb::Server as it&#8216;s backing. The
86
+ configuration for this should look something like this:
87
+ </p>
88
+ <pre>
89
+ my_awesome_cache_options:
90
+ debug: false
91
+ adapter: drb
92
+ store_options:
93
+ host: druby://127.0.0.1:61676
94
+ </pre>
95
+
96
+ </div>
97
+
98
+
99
+ </div>
100
+
101
+ <div id="method-list">
102
+ <h3 class="section-bar">Methods</h3>
103
+
104
+ <div class="name-list">
105
+ <a href="#M000032">delete</a>&nbsp;&nbsp;
106
+ <a href="#M000029">expire_all</a>&nbsp;&nbsp;
107
+ <a href="#M000030">get</a>&nbsp;&nbsp;
108
+ <a href="#M000031">set</a>&nbsp;&nbsp;
109
+ <a href="#M000028">setup</a>&nbsp;&nbsp;
110
+ <a href="#M000027">valid?</a>&nbsp;&nbsp;
111
+ </div>
112
+ </div>
113
+
114
+ </div>
115
+
116
+
117
+ <!-- if includes -->
118
+
119
+ <div id="section">
120
+
121
+
122
+
123
+
124
+
125
+ <div id="attribute-list">
126
+ <h3 class="section-bar">Attributes</h3>
127
+
128
+ <div class="name-list">
129
+ <table>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">drb_store</td>
132
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
133
+ <td class="context-item-desc"></td>
134
+ </tr>
135
+ </table>
136
+ </div>
137
+ </div>
138
+
139
+
140
+
141
+ <!-- if method_list -->
142
+ <div id="methods">
143
+ <h3 class="section-bar">Public Instance methods</h3>
144
+
145
+ <div id="method-M000032" class="method-detail">
146
+ <a name="M000032"></a>
147
+
148
+ <div class="method-heading">
149
+ <a href="Drb.src/M000032.html" target="Code" class="method-signature"
150
+ onclick="popupCode('Drb.src/M000032.html');return false;">
151
+ <span class="method-name">delete</span><span class="method-args">(key, delay = 0)</span>
152
+ </a>
153
+ </div>
154
+
155
+ <div class="method-description">
156
+ </div>
157
+ </div>
158
+
159
+ <div id="method-M000029" class="method-detail">
160
+ <a name="M000029"></a>
161
+
162
+ <div class="method-heading">
163
+ <a href="Drb.src/M000029.html" target="Code" class="method-signature"
164
+ onclick="popupCode('Drb.src/M000029.html');return false;">
165
+ <span class="method-name">expire_all</span><span class="method-args">()</span>
166
+ </a>
167
+ </div>
168
+
169
+ <div class="method-description">
170
+ </div>
171
+ </div>
172
+
173
+ <div id="method-M000030" class="method-detail">
174
+ <a name="M000030"></a>
175
+
176
+ <div class="method-heading">
177
+ <a href="Drb.src/M000030.html" target="Code" class="method-signature"
178
+ onclick="popupCode('Drb.src/M000030.html');return false;">
179
+ <span class="method-name">get</span><span class="method-args">(key)</span>
180
+ </a>
181
+ </div>
182
+
183
+ <div class="method-description">
184
+ <p>
185
+ See <a href="Base.html">Cachetastic::Adapters::Base</a>
186
+ </p>
187
+ </div>
188
+ </div>
189
+
190
+ <div id="method-M000031" class="method-detail">
191
+ <a name="M000031"></a>
192
+
193
+ <div class="method-heading">
194
+ <a href="Drb.src/M000031.html" target="Code" class="method-signature"
195
+ onclick="popupCode('Drb.src/M000031.html');return false;">
196
+ <span class="method-name">set</span><span class="method-args">(key, value, expiry = 0)</span>
197
+ </a>
198
+ </div>
199
+
200
+ <div class="method-description">
201
+ </div>
202
+ </div>
203
+
204
+ <div id="method-M000028" class="method-detail">
205
+ <a name="M000028"></a>
206
+
207
+ <div class="method-heading">
208
+ <a href="Drb.src/M000028.html" target="Code" class="method-signature"
209
+ onclick="popupCode('Drb.src/M000028.html');return false;">
210
+ <span class="method-name">setup</span><span class="method-args">()</span>
211
+ </a>
212
+ </div>
213
+
214
+ <div class="method-description">
215
+ </div>
216
+ </div>
217
+
218
+ <div id="method-M000027" class="method-detail">
219
+ <a name="M000027"></a>
220
+
221
+ <div class="method-heading">
222
+ <a href="Drb.src/M000027.html" target="Code" class="method-signature"
223
+ onclick="popupCode('Drb.src/M000027.html');return false;">
224
+ <span class="method-name">valid?</span><span class="method-args">()</span>
225
+ </a>
226
+ </div>
227
+
228
+ <div class="method-description">
229
+ </div>
230
+ </div>
231
+
232
+
233
+ </div>
234
+
235
+
236
+ </div>
237
+
238
+
239
+ <div id="validator-badges">
240
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
241
+ </div>
242
+
243
+ </body>
244
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>valid? (Cachetastic::Adapters::Drb)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_drb.rb, line 12</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid?</span>
15
+ <span class="ruby-keyword kw">begin</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">drb_store</span>.<span class="ruby-identifier">ping</span>
17
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
19
+ <span class="ruby-keyword kw">end</span>
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>setup (Cachetastic::Adapters::Drb)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_drb.rb, line 20</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">drb_store</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new_with_uri</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">store_options</span>[<span class="ruby-value str">&quot;host&quot;</span>])
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>valid? (Cachetastic::Adapters::LocalMemory)</title>
8
+ <title>expire_all (Cachetastic::Adapters::Drb)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_local_memory.rb, line 8</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid?</span>
15
- <span class="ruby-keyword kw">true</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_drb.rb, line 24</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expire_all</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">drb_store</span>.<span class="ruby-identifier">expire_all</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>get (Cachetastic::Adapters::Drb)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_drb.rb, line 29</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>)
15
+ <span class="ruby-identifier">so</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">drb_store</span>.<span class="ruby-identifier">get</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>)
16
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>
17
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">invalid?</span>
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">value</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
24
+ <span class="ruby-keyword kw">end</span></pre>
25
+ </body>
26
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>set (Cachetastic::Adapters::Drb)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/adapters/cachetastic_adapters_drb.rb, line 41</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">expiry</span> = <span class="ruby-value">0</span>)
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">drb_store</span>.<span class="ruby-identifier">set</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-constant">Cachetastic</span><span class="ruby-operator">::</span><span class="ruby-constant">Adapters</span><span class="ruby-operator">::</span><span class="ruby-constant">StoreObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">expiry</span>))
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>