Permalink
Browse files

Create gh-pages branch via GitHub

  • Loading branch information...
0 parents commit 627861502a76f0a714e5649c8d1a470d4d29dae9 @jnunemaker committed Dec 28, 2012
Showing with 452 additions and 0 deletions.
  1. +110 −0 index.html
  2. +17 −0 javascripts/scale.fix.js
  3. +1 −0 params.json
  4. +69 −0 stylesheets/pygment_trac.css
  5. +255 −0 stylesheets/styles.css
@@ -0,0 +1,110 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="chrome=1">
+ <title>Adapter-mongo by jnunemaker</title>
+
+ <link rel="stylesheet" href="stylesheets/styles.css">
+ <link rel="stylesheet" href="stylesheets/pygment_trac.css">
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ </head>
+ <body>
+ <div class="wrapper">
+ <header>
+ <h1>Adapter-mongo</h1>
+ <p>Adapter for mongo</p>
+
+ <p class="view"><a href="https://github.com/jnunemaker/adapter-mongo">View the Project on GitHub <small>jnunemaker/adapter-mongo</small></a></p>
+
+
+ <ul>
+ <li><a href="https://github.com/jnunemaker/adapter-mongo/zipball/master">Download <strong>ZIP File</strong></a></li>
+ <li><a href="https://github.com/jnunemaker/adapter-mongo/tarball/master">Download <strong>TAR Ball</strong></a></li>
+ <li><a href="https://github.com/jnunemaker/adapter-mongo">View On <strong>GitHub</strong></a></li>
+ </ul>
+ </header>
+ <section>
+ <h1>adapter-mongo</h1>
+
+<p>Mongo adapter for adapter gem.</p>
+
+<div class="highlight"><pre><span class="nb">require</span> <span class="s1">'adapter/mongo'</span>
+
+<span class="n">key</span> <span class="o">=</span> <span class="no">BSON</span><span class="o">::</span><span class="no">ObjectId</span><span class="o">.</span><span class="n">new</span>
+<span class="n">client</span> <span class="o">=</span> <span class="no">Mongo</span><span class="o">::</span><span class="no">MongoClient</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">db</span><span class="p">(</span><span class="s1">'adapter'</span><span class="p">)</span><span class="o">[</span><span class="s1">'testing'</span><span class="o">]</span>
+<span class="n">adapter</span> <span class="o">=</span> <span class="no">Adapter</span><span class="o">[</span><span class="ss">:mongo</span><span class="o">].</span><span class="n">new</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
+<span class="n">adapter</span><span class="o">.</span><span class="n">clear</span>
+
+<span class="n">adapter</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{</span><span class="s1">'some'</span> <span class="o">=&gt;</span> <span class="s1">'thing'</span><span class="p">})</span>
+<span class="nb">puts</span> <span class="s1">'Should be {"some" =&gt; "thing"}: '</span> <span class="o">+</span> <span class="n">adapter</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">key</span><span class="p">)</span><span class="o">.</span><span class="n">inspect</span>
+
+<span class="n">adapter</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+<span class="nb">puts</span> <span class="s1">'Should be nil: '</span> <span class="o">+</span> <span class="n">adapter</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">key</span><span class="p">)</span><span class="o">.</span><span class="n">inspect</span>
+
+<span class="n">adapter</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{</span><span class="s1">'some'</span> <span class="o">=&gt;</span> <span class="s1">'thing'</span><span class="p">})</span>
+<span class="n">adapter</span><span class="o">.</span><span class="n">clear</span>
+<span class="nb">puts</span> <span class="s1">'Should be nil: '</span> <span class="o">+</span> <span class="n">adapter</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">key</span><span class="p">)</span><span class="o">.</span><span class="n">inspect</span>
+
+<span class="nb">puts</span> <span class="s1">'Should be {"some" =&gt; "thing"}: '</span> <span class="o">+</span> <span class="n">adapter</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{</span><span class="s1">'some'</span> <span class="o">=&gt;</span> <span class="s1">'thing'</span><span class="p">})</span><span class="o">.</span><span class="n">inspect</span>
+</pre></div>
+
+<h2>Flavors</h2>
+
+<p>There are two adapters included with this gem -- <code>:mongo</code> and <code>:mongo_atomic</code>. <code>:mongo</code> assumes that you are writing the full document each time. <code>:mongo_atomic</code> allows for partially updating documents. The difference is best shown with a bit of code.</p>
+
+<div class="highlight"><pre><span class="nb">require</span> <span class="s1">'adapter/mongo_atomic'</span>
+
+<span class="n">key</span> <span class="o">=</span> <span class="no">BSON</span><span class="o">::</span><span class="no">ObjectId</span><span class="o">.</span><span class="n">new</span>
+<span class="n">full_doc</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'a'</span> <span class="o">=&gt;</span> <span class="s1">'c'</span><span class="p">,</span> <span class="s1">'b'</span> <span class="o">=&gt;</span> <span class="s1">'d'</span><span class="p">}</span>
+<span class="n">partial_doc</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'a'</span> <span class="o">=&gt;</span> <span class="s1">'z'</span><span class="p">}</span>
+<span class="n">client</span> <span class="o">=</span> <span class="no">Mongo</span><span class="o">::</span><span class="no">MongoClient</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">db</span><span class="p">(</span><span class="s1">'adapter'</span><span class="p">)</span><span class="o">[</span><span class="s1">'testing'</span><span class="o">]</span>
+<span class="n">adapter</span> <span class="o">=</span> <span class="no">Adapter</span><span class="o">[</span><span class="ss">:mongo</span><span class="o">].</span><span class="n">new</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
+<span class="n">atomic_adapter</span> <span class="o">=</span> <span class="no">Adapter</span><span class="o">[</span><span class="ss">:mongo_atomic</span><span class="o">].</span><span class="n">new</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
+
+<span class="n">adapter</span><span class="o">.</span><span class="n">clear</span>
+<span class="n">atomic_adapter</span><span class="o">.</span><span class="n">clear</span>
+
+<span class="n">adapter</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">full_doc</span><span class="p">)</span>
+<span class="n">adapter</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">partial_doc</span><span class="p">)</span>
+
+<span class="n">doc</span> <span class="o">=</span> <span class="n">adapter</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+<span class="n">doc</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="s1">'_id'</span><span class="p">)</span>
+
+<span class="c1"># full doc must always be written with :mongo adapter</span>
+<span class="nb">puts</span> <span class="s1">'Should be {"a"=&gt;"z"}: '</span> <span class="o">+</span> <span class="n">doc</span><span class="o">.</span><span class="n">inspect</span>
+
+<span class="n">atomic_adapter</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">full_doc</span><span class="p">)</span>
+<span class="n">atomic_adapter</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">partial_doc</span><span class="p">)</span>
+
+<span class="n">doc</span> <span class="o">=</span> <span class="n">atomic_adapter</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+<span class="n">doc</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="s1">'_id'</span><span class="p">)</span>
+
+<span class="c1"># partial updates can be written with atomic adapter as $set is used</span>
+<span class="nb">puts</span> <span class="s1">'Should be {"a"=&gt;"z", "b"=&gt;"d"}: '</span> <span class="o">+</span> <span class="n">doc</span><span class="o">.</span><span class="n">inspect</span>
+</pre></div>
+
+<p>See examples/ or specs/ for more usage.</p>
+
+<h2>Contributing</h2>
+
+<ul>
+<li>Fork the project.</li>
+<li>Make your feature addition or bug fix.</li>
+<li>Add tests for it. This is important so we don't break it in a future version unintentionally.</li>
+<li>Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine, but bump version in a commit by itself so we can ignore when we pull)</li>
+<li>Send us a pull request. Bonus points for topic branches.</li>
+</ul>
+ </section>
+ <footer>
+ <p>This project is maintained by <a href="https://github.com/jnunemaker">jnunemaker</a></p>
+ <p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
+ </footer>
+ </div>
+ <script src="javascripts/scale.fix.js"></script>
+
+ </body>
+</html>
@@ -0,0 +1,17 @@
+var metas = document.getElementsByTagName('meta');
+var i;
+if (navigator.userAgent.match(/iPhone/i)) {
+ for (i=0; i<metas.length; i++) {
+ if (metas[i].name == "viewport") {
+ metas[i].content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0";
+ }
+ }
+ document.addEventListener("gesturestart", gestureStart, false);
+}
+function gestureStart() {
+ for (i=0; i<metas.length; i++) {
+ if (metas[i].name == "viewport") {
+ metas[i].content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6";
+ }
+ }
+}
@@ -0,0 +1 @@
+{"note":"Don't delete this file! It's used internally to help with page regeneration.","name":"Adapter-mongo","body":"# adapter-mongo\r\n\r\nMongo adapter for adapter gem.\r\n\r\n```ruby\r\nrequire 'adapter/mongo'\r\n\r\nkey = BSON::ObjectId.new\r\nclient = Mongo::MongoClient.new.db('adapter')['testing']\r\nadapter = Adapter[:mongo].new(client)\r\nadapter.clear\r\n\r\nadapter.write(key, {'some' => 'thing'})\r\nputs 'Should be {\"some\" => \"thing\"}: ' + adapter.read(key).inspect\r\n\r\nadapter.delete(key)\r\nputs 'Should be nil: ' + adapter.read(key).inspect\r\n\r\nadapter.write(key, {'some' => 'thing'})\r\nadapter.clear\r\nputs 'Should be nil: ' + adapter.read(key).inspect\r\n\r\nputs 'Should be {\"some\" => \"thing\"}: ' + adapter.fetch(key, {'some' => 'thing'}).inspect\r\n```\r\n\r\n## Flavors\r\n\r\nThere are two adapters included with this gem -- `:mongo` and `:mongo_atomic`. `:mongo` assumes that you are writing the full document each time. `:mongo_atomic` allows for partially updating documents. The difference is best shown with a bit of code.\r\n\r\n```ruby\r\nrequire 'adapter/mongo_atomic'\r\n\r\nkey = BSON::ObjectId.new\r\nfull_doc = {'a' => 'c', 'b' => 'd'}\r\npartial_doc = {'a' => 'z'}\r\nclient = Mongo::MongoClient.new.db('adapter')['testing']\r\nadapter = Adapter[:mongo].new(client)\r\natomic_adapter = Adapter[:mongo_atomic].new(client)\r\n\r\nadapter.clear\r\natomic_adapter.clear\r\n\r\nadapter.write(key, full_doc)\r\nadapter.write(key, partial_doc)\r\n\r\ndoc = adapter.read(key)\r\ndoc.delete('_id')\r\n\r\n# full doc must always be written with :mongo adapter\r\nputs 'Should be {\"a\"=>\"z\"}: ' + doc.inspect\r\n\r\natomic_adapter.write(key, full_doc)\r\natomic_adapter.write(key, partial_doc)\r\n\r\ndoc = atomic_adapter.read(key)\r\ndoc.delete('_id')\r\n\r\n# partial updates can be written with atomic adapter as $set is used\r\nputs 'Should be {\"a\"=>\"z\", \"b\"=>\"d\"}: ' + doc.inspect\r\n```\r\n\r\nSee examples/ or specs/ for more usage.\r\n\r\n## Contributing\r\n\r\n* Fork the project.\r\n* Make your feature addition or bug fix.\r\n* Add tests for it. This is important so we don't break it in a future version unintentionally.\r\n* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine, but bump version in a commit by itself so we can ignore when we pull)\r\n* Send us a pull request. Bonus points for topic branches.\r\n","google":"","tagline":"Adapter for mongo"}
@@ -0,0 +1,69 @@
+.highlight { background: #ffffff; }
+.highlight .c { color: #999988; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { font-weight: bold } /* Keyword */
+.highlight .o { font-weight: bold } /* Operator */
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { font-weight: bold } /* Keyword.Constant */
+.highlight .kd { font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #d14 } /* Literal.String */
+.highlight .na { color: #008080 } /* Name.Attribute */
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
+.highlight .no { color: #008080 } /* Name.Constant */
+.highlight .ni { color: #800080 } /* Name.Entity */
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
+.highlight .nn { color: #555555 } /* Name.Namespace */
+.highlight .nt { color: #000080 } /* Name.Tag */
+.highlight .nv { color: #008080 } /* Name.Variable */
+.highlight .ow { font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sb { color: #d14 } /* Literal.String.Backtick */
+.highlight .sc { color: #d14 } /* Literal.String.Char */
+.highlight .sd { color: #d14 } /* Literal.String.Doc */
+.highlight .s2 { color: #d14 } /* Literal.String.Double */
+.highlight .se { color: #d14 } /* Literal.String.Escape */
+.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
+.highlight .si { color: #d14 } /* Literal.String.Interpol */
+.highlight .sx { color: #d14 } /* Literal.String.Other */
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
+.highlight .s1 { color: #d14 } /* Literal.String.Single */
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
+
+.type-csharp .highlight .k { color: #0000FF }
+.type-csharp .highlight .kt { color: #0000FF }
+.type-csharp .highlight .nf { color: #000000; font-weight: normal }
+.type-csharp .highlight .nc { color: #2B91AF }
+.type-csharp .highlight .nn { color: #000000 }
+.type-csharp .highlight .s { color: #A31515 }
+.type-csharp .highlight .sc { color: #A31515 }
Oops, something went wrong.

0 comments on commit 6278615

Please sign in to comment.