Files
9minutes/doc/app/RedisQueryable.html
Tobias Klika 2cbb942282 doc files;
2011-06-13 14:56:41 +02:00

460 lines
16 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Module: RedisQueryable</title>
<link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
<script src="./js/jquery.js" type="text/javascript"
charset="utf-8"></script>
<script src="./js/thickbox-compressed.js" type="text/javascript"
charset="utf-8"></script>
<script src="./js/quicksearch.js" type="text/javascript"
charset="utf-8"></script>
<script src="./js/darkfish.js" type="text/javascript"
charset="utf-8"></script>
</head>
<body class="module">
<div id="metadata">
<div id="home-metadata">
<div id="home-section" class="section">
<h3 class="section-header">
<a href="./index.html">Home</a>
<a href="./index.html#classes">Classes</a>
<a href="./index.html#methods">Methods</a>
</h3>
</div>
</div>
<div id="file-metadata">
<div id="file-list-section" class="section">
<h3 class="section-header">In Files</h3>
<div class="section-body">
<ul>
<li><a href="./lib/redis_queryable_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/redis_queryable.rb">lib/redis_queryable.rb</a></li>
</ul>
</div>
</div>
</div>
<div id="class-metadata">
<!-- Parent Class -->
<!-- Namespace Contents -->
<!-- Method Quickref -->
<div id="method-list-section" class="section">
<h3 class="section-header">Methods</h3>
<ul class="link-list">
<li><a href="#method-c-build_key">::build_key</a></li>
<li><a href="#method-c-exists_key%3F">::exists_key?</a></li>
<li><a href="#method-c-get">::get</a></li>
<li><a href="#method-c-look_up_key">::look_up_key</a></li>
<li><a href="#method-c-store">::store</a></li>
<li><a href="#method-c-switch_to_namespace">::switch_to_namespace</a></li>
</ul>
</div>
<!-- Included Modules -->
</div>
<div id="project-metadata">
<div id="fileindex-section" class="section project-section">
<h3 class="section-header">Files</h3>
<ul>
<li class="file"><a href="./doc/README_FOR_APP.html">README_FOR_APP</a></li>
</ul>
</div>
<div id="classindex-section" class="section project-section">
<h3 class="section-header">Class Index
<span class="search-toggle"><img src="./images/find.png"
height="16" width="16" alt="[+]"
title="show/hide quicksearch" /></span></h3>
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
<fieldset>
<legend>Quicksearch</legend>
<input type="text" name="quicksearch" value=""
class="quicksearch-field" />
</fieldset>
</form>
<ul class="link-list">
<li><a href="./LastFM.html">LastFM</a></li>
<li><a href="./LastFM/Album.html">LastFM::Album</a></li>
<li><a href="./LastFM/Artist.html">LastFM::Artist</a></li>
<li><a href="./LastFM/Chart.html">LastFM::Chart</a></li>
<li><a href="./LastFM/Request.html">LastFM::Request</a></li>
<li><a href="./LastFM/Track.html">LastFM::Track</a></li>
<li><a href="./LastFM/Validator.html">LastFM::Validator</a></li>
<li><a href="./DeviseAuth.html">DeviseAuth</a></li>
<li><a href="./DeviseAuth/RegistrationsController.html">DeviseAuth::RegistrationsController</a></li>
<li><a href="./DeviseAuth/SessionsController.html">DeviseAuth::SessionsController</a></li>
<li><a href="./Users.html">Users</a></li>
<li><a href="./Users/OmniauthCallbacksController.html">Users::OmniauthCallbacksController</a></li>
<li><a href="./ApplicationController.html">ApplicationController</a></li>
<li><a href="./ApplicationHelper.html">ApplicationHelper</a></li>
<li><a href="./Artist.html">Artist</a></li>
<li><a href="./ArtistsController.html">ArtistsController</a></li>
<li><a href="./ChartsController.html">ChartsController</a></li>
<li><a href="./HomeController.html">HomeController</a></li>
<li><a href="./Playlist.html">Playlist</a></li>
<li><a href="./PlaylistsTracks.html">PlaylistsTracks</a></li>
<li><a href="./RedisQueryable.html">RedisQueryable</a></li>
<li><a href="./SearchController.html">SearchController</a></li>
<li><a href="./Track.html">Track</a></li>
<li><a href="./TracksController.html">TracksController</a></li>
<li><a href="./User.html">User</a></li>
<li><a href="./UsersController.html">UsersController</a></li>
<li><a href="./UsersHelper.html">UsersHelper</a></li>
<li><a href="./YoutubeVideoRating.html">YoutubeVideoRating</a></li>
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
</div>
</div>
<div id="documentation">
<h1 class="module">RedisQueryable</h1>
<div id="description">
</div>
<!-- Constants -->
<div id="constants-list" class="section">
<h3 class="section-header">Constants</h3>
<dl>
<dt><a name="VALID_NAMESPACES">VALID_NAMESPACES</a></dt>
<dd class="description"></dd>
<dt><a name="EXPIRATION">EXPIRATION</a></dt>
<dd class="description"></dd>
</dl>
</div>
<!-- Attributes -->
<!-- Methods -->
<div id="public-class-method-details" class="method-section section">
<h3 class="section-header">Public Class Methods</h3>
<div id="get-method" class="method-detail ">
<a name="method-c-get"></a>
<div class="method-heading">
<span class="method-name">get</span><span
class="method-args">(namespace, key_hash)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="get-source">
<pre>
<span class="ruby-comment cmt"># File lib/redis_queryable.rb, line 18</span>
18: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get</span> <span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">key_hash</span>
19: <span class="ruby-identifier">key</span> = <span class="ruby-identifier">build_key</span> <span class="ruby-identifier">key_hash</span>.<span class="ruby-identifier">values</span>
20: <span class="ruby-identifier">redis</span> = <span class="ruby-identifier">switch_to_namespace</span> <span class="ruby-identifier">namespace</span>
21: <span class="ruby-identifier">json</span> = <span class="ruby-identifier">redis</span>.<span class="ruby-identifier">get</span> <span class="ruby-identifier">key</span>
22: <span class="ruby-constant">Hashie</span><span class="ruby-operator">::</span><span class="ruby-constant">Mash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">json</span>))
23: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="look-up-key-method" class="method-detail ">
<a name="method-c-look_up_key"></a>
<div class="method-heading">
<span class="method-name">look_up_key</span><span
class="method-args">(namespace, key_hash, &block)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="look-up-key-source">
<pre>
<span class="ruby-comment cmt"># File lib/redis_queryable.rb, line 25</span>
25: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">look_up_key</span> <span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">key_hash</span>, &amp;<span class="ruby-identifier">block</span>
26: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">exists_key?</span> <span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">key_hash</span>
27: <span class="ruby-identifier">get</span> <span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">key_hash</span>
28: <span class="ruby-keyword kw">else</span>
29: <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>
30: <span class="ruby-keyword kw">end</span>
31: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="store-method" class="method-detail ">
<a name="method-c-store"></a>
<div class="method-heading">
<span class="method-name">store</span><span
class="method-args">(namespace, key_hash, value)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="store-source">
<pre>
<span class="ruby-comment cmt"># File lib/redis_queryable.rb, line 10</span>
10: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">store</span> <span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">key_hash</span>, <span class="ruby-identifier">value</span>
11: <span class="ruby-identifier">key</span> = <span class="ruby-identifier">build_key</span> <span class="ruby-identifier">key_hash</span>.<span class="ruby-identifier">values</span>
12: <span class="ruby-identifier">redis</span> = <span class="ruby-identifier">switch_to_namespace</span> <span class="ruby-identifier">namespace</span>
13:
14: <span class="ruby-identifier">expires</span> = <span class="ruby-identifier">key_hash</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:type</span>) <span class="ruby-operator">?</span> <span class="ruby-constant">EXPIRATION</span>[<span class="ruby-identifier">namespace</span>][<span class="ruby-identifier">key_hash</span>[<span class="ruby-value">:type</span>]] <span class="ruby-operator">:</span> <span class="ruby-constant">EXPIRATION</span>[<span class="ruby-identifier">namespace</span>]
15: <span class="ruby-identifier">redis</span>.<span class="ruby-identifier">setex</span> <span class="ruby-identifier">key</span>, <span class="ruby-identifier">expires</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">days</span>, <span class="ruby-identifier">value</span>
16: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
</div>
<div id="private-class-method-details" class="method-section section">
<h3 class="section-header">Private Class Methods</h3>
<div id="build-key-method" class="method-detail ">
<a name="method-c-build_key"></a>
<div class="method-heading">
<span class="method-name">build_key</span><span
class="method-args">(key_array)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="build-key-source">
<pre>
<span class="ruby-comment cmt"># File lib/redis_queryable.rb, line 42</span>
42: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_key</span> <span class="ruby-identifier">key_array</span>
43: <span class="ruby-identifier">key_array</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
44: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">?</span> <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">value</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>
45: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;:&quot;</span>)
46: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="exists-key--method" class="method-detail ">
<a name="method-c-exists_key%3F"></a>
<div class="method-heading">
<span class="method-name">exists_key?</span><span
class="method-args">(namespace, key_hash)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="exists-key--source">
<pre>
<span class="ruby-comment cmt"># File lib/redis_queryable.rb, line 36</span>
36: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">exists_key?</span> <span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">key_hash</span>
37: <span class="ruby-identifier">key</span> = <span class="ruby-identifier">build_key</span> <span class="ruby-identifier">key_hash</span>.<span class="ruby-identifier">values</span>
38: <span class="ruby-identifier">redis</span> = <span class="ruby-identifier">switch_to_namespace</span> <span class="ruby-identifier">namespace</span>
39: <span class="ruby-identifier">redis</span>.<span class="ruby-identifier">exists</span> <span class="ruby-identifier">key</span>
40: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="switch-to-namespace-method" class="method-detail ">
<a name="method-c-switch_to_namespace"></a>
<div class="method-heading">
<span class="method-name">switch_to_namespace</span><span
class="method-args">(namespace)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="switch-to-namespace-source">
<pre>
<span class="ruby-comment cmt"># File lib/redis_queryable.rb, line 48</span>
48: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">switch_to_namespace</span> <span class="ruby-identifier">namespace</span>
49: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Redis</span><span class="ruby-operator">::</span><span class="ruby-constant">Namespace</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-value">:redis</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">$redis</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">VALID_NAMESPACES</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">namespace</span>
50: <span class="ruby-identifier">$redis</span>
51: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
</div>
</div>
<div id="rdoc-debugging-section-dump" class="debugging-section">
<p>Disabled; run with --debug to generate this.</p>
</div>
<div id="validator-badges">
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
Rdoc Generator</a> 1.1.6</small>.</p>
</div>
</body>
</html>