<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>engine.rb</title> <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css"> </head> <body> <div id='container'> <div id="background"></div> <div id="jump_to"> Jump To … <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="../dailycred.html">dailycred.rb</a> <a class="source" href="acts_as_dailycred.html">acts_as_dailycred.rb</a> <a class="source" href="client.html">client.rb</a> <a class="source" href="engine.html">engine.rb</a> <a class="source" href="helper.html">helper.rb</a> <a class="source" href="middleware.html">middleware.rb</a> <a class="source" href="tests_helper.html">tests_helper.rb</a> <a class="source" href="user.html">user.rb</a> <a class="source" href="../generators/dailycred_generator.html">dailycred_generator.rb</a> <a class="source" href="../generators/templates/migration_create_user.html">migration_create_user.rb</a> <a class="source" href="../generators/templates/omniauth.html">omniauth.rb</a> <a class="source" href="../generators/templates/sessions_controller.html">sessions_controller.rb</a> <a class="source" href="../generators/templates/user.html">user.rb</a> <a class="source" href="../omniauth/strategies/dailycred.html">dailycred.rb</a> </div> </div> </div> <table cellspacing=0 cellpadding=0> <thead> <tr> <th class=docs><h1>engine.rb</h1></th> <th class=code></th> </tr> </thead> <tbody> <tr id='section-1'> <td class=docs> <div class="pilwrap"> <a class="pilcrow" href="#section-1">¶</a> </div> </td> <td class=code> <div class='highlight'><pre><span class="nb">require</span> <span class="s1">'rails'</span> <span class="k">module</span> <span class="nn">Dailycred</span> <span class="k">class</span> <span class="nc">Engine</span> <span class="o"><</span> <span class="no">Rails</span><span class="o">::</span><span class="no">Engine</span> <span class="n">initializer</span> <span class="s1">'dailycred.setup'</span><span class="p">,</span> <span class="ss">:after</span><span class="o">=></span><span class="s2">"dailycred"</span> <span class="k">do</span> <span class="o">|</span><span class="n">app</span><span class="o">|</span> <span class="n">conf</span> <span class="o">=</span> <span class="no">Rails</span><span class="o">.</span><span class="n">configuration</span><span class="c1"># alias for configuration</span> <span class="k">if</span> <span class="n">conf</span><span class="o">.</span><span class="n">respond_to?</span> <span class="s1">'DAILYCRED_CLIENT_ID'</span> <span class="nb">id</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">DAILYCRED_CLIENT_ID</span> <span class="n">secret</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">DAILYCRED_SECRET_KEY</span></pre></div> </td> </tr> <tr id='section-2'> <td class=docs> <div class="pilwrap"> <a class="pilcrow" href="#section-2">¶</a> </div> <p>setup omniauth options, can be overridden. ex: Rails.application.DAILYCRED<em>OPTIONS = { :client</em>options => { :site => ‘https://www.dailycred.com’, :authorize<em>url => ‘/connect’, :token</em>url => ‘/oauth/access_token’ } }</p> </td> <td class=code> <div class='highlight'><pre> <span class="k">if</span> <span class="n">conf</span><span class="o">.</span><span class="n">respond_to?</span> <span class="s1">'DAILYCRED_OPTIONS'</span> <span class="n">opts</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">DAILYCRED_OPTIONS</span> <span class="n">opts</span><span class="o">[</span><span class="ss">:client_options</span><span class="o">]</span> <span class="o">||=</span> <span class="p">{}</span> <span class="n">opts</span><span class="o">[</span><span class="ss">:client_options</span><span class="o">][</span><span class="ss">:ssl</span><span class="o">]</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">else</span> <span class="n">opts</span> <span class="o">=</span> <span class="p">{</span><span class="ss">:client_options</span> <span class="o">=></span> <span class="p">{</span><span class="ss">:ssl</span> <span class="o">=></span> <span class="p">{}}}</span> <span class="n">conf</span><span class="o">.</span><span class="n">DAILYCRED_OPTIONS</span> <span class="o">=</span> <span class="n">opts</span> <span class="k">end</span> <span class="k">if</span> <span class="no">File</span><span class="o">.</span><span class="n">exists?</span><span class="p">(</span><span class="s1">'/etc/ssl/certs'</span><span class="p">)</span> <span class="n">opts</span><span class="o">[</span><span class="ss">:client_options</span><span class="o">][</span><span class="ss">:ssl</span><span class="o">][</span><span class="ss">:ca_path</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'/etc/ssl/certs'</span> <span class="k">end</span> <span class="k">if</span> <span class="no">File</span><span class="o">.</span><span class="n">exists?</span><span class="p">(</span><span class="s1">'/opt/local/share/curl/curl-ca-bundle.crt'</span><span class="p">)</span> <span class="n">opts</span><span class="o">[</span><span class="ss">:client_options</span><span class="o">][</span><span class="ss">:ssl</span><span class="o">][</span><span class="ss">:ca_file</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'/opt/local/share/curl/curl-ca-bundle.crt'</span> <span class="k">end</span> <span class="no">Rails</span><span class="o">.</span><span class="n">application</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">middleware</span><span class="o">.</span><span class="n">use</span> <span class="no">OmniAuth</span><span class="o">::</span><span class="no">Builder</span> <span class="k">do</span> <span class="n">provider</span> <span class="ss">:dailycred</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="n">secret</span><span class="p">,</span> <span class="n">opts</span> <span class="k">end</span> <span class="no">Rails</span><span class="o">.</span><span class="n">application</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">middleware</span><span class="o">.</span><span class="n">use</span> <span class="s2">"Dailycred::Middleware"</span><span class="p">,</span> <span class="nb">id</span> <span class="no">ActiveSupport</span><span class="o">.</span><span class="n">on_load</span><span class="p">(</span><span class="ss">:action_controller</span><span class="p">)</span> <span class="k">do</span> <span class="kp">include</span> <span class="no">Dailycred</span><span class="o">::</span><span class="no">Helpers</span> <span class="k">end</span> <span class="k">end</span> <span class="k">end</span> <span class="k">end</span> <span class="k">end</span></pre></div> </td> </tr> </table> </div> </body>