Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Yard docs. So Freakin cool

  • Loading branch information...
commit f858ed6773ae926c75324b94f5228f45baa8b700 1 parent b6e3246
@schneems authored
View
1  .yardoc/checksums
@@ -0,0 +1 @@
+lib/johnny_cache.rb 9420d7832edce1f3c2bb65bc9922e19da6e9d204
View
BIN  .yardoc/objects/root.dat
Binary file not shown
View
2  .yardoc/proxy_types
@@ -0,0 +1,2 @@
+{" Object:
+class"ActiveSupport::Concern: module
View
2  Gemfile
@@ -3,6 +3,8 @@ source 'http://rubygems.org'
gem 'keytar'
group :development, :test do
+ gem 'yard'
+ gem 'rdiscount'
gem 'rake', '~>0.8.7'
gem 'jeweler', '~>1.5.2'
gem "autotest-standalone"
View
58 Rakefile
@@ -0,0 +1,58 @@
+require 'rubygems'
+require 'bundler'
+begin
+ Bundler.setup(:default, :development)
+rescue Bundler::BundlerError => e
+ $stderr.puts e.message
+ $stderr.puts "Run `bundle install` to install missing gems"
+ exit e.status_code
+end
+require 'rake'
+
+require 'jeweler'
+Jeweler::Tasks.new do |gem|
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
+ gem.name = "johnny_cache"
+ gem.homepage = "http://github.com/Schnems/johnny_cache"
+ gem.license = "MIT"
+ gem.summary = %Q{
+ Cache methods quickly and easily.
+ }
+ gem.description = %Q{
+ "I've Been Everywhere" and I'm tired of writing cache wrappers "One Piece at a Time" for methods. So if you no longer want to "Walk the Line" then JohnnyCache can help to easily cache your ruby methods. Use this Gem or else you'll get thrown into the "Ring of Fire".
+ }
+ gem.email = "richard.schneeman@gmail.com"
+ gem.authors = ["Schneems"]
+ gem.add_development_dependency "rspec"
+
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
+end
+Jeweler::RubygemsDotOrgTasks.new
+
+
+# require 'spec/rake/spectask'
+# Spec::Rake::SpecTask.new(:spec) do |spec|
+# spec.libs << 'lib' << 'spec'
+# spec.spec_files = FileList['spec/**/*_spec.rb']
+# end
+#
+# Spec::Rake::SpecTask.new(:rcov) do |spec|
+# spec.libs << 'lib' << 'spec'
+# spec.pattern = 'spec/**/*_spec.rb'
+# spec.rcov = true
+# end
+#
+# task :default => :test
+
+# require 'rake/rdoctask'
+# Rake::RDocTask.new do |rdoc|
+# version = File.exist?('VERSION') ? File.read('VERSION') : ""
+#
+# rdoc.rdoc_dir = 'rdoc'
+# rdoc.title = "keytar #{version}"
+# rdoc.rdoc_files.include('README*')
+# rdoc.rdoc_files.include('lib/**/*.rb')
+# end
View
345 doc/JohnnyCache.html
@@ -0,0 +1,345 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>
+ Module: JohnnyCache
+
+ &mdash; Documentation by YARD 0.7.2
+
+</title>
+
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
+
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
+
+<script type="text/javascript" charset="utf-8">
+ relpath = '';
+ if (relpath != '') relpath += '/';
+</script>
+
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
+
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
+
+
+ </head>
+ <body>
+ <script type="text/javascript" charset="utf-8">
+ if (window.top.frames.main) document.body.className = 'frames';
+ </script>
+
+ <div id="header">
+ <div id="menu">
+
+ <a href="_index.html">Index (J)</a> &raquo;
+
+
+ <span class="title">JohnnyCache</span>
+
+
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
+</div>
+
+ <div id="search">
+
+ <a id="class_list_link" href="#">Class List</a>
+
+ <a id="method_list_link" href="#">Method List</a>
+
+ <a id="file_list_link" href="#">File List</a>
+
+</div>
+ <div class="clear"></div>
+ </div>
+
+ <iframe id="search_frame"></iframe>
+
+ <div id="content"><h1>Module: JohnnyCache
+
+
+
+</h1>
+
+<dl class="box">
+
+
+
+ <dt class="r1">Extended by:</dt>
+ <dd class="r1">ActiveSupport::Concern</dd>
+
+
+
+
+
+
+
+ <dt class="r2 last">Defined in:</dt>
+ <dd class="r2 last">lib/johnny_cache.rb</dd>
+
+</dl>
+<div class="clear"></div>
+
+<h2>Overview</h2><div class="docstring">
+ <div class="discussion">
+ <p>include JohnnyCache</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <div class="examples">
+ <h3>Examples:</h3>
+
+ <h4><div class='inline'>
+</div></h4>
+ <pre class="example code"><span class='class class kw'>class</span> <span class='User constant id'>User</span> <span class='lt op'>&lt;</span> <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span>
+ <span class='include identifier id'>include</span> <span class='JohnnyCache constant id'>JohnnyCache</span>
+
+ <span class='def def kw'>def</span> <span class='expensive_method identifier id'>expensive_method</span><span class='lparen token'>(</span><span class='val identifier id'>val</span><span class='rparen token'>)</span>
+ <span class='sleep identifier id'>sleep</span> <span class='integer val'>120</span>
+ <span class='return return kw'>return</span> <span class='val identifier id'>val</span>
+ <span class='end end kw'>end</span>
+<span class='end end kw'>end</span>
+
+<span class='user identifier id'>user</span> <span class='assign token'>=</span> <span class='User constant id'>User</span><span class='dot token'>.</span><span class='last identifier id'>last</span>
+
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='expensive_method identifier id'>expensive_method</span><span class='lparen token'>(</span><span class='integer val'>22</span><span class='rparen token'>)</span>
+<span class='comment val'># =&gt; 22</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='dot token'>.</span><span class='expensive_method identifier id'>expensive_method</span><span class='lparen token'>(</span><span class='integer val'>22</span><span class='rparen token'>)</span>
+<span class='comment val'># =&gt; 22</span>
+
+<span class='Benchmark constant id'>Benchmark</span><span class='dot token'>.</span><span class='measure identifier id'>measure</span> <span class='do do kw'>do</span>
+ <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='expensive_method identifier id'>expensive_method</span><span class='lparen token'>(</span><span class='integer val'>22</span><span class='rparen token'>)</span>
+<span class='end end kw'>end</span><span class='dot token'>.</span><span class='real identifier id'>real</span>
+<span class='comment val'># =&gt; 120.00037693977356</span>
+
+<span class='Benchmark constant id'>Benchmark</span><span class='dot token'>.</span><span class='measure identifier id'>measure</span> <span class='do do kw'>do</span>
+ <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='dot token'>.</span><span class='expensive_method identifier id'>expensive_method</span><span class='lparen token'>(</span><span class='integer val'>22</span><span class='rparen token'>)</span>
+<span class='end end kw'>end</span><span class='dot token'>.</span><span class='real identifier id'>real</span>
+<span class='comment val'># =&gt; 0.000840902328491211</span>
+
+<span class='comment val'># SOOOOOOOO FAST!!</span>
+</pre>
+
+ </div>
+
+ <h3>See Also:</h3>
+ <ul class="see">
+
+ <li><span class='object_link'><a href="#cache-instance_method" title="JohnnyCache#cache (method)">More info on cache options</a></span></li>
+
+ </ul>
+
+</div><h2>Defined Under Namespace</h2>
+<p class="children">
+
+
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="JohnnyCache/ClassMethods.html" title="JohnnyCache::ClassMethods (module)">ClassMethods</a></span>
+
+
+
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="JohnnyCache/MethodCache.html" title="JohnnyCache::MethodCache (class)">MethodCache</a></span>
+
+
+</p>
+
+ <h2>Constant Summary</h2>
+
+ <dl class="constants">
+
+ <dt id="STORE-constant" class="">STORE =
+
+ </dt>
+ <dd><pre class="code"><span class='nil nil kw'>nil</span> <span class='orop op'>||</span> <span class='Rails constant id'>Rails</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span>
+</pre></dd>
+
+ </dl>
+
+
+
+
+
+
+
+
+
+ <h2>
+ Instance Method Summary
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
+ </h2>
+
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#cache-instance_method" title="#cache (instance method)">- (Object) <strong>cache</strong>(*args) </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+
+
+
+
+ <div id="instance_method_details" class="method_details_list">
+ <h2>Instance Method Details</h2>
+
+
+ <div class="method_details first">
+ <p class="signature first" id="cache-instance_method">
+
+
+ <span class="overload">- (<tt>Object</tt>) <strong>cache</strong> </span>
+
+ <span class="overload">- (<tt>Object</tt>) <strong>cache</strong>(options = {}) </span>
+
+ <span class="overload">- (<tt>Object</tt>) <strong>cache</strong>(cache_operation = :fetch) </span>
+
+ <span class="overload">- (<tt>Object</tt>) <strong>cache</strong>(cache_operation = :fetch, options = {}) </span>
+
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <div class="examples">
+ <h3>Examples:</h3>
+
+ <h4><div class='inline'>
+</div></h4>
+ <pre class="example code"><span class='user identifier id'>user</span> <span class='assign token'>=</span> <span class='User constant id'>User</span><span class='dot token'>.</span><span class='last identifier id'>last</span>
+<span class='comment val'># cache</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='dot token'>.</span><span class='some_method identifier id'>some_method</span>
+
+<span class='comment val'># cache(options)</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='symbol val'>:expires_in</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='float val'>1</span><span class='dot token'>.</span><span class='minutes identifier id'>minutes</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='some_method identifier id'>some_method</span>
+
+<span class='comment val'># cache(cache_operation)</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='symbol val'>:fetch</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='some_method identifier id'>some_method</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='symbol val'>:read</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='some_method identifier id'>some_method</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='symbol val'>:write</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='some_method identifier id'>some_method</span>
+
+<span class='comment val'># cache(cache_operation, options)</span>
+<span class='user identifier id'>user</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='symbol val'>:write</span><span class='comma token'>,</span> <span class='symbol val'>:expires_in</span> <span class='float val'>2</span><span class='dot token'>.</span><span class='minutes identifier id'>minutes</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='some_method identifier id'>some_method</span>
+</pre>
+
+ </div>
+
+ <h3>Overloads:</h3>
+ <ul class="overload">
+
+
+
+
+
+ <li class="overload_item">
+ <span class="signature">- (<tt>Object</tt>) <strong>cache</strong>(cache_operation = :fetch, options = {}) </span>
+ <div class="docstring">
+ <div class="discussion">
+ <p>Creates a MethodCache instance that performs the given cache operation on the method it receives</p>
+
+
+ </div>
+</div>
+<div class="tags">
+ <h3>Parameters:</h3>
+<ul class="param">
+
+ <li>
+
+ <span class='name'>cache_operation</span>
+
+
+ <span class='type'>(<tt>Symbol</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'><p>(:fetch) The method called on the cache (:write, :read, or :fetch)</p>
+</div>
+
+ </li>
+
+ <li>
+
+ <span class='name'>options</span>
+
+
+ <span class='type'>(<tt>Hash</tt>)</span>
+
+
+
+ &mdash;
+ <div class='inline'><p>Optional hash that gets passed to the cache store</p>
+</div>
+
+ </li>
+
+</ul>
+
+</div>
+ </li>
+
+ </ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+69
+70
+71</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 69</span>
+
+<span class='def def kw'>def</span> <span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='args identifier id'>args</span><span class='rparen token'>)</span>
+ <span class='MethodCache constant id'>MethodCache</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span><span class='rparen token'>)</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+</div>
+
+ <div id="footer">
+ Generated on Sun Aug 7 21:40:15 2011 by
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
+ 0.7.2 (ruby-1.8.7).
+</div>
+
+ </body>
+</html>
View
180 doc/JohnnyCache/ClassMethods.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>
+ Module: JohnnyCache::ClassMethods
+
+ &mdash; Documentation by YARD 0.7.2
+
+</title>
+
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
+
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
+
+<script type="text/javascript" charset="utf-8">
+ relpath = '..';
+ if (relpath != '') relpath += '/';
+</script>
+
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
+
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
+
+
+ </head>
+ <body>
+ <script type="text/javascript" charset="utf-8">
+ if (window.top.frames.main) document.body.className = 'frames';
+ </script>
+
+ <div id="header">
+ <div id="menu">
+
+ <a href="../_index.html">Index (C)</a> &raquo;
+ <span class='title'><span class='object_link'><a href="../JohnnyCache.html" title="JohnnyCache (module)">JohnnyCache</a></span></span>
+ &raquo;
+ <span class="title">ClassMethods</span>
+
+
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
+</div>
+
+ <div id="search">
+
+ <a id="class_list_link" href="#">Class List</a>
+
+ <a id="method_list_link" href="#">Method List</a>
+
+ <a id="file_list_link" href="#">File List</a>
+
+</div>
+ <div class="clear"></div>
+ </div>
+
+ <iframe id="search_frame"></iframe>
+
+ <div id="content"><h1>Module: JohnnyCache::ClassMethods
+
+
+
+</h1>
+
+<dl class="box">
+
+
+
+
+
+
+
+
+ <dt class="r1 last">Defined in:</dt>
+ <dd class="r1 last">lib/johnny_cache.rb</dd>
+
+</dl>
+<div class="clear"></div>
+
+
+
+
+
+
+
+ <h2>
+ Instance Method Summary
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
+ </h2>
+
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#cache-instance_method" title="#cache (instance method)">- (Object) <strong>cache</strong>(*args) </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+
+
+
+ <div id="instance_method_details" class="method_details_list">
+ <h2>Instance Method Details</h2>
+
+
+ <div class="method_details first">
+ <p class="signature first" id="cache-instance_method">
+
+ - (<tt>Object</tt>) <strong>cache</strong>(*args)
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <h3>See Also:</h3>
+ <ul class="see">
+
+ <li><span class='object_link'><a href="../JohnnyCache.html#cache-instance_method" title="JohnnyCache#cache (method)">JohnnyCache#cache</a></span></li>
+
+ </ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+76
+77
+78</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 76</span>
+
+<span class='def def kw'>def</span> <span class='cache identifier id'>cache</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='args identifier id'>args</span><span class='rparen token'>)</span>
+ <span class='MethodCache constant id'>MethodCache</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span><span class='rparen token'>)</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+</div>
+
+ <div id="footer">
+ Generated on Sun Aug 7 21:40:15 2011 by
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
+ 0.7.2 (ruby-1.8.7).
+</div>
+
+ </body>
+</html>
View
835 doc/JohnnyCache/MethodCache.html
@@ -0,0 +1,835 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>
+ Class: JohnnyCache::MethodCache
+
+ &mdash; Documentation by YARD 0.7.2
+
+</title>
+
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
+
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
+
+<script type="text/javascript" charset="utf-8">
+ relpath = '..';
+ if (relpath != '') relpath += '/';
+</script>
+
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
+
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
+
+
+ </head>
+ <body>
+ <script type="text/javascript" charset="utf-8">
+ if (window.top.frames.main) document.body.className = 'frames';
+ </script>
+
+ <div id="header">
+ <div id="menu">
+
+ <a href="../_index.html">Index (M)</a> &raquo;
+ <span class='title'><span class='object_link'><a href="../JohnnyCache.html" title="JohnnyCache (module)">JohnnyCache</a></span></span>
+ &raquo;
+ <span class="title">MethodCache</span>
+
+
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
+</div>
+
+ <div id="search">
+
+ <a id="class_list_link" href="#">Class List</a>
+
+ <a id="method_list_link" href="#">Method List</a>
+
+ <a id="file_list_link" href="#">File List</a>
+
+</div>
+ <div class="clear"></div>
+ </div>
+
+ <iframe id="search_frame"></iframe>
+
+ <div id="content"><h1>Class: JohnnyCache::MethodCache
+
+
+
+</h1>
+
+<dl class="box">
+
+ <dt class="r1">Inherits:</dt>
+ <dd class="r1">
+ <span class="inheritName">Object</span>
+
+ <ul class="fullTree">
+ <li>Object</li>
+
+ <li class="next">JohnnyCache::MethodCache</li>
+
+ </ul>
+ <a href="#" class="inheritanceTree">show all</a>
+
+ </dd>
+
+
+
+
+
+
+
+
+
+ <dt class="r2 last">Defined in:</dt>
+ <dd class="r2 last">lib/johnny_cache.rb</dd>
+
+</dl>
+<div class="clear"></div>
+
+
+
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#args-instance_method" title="#args (instance method)">- (Object) <strong>args</strong> </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute args.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#cache_operation-instance_method" title="#cache_operation (instance method)">- (Object) <strong>cache_operation</strong> </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute cache_operation.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#caller_object-instance_method" title="#caller_object (instance method)">- (Object) <strong>caller_object</strong> </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute caller_object.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#method-instance_method" title="#method (instance method)">- (Object) <strong>method</strong> </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute method.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#options-instance_method" title="#options (instance method)">- (Object) <strong>options</strong> </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute options.</p>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+
+
+
+
+ <h2>
+ Instance Method Summary
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
+ </h2>
+
+ <ul class="summary">
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#call_cache_operation-instance_method" title="#call_cache_operation (instance method)">- (Object) <strong>call_cache_operation</strong>(options = {}) </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Calls the cache based on the given cache_operation.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (MethodCache) <strong>initialize</strong>(caller_object, *method_cache_args) </a>
+
+
+
+ </span>
+
+ <span class="note title constructor">constructor</span>
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>A new instance of MethodCache.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#key-instance_method" title="#key (instance method)">- (Object) <strong>key</strong> </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Uses keytar to create a key based on the method and caller if no method_key exits.</p>
+</div></span>
+
+</li>
+
+
+ <li class="public ">
+ <span class="summary_signature">
+
+ <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(method, *args, &amp;blk) </a>
+
+
+
+ </span>
+
+
+
+
+
+
+
+
+ <span class="summary_desc"><div class='inline'><p>Methods caught by method_missing are passed to the caller_object and used to :write, :read, or :fetch from the cache.</p>
+</div></span>
+
+</li>
+
+
+ </ul>
+
+
+<div id="constructor_details" class="method_details_list">
+ <h2>Constructor Details</h2>
+
+ <div class="method_details first">
+ <p class="signature first" id="initialize-instance_method">
+
+ - (<tt><span class='object_link'><a href="" title="JohnnyCache::MethodCache (class)">MethodCache</a></span></tt>) <strong>initialize</strong>(caller_object, *method_cache_args)
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>A new instance of MethodCache</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+88
+89
+90
+91
+92
+93
+94</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 88</span>
+
+<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='caller_object identifier id'>caller_object</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='method_cache_args identifier id'>method_cache_args</span><span class='rparen token'>)</span>
+ <span class='cache_operation identifier id'>cache_operation</span> <span class='assign token'>=</span> <span class='method_cache_args identifier id'>method_cache_args</span><span class='dot token'>.</span><span class='map identifier id'>map</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='x identifier id'>x</span><span class='bitor op'>|</span> <span class='x identifier id'>x</span> <span class='if if_mod kw'>if</span> <span class='x identifier id'>x</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span> <span class='Symbol constant id'>Symbol</span> <span class='rbrace token'>}</span><span class='dot token'>.</span><span class='compact identifier id'>compact</span><span class='dot token'>.</span><span class='first identifier id'>first</span>
+ <span class='options identifier id'>options</span> <span class='assign token'>=</span> <span class='method_cache_args identifier id'>method_cache_args</span><span class='dot token'>.</span><span class='map identifier id'>map</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='x identifier id'>x</span><span class='bitor op'>|</span> <span class='x identifier id'>x</span> <span class='if if_mod kw'>if</span> <span class='x identifier id'>x</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span> <span class='Hash constant id'>Hash</span> <span class='rbrace token'>}</span><span class='dot token'>.</span><span class='compact identifier id'>compact</span><span class='dot token'>.</span><span class='first identifier id'>first</span>
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='cache_operation identifier id'>cache_operation</span> <span class='assign token'>=</span> <span class='cache_operation identifier id'>cache_operation</span><span class='orop op'>||</span><span class='symbol val'>:fetch</span>
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='options identifier id'>options</span> <span class='assign token'>=</span> <span class='options identifier id'>options</span>
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='caller_object identifier id'>caller_object</span> <span class='assign token'>=</span> <span class='caller_object identifier id'>caller_object</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+</div>
+<div id="method_missing_details" class="method_details_list">
+ <h2>Dynamic Method Handling</h2>
+ <p class="notice this">
+ This class handles dynamic methods through the <tt>method_missing</tt> method
+
+ </p>
+
+ <div class="method_details first">
+ <p class="signature first" id="method_missing-instance_method">
+
+ - (<tt>Object</tt>) <strong>method_missing</strong>(method, *args, &amp;blk)
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Methods caught by method_missing are passed to the caller_object and used to :write, :read, or :fetch from the cache</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <h3>See Also:</h3>
+ <ul class="see">
+
+ <li><span class='object_link'><a href="../JohnnyCache.html#cache-instance_method" title="JohnnyCache#cache (method)">JohnnyCache#cache</a></span></li>
+
+ </ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+128
+129
+130
+131
+132
+133
+134
+135
+136</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 128</span>
+
+<span class='def def kw'>def</span> <span class='method_missing identifier id'>method_missing</span><span class='lparen token'>(</span><span class='method identifier id'>method</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='blk identifier id'>blk</span><span class='rparen token'>)</span>
+ <span class='if if kw'>if</span> <span class='caller_object identifier id'>caller_object</span><span class='dot token'>.</span><span class='respond_to? fid id'>respond_to?</span> <span class='method identifier id'>method</span>
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='method identifier id'>method</span> <span class='assign token'>=</span> <span class='method identifier id'>method</span>
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='args identifier id'>args</span> <span class='assign token'>=</span> <span class='args identifier id'>args</span>
+ <span class='call_cache_operation identifier id'>call_cache_operation</span><span class='lparen token'>(</span><span class='options identifier id'>options</span><span class='rparen token'>)</span>
+ <span class='else else kw'>else</span>
+ <span class='super super kw'>super</span>
+ <span class='end end kw'>end</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+</div>
+
+ <div id="instance_attr_details" class="attr_details">
+ <h2>Instance Attribute Details</h2>
+
+
+ <span id="args=-instance_method"></span>
+ <span id="args-instance_method"></span>
+ <div class="method_details first">
+ <p class="signature first" id="args-instance_method">
+
+ - (<tt>Object</tt>) <strong>args</strong>
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Returns the value of attribute args</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+86
+87
+88</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 86</span>
+
+<span class='def def kw'>def</span> <span class='args identifier id'>args</span>
+ <span class='@args ivar id'>@args</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+
+ <span id="cache_operation=-instance_method"></span>
+ <span id="cache_operation-instance_method"></span>
+ <div class="method_details ">
+ <p class="signature " id="cache_operation-instance_method">
+
+ - (<tt>Object</tt>) <strong>cache_operation</strong>
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Returns the value of attribute cache_operation</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+86
+87
+88</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 86</span>
+
+<span class='def def kw'>def</span> <span class='cache_operation identifier id'>cache_operation</span>
+ <span class='@cache_operation ivar id'>@cache_operation</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+
+ <span id="caller_object=-instance_method"></span>
+ <span id="caller_object-instance_method"></span>
+ <div class="method_details ">
+ <p class="signature " id="caller_object-instance_method">
+
+ - (<tt>Object</tt>) <strong>caller_object</strong>
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Returns the value of attribute caller_object</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+86
+87
+88</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 86</span>
+
+<span class='def def kw'>def</span> <span class='caller_object identifier id'>caller_object</span>
+ <span class='@caller_object ivar id'>@caller_object</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+
+ <span id="method=-instance_method"></span>
+ <span id="method-instance_method"></span>
+ <div class="method_details ">
+ <p class="signature " id="method-instance_method">
+
+ - (<tt>Object</tt>) <strong>method</strong>
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Returns the value of attribute method</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+86
+87
+88</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 86</span>
+
+<span class='def def kw'>def</span> <span class='method identifier id'>method</span>
+ <span class='@method ivar id'>@method</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+
+ <span id="options=-instance_method"></span>
+ <span id="options-instance_method"></span>
+ <div class="method_details ">
+ <p class="signature " id="options-instance_method">
+
+ - (<tt>Object</tt>) <strong>options</strong>
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Returns the value of attribute options</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+86
+87
+88</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 86</span>
+
+<span class='def def kw'>def</span> <span class='options identifier id'>options</span>
+ <span class='@options ivar id'>@options</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+
+ <div id="instance_method_details" class="method_details_list">
+ <h2>Instance Method Details</h2>
+
+
+ <div class="method_details first">
+ <p class="signature first" id="call_cache_operation-instance_method">
+
+ - (<tt>Object</tt>) <strong>call_cache_operation</strong>(options = {})
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Calls the cache based on the given cache_operation</p>
+
+
+ </div>
+</div>
+<div class="tags">
+ <h3>Parameters:</h3>
+<ul class="param">
+
+ <li>
+
+ <span class='name'>options</span>
+
+
+ <span class='type'>(<tt>Hash</tt>)</span>
+
+
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
+
+
+ &mdash;
+ <div class='inline'><p>Options are passed to the cache store</p>
+</div>
+
+ </li>
+
+</ul>
+
+ <h3>See Also:</h3>
+ <ul class="see">
+
+ <li><a href="http://api.rubyonrails.org/classes/ActionController/Caching.html#method-i-cache" target="_parent" title="Rails.cache documentation">Rails.cache documentation</a></li>
+
+ </ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 112</span>
+
+<span class='def def kw'>def</span> <span class='call_cache_operation identifier id'>call_cache_operation</span><span class='lparen token'>(</span><span class='options identifier id'>options</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
+ <span class='if if kw'>if</span> <span class='cache_operation identifier id'>cache_operation</span> <span class='eq op'>==</span> <span class='symbol val'>:fetch</span>
+ <span class='JohnnyCache constant id'>JohnnyCache</span><span class='colon2 op'>::</span><span class='STORE constant id'>STORE</span><span class='dot token'>.</span><span class='fetch identifier id'>fetch</span><span class='lparen token'>(</span><span class='key identifier id'>key</span><span class='comma token'>,</span> <span class='options identifier id'>options</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
+ <span class='caller_object identifier id'>caller_object</span><span class='dot token'>.</span><span class='send identifier id'>send</span> <span class='method identifier id'>method</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span>
+ <span class='end end kw'>end</span>
+ <span class='elsif elsif kw'>elsif</span> <span class='cache_operation identifier id'>cache_operation</span> <span class='eq op'>==</span> <span class='symbol val'>:read</span>
+ <span class='JohnnyCache constant id'>JohnnyCache</span><span class='colon2 op'>::</span><span class='STORE constant id'>STORE</span><span class='dot token'>.</span><span class='read identifier id'>read</span><span class='lparen token'>(</span><span class='key identifier id'>key</span><span class='comma token'>,</span> <span class='options identifier id'>options</span><span class='rparen token'>)</span>
+ <span class='elsif elsif kw'>elsif</span> <span class='cache_operation identifier id'>cache_operation</span> <span class='eq op'>==</span> <span class='symbol val'>:write</span>
+ <span class='val identifier id'>val</span> <span class='assign token'>=</span> <span class='caller_object identifier id'>caller_object</span><span class='dot token'>.</span><span class='send identifier id'>send</span> <span class='method identifier id'>method</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span>
+ <span class='JohnnyCache constant id'>JohnnyCache</span><span class='colon2 op'>::</span><span class='STORE constant id'>STORE</span><span class='dot token'>.</span><span class='write identifier id'>write</span><span class='lparen token'>(</span><span class='key identifier id'>key</span><span class='comma token'>,</span> <span class='val identifier id'>val</span><span class='comma token'>,</span> <span class='options identifier id'>options</span><span class='rparen token'>)</span>
+ <span class='end end kw'>end</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ <div class="method_details ">
+ <p class="signature " id="key-instance_method">
+
+ - (<tt>Object</tt>) <strong>key</strong>
+
+
+
+</p><div class="docstring">
+ <div class="discussion">
+ <p>Uses keytar to create a key based on the method and caller if no method_key exits</p>
+
+
+ </div>
+</div>
+<div class="tags">
+
+ <div class="examples">
+ <h3>Examples:</h3>
+
+ <h4><div class='inline'>
+</div></h4>
+ <pre class="example code"><span class='cache identifier id'>cache</span> <span class='assign token'>=</span> <span class='User constant id'>User</span><span class='dot token'>.</span><span class='find identifier id'>find</span><span class='lparen token'>(</span><span class='integer val'>263619</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='cache identifier id'>cache</span> <span class='comment val'># =&gt; #&lt;JohnnyCache::MethodCache ... &gt;</span>
+<span class='cache identifier id'>cache</span><span class='dot token'>.</span><span class='method identifier id'>method</span> <span class='assign token'>=</span> <span class='string val'>&quot;foo&quot;</span> <span class='comment val'># =&gt; &quot;foo&quot;</span>
+<span class='cache identifier id'>cache</span><span class='dot token'>.</span><span class='key identifier id'>key</span> <span class='comment val'># =&gt; &quot;users:foo:263619&quot;</span>
+</pre>
+
+ </div>
+<h3>Returns:</h3>
+<ul class="return">
+
+ <li>
+
+
+ <span class='type'></span>
+
+
+
+
+ <div class='inline'><p>the key used to set the cache</p>
+</div>
+
+ </li>
+
+</ul>
+
+ <h3>See Also:</h3>
+ <ul class="see">
+
+ <li><a href="http://github.com/schneems/keytar" target="_parent" title="Keytar, it builds keys">Keytar, it builds keys</a></li>
+
+ </ul>
+
+</div><table class="source_code">
+ <tr>
+ <td>
+ <pre class="lines">
+
+
+103
+104
+105
+106
+107</pre>
+ </td>
+ <td>
+ <pre class="code"><span class="info file"># File 'lib/johnny_cache.rb', line 103</span>
+
+<span class='def def kw'>def</span> <span class='key identifier id'>key</span>
+ <span class='key_method identifier id'>key_method</span> <span class='assign token'>=</span> <span class='dstring node'>&quot;#{method}_key&quot;</span><span class='dot token'>.</span><span class='to_sym identifier id'>to_sym</span>
+ <span class='key identifier id'>key</span> <span class='assign token'>=</span> <span class='caller_object identifier id'>caller_object</span><span class='dot token'>.</span><span class='send identifier id'>send</span> <span class='key_method identifier id'>key_method</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span> <span class='if if_mod kw'>if</span> <span class='caller_object identifier id'>caller_object</span><span class='dot token'>.</span><span class='respond_to? fid id'>respond_to?</span> <span class='key_method identifier id'>key_method</span>
+ <span class='key identifier id'>key</span> <span class='opasgn op'>||=</span> <span class='caller_object identifier id'>caller_object</span><span class='dot token'>.</span><span class='build_key identifier id'>build_key</span><span class='lparen token'>(</span><span class='symbol val'>:name</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='method identifier id'>method</span><span class='comma token'>,</span> <span class='symbol val'>:args</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='args identifier id'>args</span><span class='rparen token'>)</span>
+<span class='end end kw'>end</span>
+</pre>
+ </td>
+ </tr>
+</table>
+</div>
+
+ </div>
+
+</div>
+
+ <div id="footer">
+ Generated on Sun Aug 7 21:40:15 2011 by
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
+ 0.7.2 (ruby-1.8.7).
+</div>
+
+ </body>
+</html>
View
127 doc/_index.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>
+ Documentation by YARD 0.7.2
+
+</title>
+
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
+
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
+
+<script type="text/javascript" charset="utf-8">
+ relpath = '';
+ if (relpath != '') relpath += '/';
+</script>
+
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
+
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
+
+
+ </head>
+ <body>
+ <script type="text/javascript" charset="utf-8">
+ if (window.top.frames.main) document.body.className = 'frames';
+ </script>
+
+ <div id="header">
+ <div id="menu">
+
+
+ <span class="title"></span>
+
+
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
+</div>
+
+ <div id="search">
+
+ <a id="class_list_link" href="#">Class List</a>
+
+ <a id="method_list_link" href="#">Method List</a>
+
+ <a id="file_list_link" href="#">File List</a>
+
+</div>
+ <div class="clear"></div>
+ </div>
+
+ <iframe id="search_frame"></iframe>
+
+ <div id="content"><h1 class="noborder title">Documentation by YARD 0.7.2</h1>
+<div id="listing">
+ <h1 class="alphaindex">Alphabetic Index</h1>
+
+<div class="clear"></div>
+<h2>Namespace Listing A-Z</h2>
+
+
+
+
+<table>
+ <tr>
+ <td valign='top' width="33%">
+
+
+ <ul id="alpha_C" class="alpha">
+ <li class="letter">C</li>
+ <ul>
+
+ <li>
+ <span class='object_link'><a href="JohnnyCache/ClassMethods.html" title="JohnnyCache::ClassMethods (module)">ClassMethods</a></span>
+
+ <small>(JohnnyCache)</small>
+
+ </li>
+
+ </ul>
+ </ul>
+
+
+ <ul id="alpha_J" class="alpha">
+ <li class="letter">J</li>
+ <ul>
+
+ <li>
+ <span class='object_link'><a href="JohnnyCache.html" title="JohnnyCache (module)">JohnnyCache</a></span>
+
+ </li>
+
+ </ul>
+ </ul>
+
+
+ <ul id="alpha_M" class="alpha">
+ <li class="letter">M</li>
+ <ul>
+
+ <li>
+ <span class='object_link'><a href="JohnnyCache/MethodCache.html" title="JohnnyCache::MethodCache (class)">MethodCache</a></span>
+
+ <small>(JohnnyCache)</small>
+
+ </li>
+
+ </ul>
+ </ul>
+
+ </td>
+ </tr>
+</table>
+
+</div>
+
+</div>
+
+ <div id="footer">
+ Generated on Sun Aug 7 21:40:15 2011 by
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
+ 0.7.2 (ruby-1.8.7).
+</div>
+
+ </body>
+</html>
View
47 doc/class_list.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
+
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
+
+
+
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
+
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
+
+
+ <base id="base_target" target="_parent" />
+ </head>
+ <body>
+ <script type="text/javascript" charset="utf-8">
+ if (window.top.frames.main) {
+ document.getElementById('base_target').target = 'main';
+ document.body.className = 'frames';
+ }
+ </script>
+ <div id="content">
+ <h1 id="full_list_header">Class List</h1>
+ <div id="nav">
+
+ <a target="_self" href="class_list.html">Classes</a>
+
+ <a target="_self" href="method_list.html">Methods</a>
+
+ <a target="_self" href="file_list.html">Files</a>
+
+ </div>
+ <div id="search">Search: <input type="text" /></div>
+
+ <ul id="full_list" class="class">
+ <li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
+<li><a class='toggle'></a> <span class='object_link'><a href="JohnnyCache.html" title="JohnnyCache (module)">JohnnyCache</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="JohnnyCache/ClassMethods.html" title="JohnnyCache::ClassMethods (module)">ClassMethods</a></span><small class='search_info'>JohnnyCache</small></li><li><span class='object_link'><a href="JohnnyCache/MethodCache.html" title="JohnnyCache::MethodCache (class)">MethodCache</a></span> &lt; Object<small class='search_info'>JohnnyCache</small></li></ul>
+
+ </ul>
+ </div>
+ </body>
+</html>
View
1  doc/css/common.css
@@ -0,0 +1 @@
+/* Override this file with custom rules */
View
53 doc/css/full_list.css
@@ -0,0 +1,53 @@
+body {
+ margin: 0;
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
+ font-size: 13px;
+ height: 101%;
+ overflow-x: hidden;
+}
+
+h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
+.clear { clear: both; }
+#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
+#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
+#full_list { padding: 0; list-style: none; margin-left: 0; }
+#full_list ul { padding: 0; }
+#full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
+#noresults { padding: 7px 12px; }
+#content.insearch #noresults { margin-left: 7px; }
+ul.collapsed ul, ul.collapsed li { display: none; }
+li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
+li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
+li { color: #888; cursor: pointer; }
+li.deprecated { text-decoration: line-through; font-style: italic; }
+li.r1 { background: #f0f0f0; }
+li.r2 { background: #fafafa; }
+li:hover { background: #ddd; }
+li small:before { content: "("; }
+li small:after { content: ")"; }
+li small.search_info { display: none; }
+a:link, a:visited { text-decoration: none; color: #05a; }
+li.clicked { background: #05a; color: #ccc; }
+li.clicked a:link, li.clicked a:visited { color: #eee; }
+li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
+li.collapsed.clicked a.toggle { background-position: top right; }
+#search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
+#nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
+#nav a:link, #nav a:visited { color: #358; }
+#nav a:hover { background: transparent; color: #5af; }
+
+.frames #content h1 { margin-top: 0; }
+.frames li { white-space: nowrap; cursor: normal; }
+.frames li small { display: block; font-size: 0.8em; }
+.frames li small:before { content: ""; }
+.frames li small:after { content: ""; }
+.frames li small.search_info { display: none; }
+.frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
+.frames #content.insearch #search { background-position: center right; }
+.frames #search input { width: 110px; }
+.frames #nav { display: block; }
+
+#full_list.insearch li { display: none; }
+#full_list.insearch li.found { display: list-item; padding-left: 10px; }
+#full_list.insearch li a.toggle { display: none; }
+#full_list.insearch li small.search_info { display: block; }
View
320 doc/css/style.css
@@ -0,0 +1,320 @@
+body {
+ padding: 0 20px;
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
+ font-size: 13px;
+}
+body.frames { padding: 0 5px; }
+h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
+h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
+h1.title { margin-bottom: 10px; }
+h1.alphaindex { margin-top: 0; font-size: 22px; }
+h2 {
+ padding: 0;
+ padding-bottom: 3px;
+ border-bottom: 1px #aaa solid;
+ font-size: 1.4em;
+ margin: 1.8em 0 0.5em;
+}
+h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right; }
+.clear { clear: both; }
+.inline { display: inline; }
+.inline p:first-child { display: inline; }
+.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
+.docstring h1 { font-size: 1.2em; }
+.docstring h2 { font-size: 1.1em; }
+.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
+.summary_desc .object_link, .docstring .object_link { font-family: monospace; }
+
+/* style for <ul> */
+#filecontents li > p, .docstring li > p { margin: 0px; }
+#filecontents ul, .docstring ul { padding-left: 20px; }
+/* style for <dl> */
+#filecontents dl, .docstring dl { border: 1px solid #ccc; }
+#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
+#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
+#filecontents dd > p, .docstring dd > p { margin: 0px; }
+
+.note {
+ color: #222;
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
+ background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
+ display: block;
+}
+.note.todo { background: #ffffc5; border-color: #ececaa; }
+.note.returns_void { background: #efefef; }
+.note.deprecated { background: #ffe5e5; border-color: #e9dada; }
+.note.private { background: #ffffc5; border-color: #ececaa; }
+.note.title { text-transform: lowercase; padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
+.summary_signature + .note.title { margin-left: 7px; }
+h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
+.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
+.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
+.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
+.note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
+.discussion .note { margin-top: 6px; }
+.discussion .note:first-child { margin-top: 0; }
+
+h3.inherited {
+ font-style: italic;
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
+ font-weight: normal;
+ padding: 0;
+ margin: 0;
+ margin-top: 12px;
+ margin-bottom: 3px;
+ font-size: 13px;
+}
+p.inherited {
+ padding: 0;
+ margin: 0;
+ margin-left: 25px;
+}
+
+#filecontents dl.box, dl.box {
+ border: 0;
+ width: 520px;
+ font-size: 1em;
+}
+#filecontents dl.box dt, dl.box dt {
+ float: left;
+ display: block;
+ width: 100px;
+ margin: 0;
+ text-align: right;
+ font-weight: bold;
+ background: transparent;
+ border: 1px solid #aaa;
+ border-width: 1px 0px 0px 1px;
+ padding: 6px 0;
+ padding-right: 10px;
+}
+#filecontents dl.box dd, dl.box dd {
+ float: left;
+ display: block;
+ width: 380px;
+ margin: 0;
+ padding: 6px 0;
+ padding-right: 20px;
+ border: 1px solid #aaa;
+ border-width: 1px 1px 0 0;
+}
+#filecontents dl.box .last, dl.box .last {
+ border-bottom: 1px solid #aaa;
+}
+#filecontents dl.box .r1, dl.box .r1 { background: #eee; }
+
+ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
+#files { padding-left: 15px; font-size: 1.1em; }
+
+#files { padding: 0; }
+#files li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
+
+dl.constants { margin-left: 40px; }
+dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
+dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
+
+.summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
+.summary_desc tt { font-size: 0.9em; }
+dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
+dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
+dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
+dl.constants .discussion *:first-child { margin-top: 0; }
+dl.constants .discussion *:last-child { margin-bottom: 0; }
+
+.method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
+.method_details.first { border: 0; }
+p.signature {
+ font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
+ padding: 6px 10px; margin-top: 18px;
+ background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
+}
+p.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
+p.signature .overload { display: block; }
+p.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
+p.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
+p.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
+
+.tags h3 { font-size: 1em; margin-bottom: 0; }
+.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
+.tags ul li { margin-bottom: 3px; }
+.tags ul .name { font-family: monospace; font-weight: bold; }
+.tags ul .note { padding: 3px 6px; }
+.tags { margin-bottom: 12px; }
+
+.tags .examples h3 { margin-bottom: 10px; }
+.tags .examples h4 { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
+
+.tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
+.tags .overload .overload_item .signature {
+ padding: 2px 8px;
+ background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
+}
+.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
+.tags .overload .docstring { margin-top: 15px; }
+
+.defines { display: none; }
+
+#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
+
+.showSource { font-size: 0.9em; }
+.showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
+
+#content a:link, #content a:visited { text-decoration: none; color: #05a; }
+#content a:hover { background: #ffffa5; }
+.docstring { margin-right: 6em; }
+
+ul.summary {
+ list-style: none;
+ font-family: monospace;
+ font-size: 1em;
+ line-height: 1.5em;
+}
+ul.summary a:link, ul.summary a:visited {
+ text-decoration: none; font-size: 1.1em;
+}
+ul.summary li { margin-bottom: 5px; }
+.summary .summary_signature {
+ padding: 1px 10px;
+ background: #eaeaff; border: 1px solid #dfdfe5;
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
+}
+.summary_signature:hover { background: #eeeeff; cursor: pointer; }
+ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
+ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
+#content .summary_signature:hover a:link,
+#content .summary_signature:hover a:visited {
+ background: transparent;
+ color: #48f;
+}
+
+p.inherited a { font-family: monospace; font-size: 0.9em; }
+p.inherited { word-spacing: 5px; font-size: 1.2em; }
+
+p.children { font-size: 1.2em; }
+p.children a { font-size: 0.9em; }
+p.children strong { font-size: 0.8em; }
+p.children strong.modules { padding-left: 5px; }
+
+ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
+ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
+ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,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) no-repeat top center; }
+ul.fullTree li:first-child { padding-top: 0; background: transparent; }
+ul.fullTree li:last-child { padding-bottom: 0; }
+.showAll ul.fullTree { display: block; }
+.showAll .inheritName { display: none; }
+
+#search { position: absolute; right: 14px; top: 0px; }
+#search a:link, #search a:visited {
+ display: block; float: left; margin-right: 4px;
+ padding: 8px 10px; text-decoration: none; color: #05a;
+ border: 1px solid #d8d8e5;
+ -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
+ -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
+ background: #eaf0ff;
+ -webkit-box-shadow: -1px 1px 3px #ddd;
+}
+#search a:hover { background: #f5faff; color: #06b; }
+#search a.active {
+ background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
+ -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
+ -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
+}
+#search a.inactive { color: #999; }
+.frames #search { display: none; }
+.inheritanceTree, .toggleDefines { float: right; }
+
+#menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; }
+#menu .title, #menu a { font-size: 0.7em; }
+#menu .title a { font-size: 1em; }
+#menu .title { color: #555; }
+#menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
+#menu a:hover { color: #05a; }
+#menu .noframes { display: none; }
+.frames #menu .noframes { display: inline; float: right; }
+
+#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
+#footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
+#footer a:hover { color: #05a; }
+
+#listing ul.alpha { font-size: 1.1em; }
+#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
+#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
+#listing ul.alpha ul { margin: 0; padding-left: 15px; }
+#listing ul small { color: #666; font-size: 0.7em; }
+
+li.r1 { background: #f0f0f0; }
+li.r2 { background: #fafafa; }
+
+#search_frame {
+ z-index: 9999;
+ background: #fff;
+ display: none;
+ position: absolute;
+ top: 36px;
+ right: 18px;
+ width: 500px;
+ height: 80%;
+ overflow-y: scroll;
+ border: 1px solid #999;
+ border-collapse: collapse;
+ -webkit-box-shadow: -7px 5px 25px #aaa;
+ -moz-box-shadow: -7px 5px 25px #aaa;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+}
+
+#content ul.summary li.deprecated .summary_signature a:link,
+#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
+
+#toc {
+ padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px;
+ max-width: 300px;
+ -webkit-box-shadow: -2px 2px 6px #bbb;
+ -moz-box-shadow: -2px 2px 6px #bbb;
+ z-index: 5000;
+ position: relative;
+}
+#toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
+#toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
+#toc .title { margin: 0; }
+#toc ol { padding-left: 1.8em; }
+#toc li { font-size: 1.1em; line-height: 1.7em; }
+#toc > ol > li { font-size: 1.1em; font-weight: bold; }
+#toc ol > ol { font-size: 0.9em; }
+#toc ol ol > ol { padding-left: 2.3em; }
+#toc ol + li { margin-top: 0.3em; }
+#toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
+#filecontents h1 + #toc.nofloat { margin-top: 0; }
+
+/* syntax highlighting */
+.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
+#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
+#filecontents pre.code, .docstring pre.code { display: block; }
+.source_code .lines { padding-right: 12px; color: #555; text-align: right; }
+#filecontents pre.code, .docstring pre.code,
+.tags .example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
+pre.code { color: #000; }
+pre.code .info.file { color: #555; }
+pre.code .val { color: #036A07; }
+pre.code .tstring_content,
+pre.code .heredoc_beg, pre.code .heredoc_end,
+pre.code .qwords_beg, pre.code .qwords_end,
+pre.code .tstring, pre.code .dstring { color: #036A07; }
+pre.code .fid, pre.code .id.new, pre.code .id.to_s,
+pre.code .id.to_sym, pre.code .id.to_f,
+pre.code .dot + pre.code .id,
+pre.code .id.to_i pre.code .id.each { color: #0085FF; }
+pre.code .comment { color: #0066FF; }
+pre.code .const, pre.code .constant { color: #585CF6; }
+pre.code .symbol { color: #C5060B; }
+pre.code .kw,
+pre.code .label,
+pre.code .id.require,
+pre.code .id.extend,
+pre.code .id.include { color: #0000FF; }
+pre.code .ivar { color: #318495; }
+pre.code .gvar,
+pre.code .id.backref,
+pre.code .id.nth_ref { color: #6D79DE; }
+pre.code .regexp, .dregexp { color: #036A07; }
+pre.code a { border-bottom: 1px dotted #bbf; }
View
46 doc/file_list.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <meta http-equiv=