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
@@ -65,8 +65,8 @@
65
65
  <tr class="top-aligned-row">
66
66
  <td><strong>Parent:</strong></td>
67
67
  <td>
68
- <a href="FileBase.html">
69
- Cachetastic::Adapters::FileBase
68
+ <a href="Base.html">
69
+ Cachetastic::Adapters::Base
70
70
  </a>
71
71
  </td>
72
72
  </tr>
@@ -82,37 +82,30 @@
82
82
 
83
83
  <div id="description">
84
84
  <p>
85
- This adapter uses the file system as it&#8216;s backing. The configuration
86
- for this should look something like this:
85
+ An adapter to cache objects to the file system.
86
+ </p>
87
+ <p>
88
+ This adapter supports the following configuration settings, in addition to
89
+ the default settings:
87
90
  </p>
88
91
  <pre>
89
- my_awesome_cache_options:
90
- debug: false
91
- adapter: file
92
- marshall_method: none
93
- default_expiry: &lt;%= 24.hours %&gt;
94
- store_options:
95
- dir: /usr/local/caches/
96
- logging:
97
- logger_1:
98
- type: file
99
- file: log/file_store_cache.log
92
+ configatron.cachetastic.defaults.storage_path = ::File.join(FileUtils.pwd, 'cachetastic')
93
+ configatron.cachetastic.defaults.marshal_method = :yaml
100
94
  </pre>
95
+ <p>
96
+ The <tt>storage_path</tt> setting defines the path to where cached objects
97
+ are written to on disk.
98
+ </p>
99
+ <p>
100
+ See <tt><a href="Base.html">Cachetastic::Adapters::Base</a></tt> for a list
101
+ of public API methods.
102
+ </p>
101
103
 
102
104
  </div>
103
105
 
104
106
 
105
107
  </div>
106
108
 
107
- <div id="method-list">
108
- <h3 class="section-bar">Methods</h3>
109
-
110
- <div class="name-list">
111
- <a href="#M000047">get</a>&nbsp;&nbsp;
112
- <a href="#M000048">set</a>&nbsp;&nbsp;
113
- <a href="#M000049">store_file_name</a>&nbsp;&nbsp;
114
- </div>
115
- </div>
116
109
 
117
110
  </div>
118
111
 
@@ -122,19 +115,6 @@ for this should look something like this:
122
115
  <div id="section">
123
116
 
124
117
 
125
- <div id="constants-list">
126
- <h3 class="section-bar">Constants</h3>
127
-
128
- <div class="name-list">
129
- <table summary="Constants">
130
- <tr class="top-aligned-row context-row">
131
- <td class="context-item-name">STORE_FILE_NAME</td>
132
- <td>=</td>
133
- <td class="context-item-value">&quot;cache.yml&quot;</td>
134
- </tr>
135
- </table>
136
- </div>
137
- </div>
138
118
 
139
119
 
140
120
 
@@ -142,99 +122,6 @@ for this should look something like this:
142
122
 
143
123
 
144
124
  <!-- if method_list -->
145
- <div id="methods">
146
- <h3 class="section-bar">Public Instance methods</h3>
147
-
148
- <div id="method-M000047" class="method-detail">
149
- <a name="M000047"></a>
150
-
151
- <div class="method-heading">
152
- <a href="#M000047" class="method-signature">
153
- <span class="method-name">get</span><span class="method-args">(key)</span>
154
- </a>
155
- </div>
156
-
157
- <div class="method-description">
158
- <p><a class="source-toggle" href="#"
159
- onclick="toggleCode('M000047-source');return false;">[Source]</a></p>
160
- <div class="method-source-code" id="M000047-source">
161
- <pre>
162
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/file.rb, line 16</span>
163
- 16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>)
164
- 17: <span class="ruby-identifier">full_path</span> = <span class="ruby-identifier">full_path_from_dir</span>(<span class="ruby-identifier">get_key_directoy</span>(<span class="ruby-identifier">key</span>, <span class="ruby-keyword kw">false</span>))
165
- 18: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">full_path</span>)
166
- 19: <span class="ruby-identifier">so</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">full_path</span>).<span class="ruby-identifier">read</span>)
167
- 20: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>
168
- 21: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">invalid?</span>
169
- 22: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
170
- 23: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
171
- 24: <span class="ruby-keyword kw">end</span>
172
- 25: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-constant">Object</span>)
173
- 26: <span class="ruby-identifier">require</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">underscore</span>
174
- 27: <span class="ruby-identifier">so</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">full_path</span>).<span class="ruby-identifier">read</span>)
175
- 28: <span class="ruby-keyword kw">end</span>
176
- 29: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">value</span>
177
- 30: <span class="ruby-keyword kw">end</span>
178
- 31: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
179
- 32: <span class="ruby-keyword kw">end</span>
180
- </pre>
181
- </div>
182
- </div>
183
- </div>
184
-
185
- <div id="method-M000048" class="method-detail">
186
- <a name="M000048"></a>
187
-
188
- <div class="method-heading">
189
- <a href="#M000048" class="method-signature">
190
- <span class="method-name">set</span><span class="method-args">(key, value, expiry = 0)</span>
191
- </a>
192
- </div>
193
-
194
- <div class="method-description">
195
- <p><a class="source-toggle" href="#"
196
- onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
197
- <div class="method-source-code" id="M000048-source">
198
- <pre>
199
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/file.rb, line 34</span>
200
- 34: <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>)
201
- 35: <span class="ruby-identifier">so</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>)
202
- 36: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">full_path_from_key</span>(<span class="ruby-identifier">key</span>), <span class="ruby-value str">&quot;w&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
203
- 37: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">dump</span>(<span class="ruby-identifier">so</span>)
204
- 38: <span class="ruby-keyword kw">end</span>
205
- 39: <span class="ruby-keyword kw">end</span>
206
- </pre>
207
- </div>
208
- </div>
209
- </div>
210
-
211
- <h3 class="section-bar">Protected Instance methods</h3>
212
-
213
- <div id="method-M000049" class="method-detail">
214
- <a name="M000049"></a>
215
-
216
- <div class="method-heading">
217
- <a href="#M000049" class="method-signature">
218
- <span class="method-name">store_file_name</span><span class="method-args">()</span>
219
- </a>
220
- </div>
221
-
222
- <div class="method-description">
223
- <p><a class="source-toggle" href="#"
224
- onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
225
- <div class="method-source-code" id="M000049-source">
226
- <pre>
227
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/file.rb, line 42</span>
228
- 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_file_name</span>
229
- 43: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">STORE_FILE_NAME</span>
230
- 44: <span class="ruby-keyword kw">end</span>
231
- </pre>
232
- </div>
233
- </div>
234
- </div>
235
-
236
-
237
- </div>
238
125
 
239
126
 
240
127
  </div>
@@ -82,9 +82,13 @@
82
82
 
83
83
  <div id="description">
84
84
  <p>
85
- An adapter/store that keeps objects in local memory. This is great for
86
- development/testing, but probably shouldn&#8216;t be put into production.
87
- It&#8216;s also a very good example of how to write a adapter.
85
+ An adapter to cache objects to memory. It is important to note that this
86
+ cache is <b>volatile</b>. If the VM it is running in shuts down, everything
87
+ in the cache gets vaporized.
88
+ </p>
89
+ <p>
90
+ See <tt><a href="Base.html">Cachetastic::Adapters::Base</a></tt> for a list
91
+ of public API methods.
88
92
  </p>
89
93
 
90
94
  </div>
@@ -92,19 +96,6 @@ It&#8216;s also a very good example of how to write a adapter.
92
96
 
93
97
  </div>
94
98
 
95
- <div id="method-list">
96
- <h3 class="section-bar">Methods</h3>
97
-
98
- <div class="name-list">
99
- <a href="#M000027">delete</a>&nbsp;&nbsp;
100
- <a href="#M000024">expire_all</a>&nbsp;&nbsp;
101
- <a href="#M000025">get</a>&nbsp;&nbsp;
102
- <a href="#M000026">set</a>&nbsp;&nbsp;
103
- <a href="#M000023">setup</a>&nbsp;&nbsp;
104
- <a href="#M000028">stats</a>&nbsp;&nbsp;
105
- <a href="#M000022">valid?</a>&nbsp;&nbsp;
106
- </div>
107
- </div>
108
99
 
109
100
  </div>
110
101
 
@@ -117,222 +108,10 @@ It&#8216;s also a very good example of how to write a adapter.
117
108
 
118
109
 
119
110
 
120
- <div id="attribute-list">
121
- <h3 class="section-bar">Attributes</h3>
122
-
123
- <div class="name-list">
124
- <table>
125
- <tr class="top-aligned-row context-row">
126
- <td class="context-item-name">local_store</td>
127
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
128
- <td class="context-item-desc"></td>
129
- </tr>
130
- </table>
131
- </div>
132
- </div>
133
111
 
134
112
 
135
113
 
136
114
  <!-- if method_list -->
137
- <div id="methods">
138
- <h3 class="section-bar">Public Instance methods</h3>
139
-
140
- <div id="method-M000027" class="method-detail">
141
- <a name="M000027"></a>
142
-
143
- <div class="method-heading">
144
- <a href="#M000027" class="method-signature">
145
- <span class="method-name">delete</span><span class="method-args">(key, delay = 0)</span>
146
- </a>
147
- </div>
148
-
149
- <div class="method-description">
150
- <p><a class="source-toggle" href="#"
151
- onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
152
- <div class="method-source-code" id="M000027-source">
153
- <pre>
154
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 37</span>
155
- 37: <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>)
156
- 38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">delay</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
157
- 39: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>)
158
- 40: <span class="ruby-keyword kw">else</span>
159
- 41: <span class="ruby-identifier">so</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>)
160
- 42: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>
161
- 43: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">so</span>.<span class="ruby-identifier">key</span>, <span class="ruby-identifier">so</span>.<span class="ruby-identifier">value</span>, <span class="ruby-identifier">delay</span>)
162
- 44: <span class="ruby-keyword kw">end</span>
163
- 45: <span class="ruby-keyword kw">end</span>
164
- 46: <span class="ruby-keyword kw">end</span>
165
- </pre>
166
- </div>
167
- </div>
168
- </div>
169
-
170
- <div id="method-M000024" class="method-detail">
171
- <a name="M000024"></a>
172
-
173
- <div class="method-heading">
174
- <a href="#M000024" class="method-signature">
175
- <span class="method-name">expire_all</span><span class="method-args">()</span>
176
- </a>
177
- </div>
178
-
179
- <div class="method-description">
180
- <p><a class="source-toggle" href="#"
181
- onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
182
- <div class="method-source-code" id="M000024-source">
183
- <pre>
184
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 16</span>
185
- 16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expire_all</span>
186
- 17: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</span> = {}
187
- 18: <span class="ruby-keyword kw">end</span>
188
- </pre>
189
- </div>
190
- </div>
191
- </div>
192
-
193
- <div id="method-M000025" class="method-detail">
194
- <a name="M000025"></a>
195
-
196
- <div class="method-heading">
197
- <a href="#M000025" class="method-signature">
198
- <span class="method-name">get</span><span class="method-args">(key)</span>
199
- </a>
200
- </div>
201
-
202
- <div class="method-description">
203
- <p>
204
- See <a href="Base.html">Cachetastic::Adapters::Base</a>
205
- </p>
206
- <p><a class="source-toggle" href="#"
207
- onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
208
- <div class="method-source-code" id="M000025-source">
209
- <pre>
210
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 21</span>
211
- 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>)
212
- 22: <span class="ruby-identifier">so</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>]
213
- 23: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>
214
- 24: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">invalid?</span>
215
- 25: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
216
- 26: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
217
- 27: <span class="ruby-keyword kw">end</span>
218
- 28: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">so</span>.<span class="ruby-identifier">value</span>
219
- 29: <span class="ruby-keyword kw">end</span>
220
- 30: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
221
- 31: <span class="ruby-keyword kw">end</span>
222
- </pre>
223
- </div>
224
- </div>
225
- </div>
226
-
227
- <div id="method-M000026" class="method-detail">
228
- <a name="M000026"></a>
229
-
230
- <div class="method-heading">
231
- <a href="#M000026" class="method-signature">
232
- <span class="method-name">set</span><span class="method-args">(key, value, expiry = 0)</span>
233
- </a>
234
- </div>
235
-
236
- <div class="method-description">
237
- <p><a class="source-toggle" href="#"
238
- onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
239
- <div class="method-source-code" id="M000026-source">
240
- <pre>
241
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 33</span>
242
- 33: <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>)
243
- 34: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</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>)
244
- 35: <span class="ruby-keyword kw">end</span>
245
- </pre>
246
- </div>
247
- </div>
248
- </div>
249
-
250
- <div id="method-M000023" class="method-detail">
251
- <a name="M000023"></a>
252
-
253
- <div class="method-heading">
254
- <a href="#M000023" class="method-signature">
255
- <span class="method-name">setup</span><span class="method-args">()</span>
256
- </a>
257
- </div>
258
-
259
- <div class="method-description">
260
- <p><a class="source-toggle" href="#"
261
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
262
- <div class="method-source-code" id="M000023-source">
263
- <pre>
264
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 12</span>
265
- 12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup</span>
266
- 13: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</span> = {}
267
- 14: <span class="ruby-keyword kw">end</span>
268
- </pre>
269
- </div>
270
- </div>
271
- </div>
272
-
273
- <div id="method-M000028" class="method-detail">
274
- <a name="M000028"></a>
275
-
276
- <div class="method-heading">
277
- <a href="#M000028" class="method-signature">
278
- <span class="method-name">stats</span><span class="method-args">()</span>
279
- </a>
280
- </div>
281
-
282
- <div class="method-description">
283
- <p><a class="source-toggle" href="#"
284
- onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
285
- <div class="method-source-code" id="M000028-source">
286
- <pre>
287
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 48</span>
288
- 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stats</span>
289
- 49: <span class="ruby-keyword kw">super</span>
290
- 50: <span class="ruby-identifier">num_keys</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</span>.<span class="ruby-identifier">size</span>
291
- 51: <span class="ruby-identifier">s</span> = <span class="ruby-node">&quot;Number of Entries: #{num_keys}\n&quot;</span>
292
- 52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">num_keys</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
293
- 53: <span class="ruby-identifier">expiries</span> = []
294
- 54: <span class="ruby-identifier">keys</span> = []
295
- 55: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">local_store</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>,<span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
296
- 56: <span class="ruby-identifier">keys</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">key</span>
297
- 57: <span class="ruby-identifier">expiries</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">expires_at</span>
298
- 58: <span class="ruby-keyword kw">end</span>
299
- 59: <span class="ruby-identifier">expiries</span>.<span class="ruby-identifier">sort!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">y</span>}
300
- 60: <span class="ruby-identifier">oldest_expiry</span> = <span class="ruby-identifier">expiries</span>.<span class="ruby-identifier">first</span>
301
- 61: <span class="ruby-identifier">newest_expiry</span> = <span class="ruby-identifier">expiries</span>.<span class="ruby-identifier">last</span>
302
- 62: <span class="ruby-identifier">s</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Oldest Entry: #{oldest_expiry}\nNewest Entry: #{newest_expiry}\nKeys: #{keys.inspect}\n&quot;</span>
303
- 63: <span class="ruby-keyword kw">end</span>
304
- 64: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>
305
- 65: <span class="ruby-keyword kw">end</span>
306
- </pre>
307
- </div>
308
- </div>
309
- </div>
310
-
311
- <div id="method-M000022" class="method-detail">
312
- <a name="M000022"></a>
313
-
314
- <div class="method-heading">
315
- <a href="#M000022" class="method-signature">
316
- <span class="method-name">valid?</span><span class="method-args">()</span>
317
- </a>
318
- </div>
319
-
320
- <div class="method-description">
321
- <p><a class="source-toggle" href="#"
322
- onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
323
- <div class="method-source-code" id="M000022-source">
324
- <pre>
325
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/local_memory.rb, line 8</span>
326
- 8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid?</span>
327
- 9: <span class="ruby-keyword kw">true</span>
328
- 10: <span class="ruby-keyword kw">end</span>
329
- </pre>
330
- </div>
331
- </div>
332
- </div>
333
-
334
-
335
- </div>
336
115
 
337
116
 
338
117
  </div>
@@ -0,0 +1,193 @@
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::Memcached</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::Memcached</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/cachetastic/adapters/memcached_rb.html">
59
+ lib/cachetastic/adapters/memcached.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
+ An adapter to cache objects to the file system.
86
+ </p>
87
+ <p>
88
+ This adapter supports the following configuration settings, in addition to
89
+ the default settings:
90
+ </p>
91
+ <pre>
92
+ configatron.cachetastic.defaults.servers = ['127.0.0.1:11211']
93
+ configatron.cachetastic.defaults.mc_options = {:c_threshold =&gt; 10_000,
94
+ :compression =&gt; true,
95
+ :debug =&gt; false,
96
+ :readonly =&gt; false,
97
+ :urlencode =&gt; false}
98
+ configatron.cachetastic.delete_delay = 0
99
+ </pre>
100
+ <p>
101
+ The <tt>servers</tt> setting defines an <tt>Array</tt> of Mecached servers,
102
+ represented as &quot;&lt;host&gt;:&lt;port&gt;&quot;.
103
+ </p>
104
+ <p>
105
+ The <tt>mc_options</tt> setting is a <tt>Hash</tt> of settings required by
106
+ <a href="Memcached.html">Memcached</a>. See the <a
107
+ href="Memcached.html">Memcached</a> documentation for more information on
108
+ what the settings mean.
109
+ </p>
110
+ <p>
111
+ The <tt>delete_delay</tt> setting tells <a
112
+ href="Memcached.html">Memcached</a> how long to wait before it deletes the
113
+ object. This is not the same as <tt>expiry_time</tt>. It is only used when
114
+ the <tt>delete</tt> method is called.
115
+ </p>
116
+ <p>
117
+ See <tt><a href="Base.html">Cachetastic::Adapters::Base</a></tt> for a list
118
+ of public API methods.
119
+ </p>
120
+
121
+ </div>
122
+
123
+
124
+ </div>
125
+
126
+ <div id="method-list">
127
+ <h3 class="section-bar">Methods</h3>
128
+
129
+ <div class="name-list">
130
+ <a href="#M000002">valid?</a>&nbsp;&nbsp;
131
+ </div>
132
+ </div>
133
+
134
+ </div>
135
+
136
+
137
+ <!-- if includes -->
138
+
139
+ <div id="section">
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+ <!-- if method_list -->
149
+ <div id="methods">
150
+ <h3 class="section-bar">Public Instance methods</h3>
151
+
152
+ <div id="method-M000002" class="method-detail">
153
+ <a name="M000002"></a>
154
+
155
+ <div class="method-heading">
156
+ <a href="#M000002" class="method-signature">
157
+ <span class="method-name">valid?</span><span class="method-args">()</span>
158
+ </a>
159
+ </div>
160
+
161
+ <div class="method-description">
162
+ <p>
163
+ Return <tt>false</tt> if the connection to <a
164
+ href="Memcached.html">Memcached</a> is either <tt>nil</tt> or not active.
165
+ </p>
166
+ <p><a class="source-toggle" href="#"
167
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
168
+ <div class="method-source-code" id="M000002-source">
169
+ <pre>
170
+ <span class="ruby-comment cmt"># File lib/cachetastic/adapters/memcached.rb, line 70</span>
171
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid?</span>
172
+ 71: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@_mc_connection</span>.<span class="ruby-identifier">nil?</span>
173
+ 72: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@_mc_connection</span>.<span class="ruby-identifier">active?</span>
174
+ 73: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
175
+ 74: <span class="ruby-keyword kw">end</span>
176
+ </pre>
177
+ </div>
178
+ </div>
179
+ </div>
180
+
181
+
182
+ </div>
183
+
184
+
185
+ </div>
186
+
187
+
188
+ <div id="validator-badges">
189
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
190
+ </div>
191
+
192
+ </body>
193
+ </html>