cachetastic 2.1.4 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/LICENSE +21 -0
  2. data/README +57 -43
  3. data/doc/classes/Cachetastic/Adapters.html +180 -0
  4. data/doc/classes/Cachetastic/Adapters/Base.html +206 -123
  5. data/doc/classes/Cachetastic/Adapters/File.html +17 -130
  6. data/doc/classes/Cachetastic/Adapters/LocalMemory.html +7 -228
  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 +26 -30
  10. data/doc/classes/Cachetastic/Cacheable/ClassAndInstanceMethods.html +66 -62
  11. data/doc/classes/Cachetastic/Cacheable/ClassOnlyMethods.html +30 -30
  12. data/doc/classes/Cachetastic/Logger.html +31 -33
  13. data/doc/created.rid +1 -1
  14. data/doc/files/{lib/cachetastic/adapters/html_file_rb.html → LICENSE.html} +29 -34
  15. data/doc/files/README.html +91 -57
  16. data/doc/files/lib/cachetastic/adapters/base_rb.html +1 -39
  17. data/doc/files/lib/cachetastic/adapters/file_rb.html +1 -21
  18. data/doc/files/lib/cachetastic/adapters/local_memory_rb.html +1 -9
  19. data/doc/files/lib/cachetastic/{ruby_extensions/kernel_rb.html → adapters/memcached_rb.html} +4 -4
  20. data/doc/files/lib/cachetastic/{ruby_extensions/string_rb.html → cache_rb.html} +5 -5
  21. data/doc/files/lib/cachetastic/cacheable_rb.html +1 -1
  22. data/doc/files/lib/cachetastic/{caches/base_rb.html → extensions/string_rb.html} +5 -5
  23. data/doc/files/lib/cachetastic/logger_rb.html +1 -7
  24. data/doc/files/lib/cachetastic/{adapters/store_object_rb.html → store_object_rb.html} +3 -3
  25. data/doc/files/lib/cachetastic_rb.html +4 -95
  26. data/doc/fr_class_index.html +3 -15
  27. data/doc/fr_file_index.html +5 -16
  28. data/doc/fr_method_index.html +26 -78
  29. data/lib/cachetastic.rb +16 -70
  30. data/lib/cachetastic/adapters/base.rb +178 -76
  31. data/lib/cachetastic/adapters/file.rb +63 -46
  32. data/lib/cachetastic/adapters/local_memory.rb +36 -67
  33. data/lib/cachetastic/adapters/memcached.rb +114 -0
  34. data/lib/cachetastic/cache.rb +165 -0
  35. data/lib/cachetastic/cacheable.rb +19 -15
  36. data/lib/cachetastic/extensions/string.rb +8 -0
  37. data/lib/cachetastic/logger.rb +41 -41
  38. data/lib/cachetastic/store_object.rb +22 -0
  39. metadata +43 -64
  40. data/bin/cachetastic_drb_server +0 -115
  41. data/doc/classes/ActiveRecord/Base.html +0 -194
  42. data/doc/classes/CGI/Session/CachetasticStore.html +0 -124
  43. data/doc/classes/Cachetastic/Adapters/Drb.html +0 -332
  44. data/doc/classes/Cachetastic/Adapters/FileBase.html +0 -309
  45. data/doc/classes/Cachetastic/Adapters/HtmlFile.html +0 -224
  46. data/doc/classes/Cachetastic/Adapters/Memcache.html +0 -498
  47. data/doc/classes/Cachetastic/Caches/Base.html +0 -643
  48. data/doc/classes/Cachetastic/Caches/Base/RegisteredCaches.html +0 -179
  49. data/doc/classes/Cachetastic/Caches/MackSessionCache.html +0 -119
  50. data/doc/classes/Cachetastic/Caches/PageCache.html +0 -121
  51. data/doc/classes/Cachetastic/Caches/RailsSessionCache.html +0 -154
  52. data/doc/classes/Cachetastic/Connection.html +0 -212
  53. data/doc/classes/Cachetastic/Errors/UnsupportedAdapter.html +0 -146
  54. data/doc/classes/Object.html +0 -222
  55. data/doc/classes/String.html +0 -172
  56. data/doc/files/lib/cachetastic/adapters/drb_rb.html +0 -115
  57. data/doc/files/lib/cachetastic/adapters/file_base_rb.html +0 -109
  58. data/doc/files/lib/cachetastic/adapters/memcache_rb.html +0 -127
  59. data/doc/files/lib/cachetastic/caches/mack_session_cache_rb.html +0 -107
  60. data/doc/files/lib/cachetastic/caches/page_cache_rb.html +0 -109
  61. data/doc/files/lib/cachetastic/caches/rails_session_cache_rb.html +0 -107
  62. data/doc/files/lib/cachetastic/connection_rb.html +0 -107
  63. data/doc/files/lib/cachetastic/errors/unsupported_adapter_rb.html +0 -101
  64. data/doc/files/lib/cachetastic/rails_extensions/active_record_base_rb.html +0 -101
  65. data/doc/files/lib/cachetastic/rails_extensions/cgi_session_store_rb.html +0 -109
  66. data/doc/files/lib/cachetastic/ruby_extensions/object_rb.html +0 -101
  67. data/lib/cachetastic/adapters/drb.rb +0 -51
  68. data/lib/cachetastic/adapters/file_base.rb +0 -86
  69. data/lib/cachetastic/adapters/html_file.rb +0 -68
  70. data/lib/cachetastic/adapters/memcache.rb +0 -114
  71. data/lib/cachetastic/adapters/store_object.rb +0 -28
  72. data/lib/cachetastic/caches/base.rb +0 -238
  73. data/lib/cachetastic/caches/mack_session_cache.rb +0 -3
  74. data/lib/cachetastic/caches/page_cache.rb +0 -6
  75. data/lib/cachetastic/caches/rails_session_cache.rb +0 -12
  76. data/lib/cachetastic/connection.rb +0 -24
  77. data/lib/cachetastic/errors/unsupported_adapter.rb +0 -7
  78. data/lib/cachetastic/rails_extensions/active_record_base.rb +0 -24
  79. data/lib/cachetastic/rails_extensions/cgi_session_store.rb +0 -59
  80. data/lib/cachetastic/ruby_extensions/kernel.rb +0 -25
  81. data/lib/cachetastic/ruby_extensions/object.rb +0 -22
  82. data/lib/cachetastic/ruby_extensions/string.rb +0 -15
  83. data/test/active_record_test.rb +0 -89
  84. data/test/cacheable_test.rb +0 -88
  85. data/test/cachetastic_unit_test.rb +0 -74
  86. data/test/config.rb +0 -30
  87. data/test/drb_adapter_test.rb +0 -14
  88. data/test/file_adapter_test.rb +0 -49
  89. data/test/memcache_adapter_test.rb +0 -18
  90. data/test/test_helper.rb +0 -75
@@ -1,498 +0,0 @@
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::Memcache</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::Memcache</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/cachetastic/adapters/memcache_rb.html">
59
- lib/cachetastic/adapters/memcache.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 <a href="Memcache.html">Memcache</a> as it&#8216;s
86
- backing. The configuration for this should look something like this:
87
- </p>
88
- <pre>
89
- my_awesome_cache_options:
90
- debug: false
91
- adapter: memcache
92
- marshall_method: none
93
- default_expiry: &lt;%= 24.hours %&gt;
94
- store_options:
95
- c_threshold: 10_000
96
- compression: true
97
- debug: false
98
- readonly: false
99
- urlencode: false
100
- logging:
101
- logger_1:
102
- type: file
103
- file: log/memcached.log
104
- servers:
105
- - 127.0.0.1:11211
106
- </pre>
107
-
108
- </div>
109
-
110
-
111
- </div>
112
-
113
- <div id="method-list">
114
- <h3 class="section-bar">Methods</h3>
115
-
116
- <div class="name-list">
117
- <a href="#M000012">delete</a>&nbsp;&nbsp;
118
- <a href="#M000014">expire_all</a>&nbsp;&nbsp;
119
- <a href="#M000013">get</a>&nbsp;&nbsp;
120
- <a href="#M000021">get_version</a>&nbsp;&nbsp;
121
- <a href="#M000020">increment_version</a>&nbsp;&nbsp;
122
- <a href="#M000015">inspect</a>&nbsp;&nbsp;
123
- <a href="#M000018">namespace</a>&nbsp;&nbsp;
124
- <a href="#M000019">ns_versions</a>&nbsp;&nbsp;
125
- <a href="#M000011">set</a>&nbsp;&nbsp;
126
- <a href="#M000010">setup</a>&nbsp;&nbsp;
127
- <a href="#M000017">stats</a>&nbsp;&nbsp;
128
- <a href="#M000016">valid?</a>&nbsp;&nbsp;
129
- </div>
130
- </div>
131
-
132
- </div>
133
-
134
-
135
- <!-- if includes -->
136
-
137
- <div id="section">
138
-
139
-
140
-
141
-
142
-
143
- <div id="attribute-list">
144
- <h3 class="section-bar">Attributes</h3>
145
-
146
- <div class="name-list">
147
- <table>
148
- <tr class="top-aligned-row context-row">
149
- <td class="context-item-name">conn</td>
150
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
151
- <td class="context-item-desc"></td>
152
- </tr>
153
- <tr class="top-aligned-row context-row">
154
- <td class="context-item-name">version</td>
155
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
156
- <td class="context-item-desc"></td>
157
- </tr>
158
- </table>
159
- </div>
160
- </div>
161
-
162
-
163
-
164
- <!-- if method_list -->
165
- <div id="methods">
166
- <h3 class="section-bar">Public Instance methods</h3>
167
-
168
- <div id="method-M000012" class="method-detail">
169
- <a name="M000012"></a>
170
-
171
- <div class="method-heading">
172
- <a href="#M000012" class="method-signature">
173
- <span class="method-name">delete</span><span class="method-args">(key, delay = 0)</span>
174
- </a>
175
- </div>
176
-
177
- <div class="method-description">
178
- <p><a class="source-toggle" href="#"
179
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000012-source">
181
- <pre>
182
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 31</span>
183
- 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">delay</span> = <span class="ruby-value">0</span>)
184
- 32: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">delay</span>)
185
- 33: <span class="ruby-keyword kw">end</span>
186
- </pre>
187
- </div>
188
- </div>
189
- </div>
190
-
191
- <div id="method-M000014" class="method-detail">
192
- <a name="M000014"></a>
193
-
194
- <div class="method-heading">
195
- <a href="#M000014" class="method-signature">
196
- <span class="method-name">expire_all</span><span class="method-args">()</span>
197
- </a>
198
- </div>
199
-
200
- <div class="method-description">
201
- <p><a class="source-toggle" href="#"
202
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
203
- <div class="method-source-code" id="M000014-source">
204
- <pre>
205
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 39</span>
206
- 39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expire_all</span>
207
- 40: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">increment_version</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>)
208
- 41: <span class="ruby-keyword kw">end</span>
209
- </pre>
210
- </div>
211
- </div>
212
- </div>
213
-
214
- <div id="method-M000013" class="method-detail">
215
- <a name="M000013"></a>
216
-
217
- <div class="method-heading">
218
- <a href="#M000013" class="method-signature">
219
- <span class="method-name">get</span><span class="method-args">(key, raw = false)</span>
220
- </a>
221
- </div>
222
-
223
- <div class="method-description">
224
- <p><a class="source-toggle" href="#"
225
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
226
- <div class="method-source-code" id="M000013-source">
227
- <pre>
228
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 35</span>
229
- 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">raw</span> = <span class="ruby-keyword kw">false</span>)
230
- 36: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">raw</span>)
231
- 37: <span class="ruby-keyword kw">end</span>
232
- </pre>
233
- </div>
234
- </div>
235
- </div>
236
-
237
- <div id="method-M000015" class="method-detail">
238
- <a name="M000015"></a>
239
-
240
- <div class="method-heading">
241
- <a href="#M000015" class="method-signature">
242
- <span class="method-name">inspect</span><span class="method-args">()</span>
243
- </a>
244
- </div>
245
-
246
- <div class="method-description">
247
- <p><a class="source-toggle" href="#"
248
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
249
- <div class="method-source-code" id="M000015-source">
250
- <pre>
251
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 43</span>
252
- 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
253
- 44: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot; &lt;version: #{self.version}&gt; #{self.conn.stats.inspect}&quot;</span>
254
- 45: <span class="ruby-keyword kw">end</span>
255
- </pre>
256
- </div>
257
- </div>
258
- </div>
259
-
260
- <div id="method-M000011" class="method-detail">
261
- <a name="M000011"></a>
262
-
263
- <div class="method-heading">
264
- <a href="#M000011" class="method-signature">
265
- <span class="method-name">set</span><span class="method-args">(key, value, expiry = 0, raw = false)</span>
266
- </a>
267
- </div>
268
-
269
- <div class="method-description">
270
- <p><a class="source-toggle" href="#"
271
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
272
- <div class="method-source-code" id="M000011-source">
273
- <pre>
274
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 27</span>
275
- 27: <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>, <span class="ruby-identifier">raw</span> = <span class="ruby-keyword kw">false</span>)
276
- 28: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</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-identifier">raw</span>)
277
- 29: <span class="ruby-keyword kw">end</span>
278
- </pre>
279
- </div>
280
- </div>
281
- </div>
282
-
283
- <div id="method-M000010" class="method-detail">
284
- <a name="M000010"></a>
285
-
286
- <div class="method-heading">
287
- <a href="#M000010" class="method-signature">
288
- <span class="method-name">setup</span><span class="method-args">()</span>
289
- </a>
290
- </div>
291
-
292
- <div class="method-description">
293
- <p><a class="source-toggle" href="#"
294
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
295
- <div class="method-source-code" id="M000010-source">
296
- <pre>
297
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 22</span>
298
- 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup</span>
299
- 23: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</span> = <span class="ruby-constant">MemCache</span>.<span class="ruby-identifier">new</span>([<span class="ruby-identifier">configuration</span>.<span class="ruby-identifier">servers</span>].<span class="ruby-identifier">flatten</span>, <span class="ruby-identifier">configuration</span>.<span class="ruby-identifier">store_options</span>.<span class="ruby-identifier">to_hash</span>.<span class="ruby-identifier">merge</span>({<span class="ruby-identifier">:namespace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">namespace</span>}))
300
- 24: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">version</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_version</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>)
301
- 25: <span class="ruby-keyword kw">end</span>
302
- </pre>
303
- </div>
304
- </div>
305
- </div>
306
-
307
- <div id="method-M000017" class="method-detail">
308
- <a name="M000017"></a>
309
-
310
- <div class="method-heading">
311
- <a href="#M000017" class="method-signature">
312
- <span class="method-name">stats</span><span class="method-args">()</span>
313
- </a>
314
- </div>
315
-
316
- <div class="method-description">
317
- <p><a class="source-toggle" href="#"
318
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
319
- <div class="method-source-code" id="M000017-source">
320
- <pre>
321
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 57</span>
322
- 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stats</span>
323
- 58: <span class="ruby-keyword kw">super</span>
324
- 59: <span class="ruby-keyword kw">begin</span>
325
- 60: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Memcache stats for all caches:&quot;</span>
326
- 61: <span class="ruby-identifier">memc</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</span>
327
- 62: <span class="ruby-identifier">puts</span> <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">pp_to_s</span>(<span class="ruby-identifier">memc</span>.<span class="ruby-identifier">stats</span>)
328
- 63: <span class="ruby-identifier">paths</span> = <span class="ruby-value">`sh -c 'echo $PATH'`</span>
329
- 64: <span class="ruby-identifier">paths</span> = <span class="ruby-identifier">paths</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
330
- 65: <span class="ruby-identifier">memcached_tool_found</span> = <span class="ruby-keyword kw">false</span>
331
- 66: <span class="ruby-identifier">paths</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
332
- 67: <span class="ruby-identifier">cmd_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>,<span class="ruby-value str">'memcached_tool'</span>))
333
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">cmd_path</span>)
334
- 69: <span class="ruby-identifier">memcached_tool_found</span> = <span class="ruby-keyword kw">true</span>
335
- 70: <span class="ruby-keyword kw">break</span>
336
- 71: <span class="ruby-keyword kw">end</span>
337
- 72: <span class="ruby-keyword kw">end</span>
338
- 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">memcached_tool_found</span>
339
- 74: <span class="ruby-identifier">configuration</span>.<span class="ruby-identifier">memcache_servers</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
340
- 75: <span class="ruby-identifier">puts</span> <span class="ruby-node">`memcached_tool #{server}`</span>
341
- 76: <span class="ruby-keyword kw">end</span>
342
- 77: <span class="ruby-keyword kw">end</span>
343
- 78: <span class="ruby-keyword kw">rescue</span>
344
- 79: <span class="ruby-keyword kw">end</span>
345
- 80: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;&quot;</span>
346
- 81: <span class="ruby-keyword kw">end</span>
347
- </pre>
348
- </div>
349
- </div>
350
- </div>
351
-
352
- <div id="method-M000016" class="method-detail">
353
- <a name="M000016"></a>
354
-
355
- <div class="method-heading">
356
- <a href="#M000016" class="method-signature">
357
- <span class="method-name">valid?</span><span class="method-args">()</span>
358
- </a>
359
- </div>
360
-
361
- <div class="method-description">
362
- <p><a class="source-toggle" href="#"
363
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
364
- <div class="method-source-code" id="M000016-source">
365
- <pre>
366
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 47</span>
367
- 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid?</span>
368
- 48: <span class="ruby-keyword kw">begin</span>
369
- 49: <span class="ruby-keyword kw">return</span> (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conn</span>.<span class="ruby-identifier">active?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_version</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>))
370
- 50: <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>
371
- 51: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
372
- 52: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
373
- 53: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
374
- 54: <span class="ruby-keyword kw">end</span>
375
- 55: <span class="ruby-keyword kw">end</span>
376
- </pre>
377
- </div>
378
- </div>
379
- </div>
380
-
381
- <h3 class="section-bar">Protected Instance methods</h3>
382
-
383
- <div id="method-M000021" class="method-detail">
384
- <a name="M000021"></a>
385
-
386
- <div class="method-heading">
387
- <a href="#M000021" class="method-signature">
388
- <span class="method-name">get_version</span><span class="method-args">(name)</span>
389
- </a>
390
- </div>
391
-
392
- <div class="method-description">
393
- <p><a class="source-toggle" href="#"
394
- onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
395
- <div class="method-source-code" id="M000021-source">
396
- <pre>
397
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 104</span>
398
- 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_version</span>(<span class="ruby-identifier">name</span>)
399
- 105: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
400
- 106: <span class="ruby-identifier">v</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">ns_versions</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">name</span>)
401
- 107: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">nil?</span>
402
- 108: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">ns_versions</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-value">1</span>)
403
- 109: <span class="ruby-identifier">v</span> = <span class="ruby-value">1</span>
404
- 110: <span class="ruby-keyword kw">end</span>
405
- 111: <span class="ruby-identifier">v</span>
406
- 112: <span class="ruby-keyword kw">end</span>
407
- </pre>
408
- </div>
409
- </div>
410
- </div>
411
-
412
- <div id="method-M000020" class="method-detail">
413
- <a name="M000020"></a>
414
-
415
- <div class="method-heading">
416
- <a href="#M000020" class="method-signature">
417
- <span class="method-name">increment_version</span><span class="method-args">(name)</span>
418
- </a>
419
- </div>
420
-
421
- <div class="method-description">
422
- <p><a class="source-toggle" href="#"
423
- onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
424
- <div class="method-source-code" id="M000020-source">
425
- <pre>
426
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 98</span>
427
- 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">increment_version</span>(<span class="ruby-identifier">name</span>)
428
- 99: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
429
- 100: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">get_version</span>(<span class="ruby-identifier">name</span>)
430
- 101: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">ns_versions</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
431
- 102: <span class="ruby-keyword kw">end</span>
432
- </pre>
433
- </div>
434
- </div>
435
- </div>
436
-
437
- <div id="method-M000018" class="method-detail">
438
- <a name="M000018"></a>
439
-
440
- <div class="method-heading">
441
- <a href="#M000018" class="method-signature">
442
- <span class="method-name">namespace</span><span class="method-args">()</span>
443
- </a>
444
- </div>
445
-
446
- <div class="method-description">
447
- <p><a class="source-toggle" href="#"
448
- onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
449
- <div class="method-source-code" id="M000018-source">
450
- <pre>
451
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 87</span>
452
- 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">namespace</span>
453
- 88: <span class="ruby-identifier">v</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_version</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>)
454
- 89: <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{name}.#{v}&quot;</span>
455
- 90: <span class="ruby-keyword kw">end</span>
456
- </pre>
457
- </div>
458
- </div>
459
- </div>
460
-
461
- <div id="method-M000019" class="method-detail">
462
- <a name="M000019"></a>
463
-
464
- <div class="method-heading">
465
- <a href="#M000019" class="method-signature">
466
- <span class="method-name">ns_versions</span><span class="method-args">()</span>
467
- </a>
468
- </div>
469
-
470
- <div class="method-description">
471
- <p><a class="source-toggle" href="#"
472
- onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
473
- <div class="method-source-code" id="M000019-source">
474
- <pre>
475
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcache.rb, line 92</span>
476
- 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ns_versions</span>
477
- 93: <span class="ruby-identifier">ivar_cache</span> <span class="ruby-keyword kw">do</span>
478
- 94: <span class="ruby-identifier">ns_conn</span> = <span class="ruby-constant">MemCache</span>.<span class="ruby-identifier">new</span>([<span class="ruby-identifier">configuration</span>.<span class="ruby-identifier">servers</span>].<span class="ruby-identifier">flatten</span>, <span class="ruby-identifier">configuration</span>.<span class="ruby-identifier">store_options</span>.<span class="ruby-identifier">to_hash</span>.<span class="ruby-identifier">merge</span>({<span class="ruby-identifier">:namespace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:namespace_versions</span>}))
479
- 95: <span class="ruby-keyword kw">end</span>
480
- 96: <span class="ruby-keyword kw">end</span>
481
- </pre>
482
- </div>
483
- </div>
484
- </div>
485
-
486
-
487
- </div>
488
-
489
-
490
- </div>
491
-
492
-
493
- <div id="validator-badges">
494
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
495
- </div>
496
-
497
- </body>
498
- </html>