cachetastic 3.0.0 → 3.0.1

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 (30) hide show
  1. data/lib/cachetastic.rb +1 -1
  2. metadata +2 -30
  3. data/doc/classes/Cachetastic/Adapters.html +0 -180
  4. data/doc/classes/Cachetastic/Adapters/Base.html +0 -419
  5. data/doc/classes/Cachetastic/Adapters/File.html +0 -135
  6. data/doc/classes/Cachetastic/Adapters/LocalMemory.html +0 -125
  7. data/doc/classes/Cachetastic/Adapters/Memcached.html +0 -193
  8. data/doc/classes/Cachetastic/Cache.html +0 -425
  9. data/doc/classes/Cachetastic/Cacheable.html +0 -255
  10. data/doc/classes/Cachetastic/Cacheable/ClassAndInstanceMethods.html +0 -290
  11. data/doc/classes/Cachetastic/Cacheable/ClassOnlyMethods.html +0 -197
  12. data/doc/classes/Cachetastic/Logger.html +0 -186
  13. data/doc/created.rid +0 -1
  14. data/doc/files/LICENSE.html +0 -132
  15. data/doc/files/README.html +0 -222
  16. data/doc/files/lib/cachetastic/adapters/base_rb.html +0 -101
  17. data/doc/files/lib/cachetastic/adapters/file_rb.html +0 -101
  18. data/doc/files/lib/cachetastic/adapters/local_memory_rb.html +0 -101
  19. data/doc/files/lib/cachetastic/adapters/memcached_rb.html +0 -101
  20. data/doc/files/lib/cachetastic/cache_rb.html +0 -101
  21. data/doc/files/lib/cachetastic/cacheable_rb.html +0 -101
  22. data/doc/files/lib/cachetastic/extensions/string_rb.html +0 -108
  23. data/doc/files/lib/cachetastic/logger_rb.html +0 -101
  24. data/doc/files/lib/cachetastic/store_object_rb.html +0 -101
  25. data/doc/files/lib/cachetastic_rb.html +0 -112
  26. data/doc/fr_class_index.html +0 -36
  27. data/doc/fr_file_index.html +0 -38
  28. data/doc/fr_method_index.html +0 -52
  29. data/doc/index.html +0 -24
  30. data/doc/rdoc-style.css +0 -208
data/lib/cachetastic.rb CHANGED
@@ -4,7 +4,7 @@ require 'activesupport'
4
4
  require 'fileutils'
5
5
  require 'memcache'
6
6
 
7
- Dir.glob(File.join(File.dirname(__FILE__), 'cachetastic', '**/*.rb')).each do |f|
7
+ Dir.glob(File.join(File.dirname(__FILE__), 'cachetastic', '**/*.rb')).sort.each do |f|
8
8
  require File.expand_path(f)
9
9
  end
10
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cachetastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Bates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-11 00:00:00 -04:00
12
+ date: 2009-06-25 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -64,34 +64,6 @@ files:
64
64
  - lib/cachetastic.rb
65
65
  - README
66
66
  - LICENSE
67
- - doc/classes/Cachetastic/Adapters/Base.html
68
- - doc/classes/Cachetastic/Adapters/File.html
69
- - doc/classes/Cachetastic/Adapters/LocalMemory.html
70
- - doc/classes/Cachetastic/Adapters/Memcached.html
71
- - doc/classes/Cachetastic/Adapters.html
72
- - doc/classes/Cachetastic/Cache.html
73
- - doc/classes/Cachetastic/Cacheable/ClassAndInstanceMethods.html
74
- - doc/classes/Cachetastic/Cacheable/ClassOnlyMethods.html
75
- - doc/classes/Cachetastic/Cacheable.html
76
- - doc/classes/Cachetastic/Logger.html
77
- - doc/created.rid
78
- - doc/files/lib/cachetastic/adapters/base_rb.html
79
- - doc/files/lib/cachetastic/adapters/file_rb.html
80
- - doc/files/lib/cachetastic/adapters/local_memory_rb.html
81
- - doc/files/lib/cachetastic/adapters/memcached_rb.html
82
- - doc/files/lib/cachetastic/cache_rb.html
83
- - doc/files/lib/cachetastic/cacheable_rb.html
84
- - doc/files/lib/cachetastic/extensions/string_rb.html
85
- - doc/files/lib/cachetastic/logger_rb.html
86
- - doc/files/lib/cachetastic/store_object_rb.html
87
- - doc/files/lib/cachetastic_rb.html
88
- - doc/files/LICENSE.html
89
- - doc/files/README.html
90
- - doc/fr_class_index.html
91
- - doc/fr_file_index.html
92
- - doc/fr_method_index.html
93
- - doc/index.html
94
- - doc/rdoc-style.css
95
67
  has_rdoc: true
96
68
  homepage: http://www.metabates.com
97
69
  post_install_message:
@@ -1,180 +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>Module: Cachetastic::Adapters</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>Module</strong></td>
53
- <td class="class-name-in-header">Cachetastic::Adapters</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/cachetastic/adapters/base_rb.html">
59
- lib/cachetastic/adapters/base.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/cachetastic/adapters/file_rb.html">
63
- lib/cachetastic/adapters/file.rb
64
- </a>
65
- <br />
66
- <a href="../../files/lib/cachetastic/adapters/local_memory_rb.html">
67
- lib/cachetastic/adapters/local_memory.rb
68
- </a>
69
- <br />
70
- <a href="../../files/lib/cachetastic/adapters/memcached_rb.html">
71
- lib/cachetastic/adapters/memcached.rb
72
- </a>
73
- <br />
74
- </td>
75
- </tr>
76
-
77
- </table>
78
- </div>
79
- <!-- banner header -->
80
-
81
- <div id="bodyContent">
82
-
83
-
84
-
85
- <div id="contextContent">
86
-
87
-
88
-
89
- </div>
90
-
91
- <div id="method-list">
92
- <h3 class="section-bar">Methods</h3>
93
-
94
- <div class="name-list">
95
- <a href="#M000001">build</a>&nbsp;&nbsp;
96
- </div>
97
- </div>
98
-
99
- </div>
100
-
101
-
102
- <!-- if includes -->
103
-
104
- <div id="section">
105
-
106
- <div id="class-list">
107
- <h3 class="section-bar">Classes and Modules</h3>
108
-
109
- Class <a href="Adapters/Base.html" class="link">Cachetastic::Adapters::Base</a><br />
110
- Class <a href="Adapters/File.html" class="link">Cachetastic::Adapters::File</a><br />
111
- Class <a href="Adapters/LocalMemory.html" class="link">Cachetastic::Adapters::LocalMemory</a><br />
112
- Class <a href="Adapters/Memcached.html" class="link">Cachetastic::Adapters::Memcached</a><br />
113
-
114
- </div>
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
- <!-- if method_list -->
123
- <div id="methods">
124
- <h3 class="section-bar">Public Class methods</h3>
125
-
126
- <div id="method-M000001" class="method-detail">
127
- <a name="M000001"></a>
128
-
129
- <div class="method-heading">
130
- <a href="#M000001" class="method-signature">
131
- <span class="method-name">build</span><span class="method-args">(klass)</span>
132
- </a>
133
- </div>
134
-
135
- <div class="method-description">
136
- <p>
137
- This method will return the appropriate <tt><a
138
- href="Adapters/Base.html">Cachetastic::Adapters::Base</a></tt> class that
139
- is defined for the Class passed in. If an adapter has not been defined for
140
- the Class than the default adapter is returned.
141
- </p>
142
- <p>
143
- Examples:
144
- </p>
145
- <pre>
146
- configatron.cachetastic.defaults.adapter = Cachetastic::Adapters::LocalMemory
147
- configatron.cachetastic.user.adapter = Cachetastic::Adapters::Memcached
148
- Cachetastic::Adapters.build(User).class # =&gt; Cachetastic::Adapters::Memcached
149
- Cachetastic::Adapters.build(Comment).class # =&gt; Cachetastic::Adapters::LocalMemory
150
- </pre>
151
- <p><a class="source-toggle" href="#"
152
- onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
153
- <div class="method-source-code" id="M000001-source">
154
- <pre>
155
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 16</span>
156
- 16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build</span>(<span class="ruby-identifier">klass</span>)
157
- 17: <span class="ruby-identifier">adp</span> = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_configatron</span>(<span class="ruby-identifier">:cachetastic</span>).<span class="ruby-identifier">adapter</span>
158
- 18: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">adp</span>.<span class="ruby-identifier">nil?</span>
159
- 19: <span class="ruby-identifier">adp</span> = <span class="ruby-identifier">configatron</span>.<span class="ruby-identifier">cachetastic</span>.<span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">adapter</span>
160
- 20: <span class="ruby-keyword kw">end</span>
161
- 21: <span class="ruby-identifier">adp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">klass</span>)
162
- 22: <span class="ruby-keyword kw">end</span>
163
- </pre>
164
- </div>
165
- </div>
166
- </div>
167
-
168
-
169
- </div>
170
-
171
-
172
- </div>
173
-
174
-
175
- <div id="validator-badges">
176
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
177
- </div>
178
-
179
- </body>
180
- </html>
@@ -1,419 +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::Base</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::Base</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/cachetastic/adapters/base_rb.html">
59
- lib/cachetastic/adapters/base.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
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
- <div id="description">
82
- <p>
83
- This class should be extended to create <a href="Base.html#M000003">new</a>
84
- adapters for various backends. It is important that all subclasses call the
85
- <tt>initialize</tt> method in this base, otherwise things just will not
86
- work right.
87
- </p>
88
- <p>
89
- This base class provides common functionality and an API for all adapters
90
- to be used with Cachetastic.
91
- </p>
92
- <p>
93
- The default settings for all adapters are:
94
- </p>
95
- <pre>
96
- configatron.cachetastic.defaults.marshal_method = :none
97
- configatron.cachetastic.defaults.expiry_swing = 0
98
- configatron.cachetastic.defaults.default_expiry = 86400
99
- configatron.cachetastic.defaults.debug = true
100
- configatron.cachetastic.defaults.adapter = Cachetastic::Adapters::LocalMemory
101
- logger = ::Logger.new(File.join(FileUtils.pwd, 'log', 'cachetastic.log'))
102
- logger.level = ::Logger::DEBUG
103
- configatron.cachetastic.defaults.logger = logger
104
- </pre>
105
- <p>
106
- See the README for more information on what each of those settings mean,
107
- and what are values may be used for each one.
108
- </p>
109
-
110
- </div>
111
-
112
-
113
- </div>
114
-
115
- <div id="method-list">
116
- <h3 class="section-bar">Methods</h3>
117
-
118
- <div class="name-list">
119
- <a href="#M000006">delete</a>&nbsp;&nbsp;
120
- <a href="#M000007">expire_all</a>&nbsp;&nbsp;
121
- <a href="#M000004">get</a>&nbsp;&nbsp;
122
- <a href="#M000003">new</a>&nbsp;&nbsp;
123
- <a href="#M000005">set</a>&nbsp;&nbsp;
124
- <a href="#M000008">transform_key</a>&nbsp;&nbsp;
125
- <a href="#M000009">valid?</a>&nbsp;&nbsp;
126
- </div>
127
- </div>
128
-
129
- </div>
130
-
131
-
132
- <!-- if includes -->
133
-
134
- <div id="section">
135
-
136
-
137
-
138
-
139
-
140
- <div id="attribute-list">
141
- <h3 class="section-bar">Attributes</h3>
142
-
143
- <div class="name-list">
144
- <table>
145
- <tr class="top-aligned-row context-row">
146
- <td class="context-item-name">klass</td>
147
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
148
- <td class="context-item-desc">
149
- The Class that this adapter is associated with. Note that it is a
150
- <em>class</em> reference and not an instance reference.
151
-
152
- </td>
153
- </tr>
154
- </table>
155
- </div>
156
- </div>
157
-
158
-
159
-
160
- <!-- if method_list -->
161
- <div id="methods">
162
- <h3 class="section-bar">Public Class methods</h3>
163
-
164
- <div id="method-M000003" class="method-detail">
165
- <a name="M000003"></a>
166
-
167
- <div class="method-heading">
168
- <a href="#M000003" class="method-signature">
169
- <span class="method-name">new</span><span class="method-args">(klass)</span>
170
- </a>
171
- </div>
172
-
173
- <div class="method-description">
174
- <p>
175
- Creates a <a href="Base.html#M000003">new</a> adapter. It takes a class
176
- reference to tie the instance of the adapter to a particular class. Note
177
- that it is a <em>class</em> reference and not an instance reference.
178
- </p>
179
- <p>
180
- Examples:
181
- </p>
182
- <pre>
183
- Cachetastic::Adapters::Base.new(User)
184
- </pre>
185
- <p>
186
- <a href="../Adapters.html">Adapters</a> are configured using the
187
- Configatron gem.
188
- </p>
189
- <p>
190
- Examples:
191
- </p>
192
- <pre>
193
- configatron.cachetastic.user.adapter = Cachetastic::Adapters::File
194
- configatron.cachetastic.user.expiry_time = 5.hours
195
- configatron.cachetastic.defaults.expiry_time = 24.hours
196
- </pre>
197
- <p>
198
- Refered to each adapter for its specific configuration settings.
199
- </p>
200
- <p><a class="source-toggle" href="#"
201
- onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
202
- <div class="method-source-code" id="M000003-source">
203
- <pre>
204
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 67</span>
205
- 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">klass</span>)
206
- 68: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">klass</span> = <span class="ruby-identifier">klass</span>
207
- 69: <span class="ruby-identifier">configatron</span>.<span class="ruby-identifier">cachetastic</span>.<span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">configatron_keys</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-operator">|</span>
208
- 70: <span class="ruby-identifier">define_accessor</span>(<span class="ruby-identifier">key</span>)
209
- 71: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{key}=&quot;</span>, <span class="ruby-identifier">configatron</span>.<span class="ruby-identifier">cachetastic</span>.<span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">key</span>))
210
- 72: <span class="ruby-keyword kw">end</span>
211
- 73: <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_configatron</span>(<span class="ruby-identifier">:cachetastic</span>).<span class="ruby-identifier">configatron_keys</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-operator">|</span>
212
- 74: <span class="ruby-identifier">define_accessor</span>(<span class="ruby-identifier">key</span>)
213
- 75: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{key}=&quot;</span>, <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_configatron</span>(<span class="ruby-identifier">:cachetastic</span>).<span class="ruby-identifier">send</span>(<span class="ruby-identifier">key</span>))
214
- 76: <span class="ruby-keyword kw">end</span>
215
- 77: <span class="ruby-keyword kw">end</span>
216
- </pre>
217
- </div>
218
- </div>
219
- </div>
220
-
221
- <h3 class="section-bar">Public Instance methods</h3>
222
-
223
- <div id="method-M000006" class="method-detail">
224
- <a name="M000006"></a>
225
-
226
- <div class="method-heading">
227
- <a href="#M000006" class="method-signature">
228
- <span class="method-name">delete</span><span class="method-args">(key)</span>
229
- </a>
230
- </div>
231
-
232
- <div class="method-description">
233
- <p>
234
- <b>This method MUST be implemented by a subclass!</b>
235
- </p>
236
- <p>
237
- The implementation of this method should take a key and remove an object,
238
- if it exists, from an underlying persistence store.
239
- </p>
240
- <p><a class="source-toggle" href="#"
241
- onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
242
- <div class="method-source-code" id="M000006-source">
243
- <pre>
244
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 101</span>
245
- 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
246
- 102: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'delete'</span>)
247
- 103: <span class="ruby-keyword kw">end</span>
248
- </pre>
249
- </div>
250
- </div>
251
- </div>
252
-
253
- <div id="method-M000007" class="method-detail">
254
- <a name="M000007"></a>
255
-
256
- <div class="method-heading">
257
- <a href="#M000007" class="method-signature">
258
- <span class="method-name">expire_all</span><span class="method-args">()</span>
259
- </a>
260
- </div>
261
-
262
- <div class="method-description">
263
- <p>
264
- <b>This method MUST be implemented by a subclass!</b>
265
- </p>
266
- <p>
267
- The implementation of this method is expected to <a
268
- href="Base.html#M000006">delete</a> all objects belonging to the associated
269
- cache from the underlying persistence store. It is <b>NOT</b> meant to <a
270
- href="Base.html#M000006">delete</a> <b>ALL</b> objects across <b>ALL</b>
271
- caches for the underlying persistence store. That would be very very bad!!
272
- </p>
273
- <p><a class="source-toggle" href="#"
274
- onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
275
- <div class="method-source-code" id="M000007-source">
276
- <pre>
277
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 112</span>
278
- 112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expire_all</span>
279
- 113: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'expire_all'</span>)
280
- 114: <span class="ruby-keyword kw">end</span>
281
- </pre>
282
- </div>
283
- </div>
284
- </div>
285
-
286
- <div id="method-M000004" class="method-detail">
287
- <a name="M000004"></a>
288
-
289
- <div class="method-heading">
290
- <a href="#M000004" class="method-signature">
291
- <span class="method-name">get</span><span class="method-args">(key)</span>
292
- </a>
293
- </div>
294
-
295
- <div class="method-description">
296
- <p>
297
- <b>This method MUST be implemented by a subclass!</b>
298
- </p>
299
- <p>
300
- The implementation of this method should take a key and return an
301
- associated object, if available, from the underlying persistence layer.
302
- </p>
303
- <p><a class="source-toggle" href="#"
304
- onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
305
- <div class="method-source-code" id="M000004-source">
306
- <pre>
307
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 84</span>
308
- 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>)
309
- 85: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'get'</span>)
310
- 86: <span class="ruby-keyword kw">end</span>
311
- </pre>
312
- </div>
313
- </div>
314
- </div>
315
-
316
- <div id="method-M000005" class="method-detail">
317
- <a name="M000005"></a>
318
-
319
- <div class="method-heading">
320
- <a href="#M000005" class="method-signature">
321
- <span class="method-name">set</span><span class="method-args">(key, value, expiry_time = configatron.cachetastic.defaults.default_expiry)</span>
322
- </a>
323
- </div>
324
-
325
- <div class="method-description">
326
- <p>
327
- <b>This method MUST be implemented by a subclass!</b>
328
- </p>
329
- <p>
330
- The implementation of this method should take a key, a value, and an expiry
331
- time and save it to the persistence store, where it should live until it is
332
- either deleted by the user of the expiry time has passed.
333
- </p>
334
- <p><a class="source-toggle" href="#"
335
- onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
336
- <div class="method-source-code" id="M000005-source">
337
- <pre>
338
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 93</span>
339
- 93: <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_time</span> = <span class="ruby-identifier">configatron</span>.<span class="ruby-identifier">cachetastic</span>.<span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">default_expiry</span>)
340
- 94: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'set'</span>)
341
- 95: <span class="ruby-keyword kw">end</span>
342
- </pre>
343
- </div>
344
- </div>
345
- </div>
346
-
347
- <div id="method-M000008" class="method-detail">
348
- <a name="M000008"></a>
349
-
350
- <div class="method-heading">
351
- <a href="#M000008" class="method-signature">
352
- <span class="method-name">transform_key</span><span class="method-args">(key)</span>
353
- </a>
354
- </div>
355
-
356
- <div class="method-description">
357
- <p>
358
- Allows an adapter to transform the key to a safe representation for
359
- it&#8216;s backend. For example, the key: &#8217;$*&#8230;123()%~q&#8217;
360
- is not a key for the file system, so the <a
361
- href="File.html">Cachetastic::Adapters::File</a> class should override this
362
- to make it safe for the file system.
363
- </p>
364
- <p><a class="source-toggle" href="#"
365
- onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
366
- <div class="method-source-code" id="M000008-source">
367
- <pre>
368
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 122</span>
369
- 122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transform_key</span>(<span class="ruby-identifier">key</span>)
370
- 123: <span class="ruby-identifier">key</span>
371
- 124: <span class="ruby-keyword kw">end</span>
372
- </pre>
373
- </div>
374
- </div>
375
- </div>
376
-
377
- <div id="method-M000009" class="method-detail">
378
- <a name="M000009"></a>
379
-
380
- <div class="method-heading">
381
- <a href="#M000009" class="method-signature">
382
- <span class="method-name">valid?</span><span class="method-args">()</span>
383
- </a>
384
- </div>
385
-
386
- <div class="method-description">
387
- <p>
388
- <b>This method MUST be implemented by a subclass!</b>
389
- </p>
390
- <p>
391
- The implementation of this method should return <tt>true</tt> if the
392
- adapter is in a valid state, and <tt>false</tt> if it is not.
393
- </p>
394
- <p><a class="source-toggle" href="#"
395
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
396
- <div class="method-source-code" id="M000009-source">
397
- <pre>
398
- <span class="ruby-comment cmt"># File lib/cachetastic/adapters/base.rb, line 131</span>
399
- 131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid?</span>
400
- 132: <span class="ruby-keyword kw">true</span>
401
- 133: <span class="ruby-keyword kw">end</span>
402
- </pre>
403
- </div>
404
- </div>
405
- </div>
406
-
407
-
408
- </div>
409
-
410
-
411
- </div>
412
-
413
-
414
- <div id="validator-badges">
415
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
416
- </div>
417
-
418
- </body>
419
- </html>