rdoc/classes/ActionController/MuckApplication/InstanceMethods.html in muck-engine-0.1.13 vs rdoc/classes/ActionController/MuckApplication/InstanceMethods.html in muck-engine-0.1.14

- old
+ new

@@ -74,11 +74,27 @@ </div> + <div id="method-list"> + <h3 class="section-bar">Methods</h3> + <div class="name-list"> + <a href="#M000003">discover_locale</a>&nbsp;&nbsp; + <a href="#M000004">extract_locale_from_browser</a>&nbsp;&nbsp; + <a href="#M000006">extract_locale_from_headers</a>&nbsp;&nbsp; + <a href="#M000008">extract_locale_from_subdomain</a>&nbsp;&nbsp; + <a href="#M000007">extract_locale_from_tld</a>&nbsp;&nbsp; + <a href="#M000005">extract_locale_from_user_selection</a>&nbsp;&nbsp; + <a href="#M000012">get_redirect_to</a>&nbsp;&nbsp; + <a href="#M000011">send_form_email</a>&nbsp;&nbsp; + <a href="#M000010">set_will_paginate_string</a>&nbsp;&nbsp; + <a href="#M000009">setup_paging</a>&nbsp;&nbsp; + </div> + </div> + </div> <!-- if includes --> @@ -90,9 +106,300 @@ <!-- if method_list --> + <div id="methods"> + <h3 class="section-bar">Protected Instance methods</h3> + + <div id="method-M000003" class="method-detail"> + <a name="M000003"></a> + + <div class="method-heading"> + <a href="#M000003" class="method-signature"> + <span class="method-name">discover_locale</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p> +********************************************** Locale methods I18n methods +from: <a +href="http://guides.rubyonrails.org/i18n.html">guides.rubyonrails.org/i18n.html</a> +<a +href="http://zargony.com/2009/01/09/selecting-the-locale-for-a-request">zargony.com/2009/01/09/selecting-the-locale-for-a-request</a> +</p> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000003-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000003-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 17</span> +17: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">discover_locale</span> +18: <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">locale</span> = <span class="ruby-identifier">extract_locale_from_user_selection</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">extract_locale_from_tld</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">extract_locale_from_subdomain</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">extract_locale_from_headers</span> <span class="ruby-operator">||</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">default_locale</span> +19: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000004" class="method-detail"> + <a name="M000004"></a> + + <div class="method-heading"> + <a href="#M000004" class="method-signature"> + <span class="method-name">extract_locale_from_browser</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000004-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000004-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 21</span> +21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extract_locale_from_browser</span> +22: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">http_lang</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">env</span>[<span class="ruby-value str">&quot;HTTP_ACCEPT_LANGUAGE&quot;</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">http_lang</span>.<span class="ruby-identifier">blank?</span> +23: <span class="ruby-identifier">browser_locale</span> = <span class="ruby-identifier">http_lang</span>[<span class="ruby-regexp re">/^[a-z]{2}/i</span>].<span class="ruby-identifier">downcase</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">http_lang</span>[<span class="ruby-value">3</span>,<span class="ruby-value">2</span>].<span class="ruby-identifier">upcase</span> +24: <span class="ruby-identifier">browser_locale</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/-US/</span>, <span class="ruby-value str">''</span>) +25: <span class="ruby-keyword kw">end</span> +26: <span class="ruby-keyword kw">nil</span> +27: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000006" class="method-detail"> + <a name="M000006"></a> + + <div class="method-heading"> + <a href="#M000006" class="method-signature"> + <span class="method-name">extract_locale_from_headers</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000006-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000006-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 38</span> +38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extract_locale_from_headers</span> +39: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">http_lang</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">headers</span>[<span class="ruby-value str">&quot;HTTP_ACCEPT_LANGUAGE&quot;</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">http_lang</span>.<span class="ruby-identifier">blank?</span> +40: <span class="ruby-identifier">preferred_locales</span> = <span class="ruby-identifier">http_lang</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">','</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">';'</span>).<span class="ruby-identifier">first</span> } +41: <span class="ruby-identifier">accepted_locales</span> = <span class="ruby-identifier">preferred_locales</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">available_locales</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">l</span>.<span class="ruby-identifier">to_sym</span>) } +42: <span class="ruby-identifier">accepted_locales</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-value">? </span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">accepted_locales</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">to_sym</span> +43: <span class="ruby-keyword kw">end</span> +44: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000008" class="method-detail"> + <a name="M000008"></a> + + <div class="method-heading"> + <a href="#M000008" class="method-signature"> + <span class="method-name">extract_locale_from_subdomain</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p> +Get locale code from request subdomain (like <a +href="http://it.application.local:3000">it.application.local:3000</a>) You +have to put something like: 127.0.0.1 gr.application.local in your +/etc/hosts file to try this out locally +</p> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000008-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000008-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 59</span> +59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extract_locale_from_subdomain</span> +60: <span class="ruby-identifier">parsed_locale</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">subdomains</span>.<span class="ruby-identifier">first</span> +61: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">parsed_locale</span>.<span class="ruby-identifier">blank?</span> +62: <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">available_locales</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parsed_locale</span>.<span class="ruby-identifier">to_sym</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">parsed_locale</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span> +63: <span class="ruby-keyword kw">else</span> +64: <span class="ruby-keyword kw">nil</span> +65: <span class="ruby-keyword kw">end</span> +66: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000007" class="method-detail"> + <a name="M000007"></a> + + <div class="method-heading"> + <a href="#M000007" class="method-signature"> + <span class="method-name">extract_locale_from_tld</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p> +Get locale from top-level domain or return nil if such locale is not +available You have to put something like: # 127.0.0.1 application.com +127.0.0.1 application.it # 127.0.0.1 application.pl in your /etc/hosts file +to try this out locally +</p> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000007-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000007-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 50</span> +50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extract_locale_from_tld</span> +51: <span class="ruby-identifier">parsed_locale</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">host</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>).<span class="ruby-identifier">last</span> +52: (<span class="ruby-constant">I18n</span>.<span class="ruby-identifier">available_locales</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">parsed_locale</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">parsed_locale</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span> +53: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000005" class="method-detail"> + <a name="M000005"></a> + + <div class="method-heading"> + <a href="#M000005" class="method-signature"> + <span class="method-name">extract_locale_from_user_selection</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000005-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000005-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 29</span> +29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extract_locale_from_user_selection</span> +30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:locale</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">available_locales</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:locale</span>].<span class="ruby-identifier">to_sym</span>) +31: <span class="ruby-identifier">cookies</span>[<span class="ruby-value str">'locale'</span>] = { <span class="ruby-identifier">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:locale</span>], <span class="ruby-identifier">:expires</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">year</span>.<span class="ruby-identifier">from_now</span> } +32: <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:locale</span>].<span class="ruby-identifier">to_sym</span> +33: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">cookies</span>[<span class="ruby-value str">'locale'</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">available_locales</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">cookies</span>[<span class="ruby-value str">'locale'</span>].<span class="ruby-identifier">to_sym</span>) +34: <span class="ruby-identifier">cookies</span>[<span class="ruby-value str">'locale'</span>].<span class="ruby-identifier">to_sym</span> +35: <span class="ruby-keyword kw">end</span> +36: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000012" class="method-detail"> + <a name="M000012"></a> + + <div class="method-heading"> + <a href="#M000012" class="method-signature"> + <span class="method-name">get_redirect_to</span><span class="method-args">() {|| ...}</span> + </a> + </div> + + <div class="method-description"> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000012-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000012-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 94</span> + 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_redirect_to</span> + 95: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:redirect_to</span>] + 96: <span class="ruby-identifier">redirect_to</span> <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:redirect_to</span>] + 97: <span class="ruby-keyword kw">else</span> + 98: <span class="ruby-keyword kw">yield</span> + 99: <span class="ruby-keyword kw">end</span> +100: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000011" class="method-detail"> + <a name="M000011"></a> + + <div class="method-heading"> + <a href="#M000011" class="method-signature"> + <span class="method-name">send_form_email</span><span class="method-args">(params, subject)</span> + </a> + </div> + + <div class="method-description"> + <p> +Use <a href="InstanceMethods.html#M000011">send_form_email</a> to send the +contents of any form to the support email address +</p> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000011-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000011-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 87</span> +87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_form_email</span>(<span class="ruby-identifier">params</span>, <span class="ruby-identifier">subject</span>) +88: <span class="ruby-identifier">body</span> = [] +89: <span class="ruby-identifier">params</span>.<span class="ruby-identifier">each_pair</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{k}: #{v}&quot;</span> } +90: <span class="ruby-constant">BasicMailer</span>.<span class="ruby-identifier">deliver_mail</span>(<span class="ruby-identifier">:subject</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">subject</span>, <span class="ruby-identifier">:body</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">body</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)) +91: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000010" class="method-detail"> + <a name="M000010"></a> + + <div class="method-heading"> + <a href="#M000010" class="method-signature"> + <span class="method-name">set_will_paginate_string</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000010-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000010-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 76</span> +76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_will_paginate_string</span> +77: <span class="ruby-comment cmt"># Because I18n.locale are dynamically determined in ApplicationController, </span> +78: <span class="ruby-comment cmt"># it should not put in config/initializers/will_paginate.rb</span> +79: <span class="ruby-constant">WillPaginate</span><span class="ruby-operator">::</span><span class="ruby-constant">ViewHelpers</span>.<span class="ruby-identifier">pagination_options</span>[<span class="ruby-identifier">:previous_label</span>] = <span class="ruby-identifier">t</span>(<span class="ruby-value str">'common.previous_page'</span>) +80: <span class="ruby-constant">WillPaginate</span><span class="ruby-operator">::</span><span class="ruby-constant">ViewHelpers</span>.<span class="ruby-identifier">pagination_options</span>[<span class="ruby-identifier">:next_label</span>] = <span class="ruby-identifier">t</span>(<span class="ruby-value str">'common.next_page'</span>) +81: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + <div id="method-M000009" class="method-detail"> + <a name="M000009"></a> + + <div class="method-heading"> + <a href="#M000009" class="method-signature"> + <span class="method-name">setup_paging</span><span class="method-args">()</span> + </a> + </div> + + <div class="method-description"> + <p> +********************************************** Paging methods +</p> + <p><a class="source-toggle" href="#" + onclick="toggleCode('M000009-source');return false;">[Source]</a></p> + <div class="method-source-code" id="M000009-source"> +<pre> + <span class="ruby-comment cmt"># File lib/action_controller/muck_application.rb, line 70</span> +70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup_paging</span> +71: <span class="ruby-ivar">@page</span> = (<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:page</span>] <span class="ruby-operator">||</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">to_i</span> +72: <span class="ruby-ivar">@page</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@page</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span> +73: <span class="ruby-ivar">@per_page</span> = (<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:per_page</span>] <span class="ruby-operator">||</span> (<span class="ruby-constant">RAILS_ENV</span><span class="ruby-operator">==</span><span class="ruby-value str">'test'</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">40</span>)).<span class="ruby-identifier">to_i</span> +74: <span class="ruby-keyword kw">end</span> +</pre> + </div> + </div> + </div> + + + </div> </div> \ No newline at end of file