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.
- data/lib/cachetastic.rb +1 -1
- metadata +2 -30
- data/doc/classes/Cachetastic/Adapters.html +0 -180
- data/doc/classes/Cachetastic/Adapters/Base.html +0 -419
- data/doc/classes/Cachetastic/Adapters/File.html +0 -135
- data/doc/classes/Cachetastic/Adapters/LocalMemory.html +0 -125
- data/doc/classes/Cachetastic/Adapters/Memcached.html +0 -193
- data/doc/classes/Cachetastic/Cache.html +0 -425
- data/doc/classes/Cachetastic/Cacheable.html +0 -255
- data/doc/classes/Cachetastic/Cacheable/ClassAndInstanceMethods.html +0 -290
- data/doc/classes/Cachetastic/Cacheable/ClassOnlyMethods.html +0 -197
- data/doc/classes/Cachetastic/Logger.html +0 -186
- data/doc/created.rid +0 -1
- data/doc/files/LICENSE.html +0 -132
- data/doc/files/README.html +0 -222
- data/doc/files/lib/cachetastic/adapters/base_rb.html +0 -101
- data/doc/files/lib/cachetastic/adapters/file_rb.html +0 -101
- data/doc/files/lib/cachetastic/adapters/local_memory_rb.html +0 -101
- data/doc/files/lib/cachetastic/adapters/memcached_rb.html +0 -101
- data/doc/files/lib/cachetastic/cache_rb.html +0 -101
- data/doc/files/lib/cachetastic/cacheable_rb.html +0 -101
- data/doc/files/lib/cachetastic/extensions/string_rb.html +0 -108
- data/doc/files/lib/cachetastic/logger_rb.html +0 -101
- data/doc/files/lib/cachetastic/store_object_rb.html +0 -101
- data/doc/files/lib/cachetastic_rb.html +0 -112
- data/doc/fr_class_index.html +0 -36
- data/doc/fr_file_index.html +0 -38
- data/doc/fr_method_index.html +0 -52
- data/doc/index.html +0 -24
- 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.
|
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-
|
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>
|
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 # => Cachetastic::Adapters::Memcached
|
149
|
-
Cachetastic::Adapters.build(Comment).class # => 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>
|
120
|
-
<a href="#M000007">expire_all</a>
|
121
|
-
<a href="#M000004">get</a>
|
122
|
-
<a href="#M000003">new</a>
|
123
|
-
<a href="#M000005">set</a>
|
124
|
-
<a href="#M000008">transform_key</a>
|
125
|
-
<a href="#M000009">valid?</a>
|
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"> [RW] </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">"#{key}="</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">"#{key}="</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‘s backend. For example, the key: ’$*…123()%~q’
|
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>
|