<!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: Lazier::TimeZone — Documentation by YARD 0.8.6.2 </title> <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> hasFrames = window.top.frames.main ? true : false; relpath = '../'; framesUrl = "../frames.html#!" + escape(window.location.href); </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> <div id="header"> <div id="menu"> <a href="../_index.html">Index (T)</a> » <span class='title'><span class='object_link'><a href="../Lazier.html" title="Lazier (module)">Lazier</a></span></span> » <span class="title">TimeZone</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 class="full_list_link" id="class_list_link" href="../class_list.html"> Class List </a> <a class="full_list_link" id="method_list_link" href="../method_list.html"> Method List </a> <a class="full_list_link" id="file_list_link" href="../file_list.html"> File List </a> </div> <div class="clear"></div> </div> <iframe id="search_frame"></iframe> <div id="content"><h1>Module: Lazier::TimeZone </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/lazier/datetime.rb</dd> </dl> <div class="clear"></div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>Extensions for timezone objects.</p> </div> </div> <div class="tags"> </div><h2>Defined Under Namespace</h2> <p class="children"> <strong class="modules">Modules:</strong> <span class='object_link'><a href="TimeZone/ClassMethods.html" title="Lazier::TimeZone::ClassMethods (module)">ClassMethods</a></span> </p> <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="#aliases-instance_method" title="#aliases (instance method)">- (Array) <strong>aliases</strong> </a> </span> <span class="summary_desc"><div class='inline'><p>Returns a list of valid aliases (city names) for this timezone (basing on offset).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#current_alias-instance_method" title="#current_alias (instance method)">- (String) <strong>current_alias</strong> </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the current alias for this timezone.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#current_offset-instance_method" title="#current_offset (instance method)">- (Fixnum|Rational) <strong>current_offset</strong>(rational = false, date = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the current offset for this timezone, taking care of Daylight Saving Time (DST).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#dst_correction-instance_method" title="#dst_correction (instance method)">- (Fixnum|Rational) <strong>dst_correction</strong>(rational = false, year = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Return the correction applied to the standard offset the timezone when the Daylight Saving Time (DST) is active.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#dst_name-instance_method" title="#dst_name (instance method)">- (String) <strong>dst_name</strong>(dst_label = nil, year = nil, name = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the name for this zone with Daylight Saving Time (DST) active.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#dst_offset-instance_method" title="#dst_offset (instance method)">- (Fixnum|Rational) <strong>dst_offset</strong>(rational = false, year = nil, method = :utc_total_offset) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the standard offset for this timezone timezone when the Daylight Saving Time (DST) is active.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#dst_period-instance_method" title="#dst_period (instance method)">- (TimezonePeriod) <strong>dst_period</strong>(year = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Gets a period for this timezone when the Daylight Saving Time (DST) is active (it takes care of different hemispheres).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#offset-instance_method" title="#offset (instance method)">- (Fixnum|Rational) <strong>offset</strong>(rational = false) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the standard offset for this timezone.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_str-instance_method" title="#to_str (instance method)">- (String) <strong>to_str</strong>(name = nil, colon = true) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the name for this zone with Daylight Saving Time (DST) active.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_str_parameterized-instance_method" title="#to_str_parameterized (instance method)">- (String) <strong>to_str_parameterized</strong>(with_offset = true, name = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns a parameterized string representation for this zone.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_str_with_dst-instance_method" title="#to_str_with_dst (instance method)">- (String) <strong>to_str_with_dst</strong>(dst_label = nil, year = nil, name = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns a string representation for this zone with Daylight Saving Time (DST) active.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_str_with_dst_parameterized-instance_method" title="#to_str_with_dst_parameterized (instance method)">- (String) <strong>to_str_with_dst_parameterized</strong>(dst_label = nil, year = nil, name = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Returns a parameterized string representation for this zone with Daylight Saving Time (DST) active.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#uses_dst%3F-instance_method" title="#uses_dst? (instance method)">- (Boolean) <strong>uses_dst?</strong>(reference = nil) </a> </span> <span class="summary_desc"><div class='inline'><p>Checks if the timezone uses Daylight Saving Time (DST) for that date or year.</p> </div></span> </li> </ul> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="aliases-instance_method"> - (<tt>Array</tt>) <strong>aliases</strong> </h3><div class="docstring"> <div class="discussion"> <p>Returns a list of valid aliases (city names) for this timezone (basing on offset).</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Array</tt>)</span> — <div class='inline'><p>A list of aliases for this timezone</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 395 396 397 398</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 395</span> <span class='kw'>def</span> <span class='id identifier rubyid_aliases'>aliases</span> <span class='id identifier rubyid_reference'>reference</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='op'>::</span><span class='const'>MAPPING</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>_</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='ivar'>@aliases</span> <span class='op'>||=</span> <span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_reference'>reference</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='op'>::</span><span class='const'>MAPPING</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_zone'>zone</span><span class='op'>|</span> <span class='id identifier rubyid_format_alias'>format_alias</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_zone'>zone</span><span class='comma'>,</span> <span class='id identifier rubyid_reference'>reference</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="current_alias-instance_method"> - (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>current_alias</strong> </h3><div class="docstring"> <div class="discussion"> <p>Returns the current alias for this timezone.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> — <div class='inline'><p>The current alias or the first alias of the current timezone.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 414 415 416 417 418 419 420 421 422 423 424</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 414</span> <span class='kw'>def</span> <span class='id identifier rubyid_current_alias'>current_alias</span> <span class='id identifier rubyid_identifier'>identifier</span> <span class='op'>=</span> <span class='id identifier rubyid_tzinfo'>tzinfo</span><span class='period'>.</span><span class='id identifier rubyid_identifier'>identifier</span> <span class='id identifier rubyid_catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:alias</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='id identifier rubyid_aliases'>aliases</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='op'>|</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:alias</span><span class='comma'>,</span> <span class='id identifier rubyid_a'>a</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_a'>a</span> <span class='op'>==</span> <span class='id identifier rubyid_identifier'>identifier</span> <span class='kw'>end</span> <span class='id identifier rubyid_aliases'>aliases</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="current_offset-instance_method"> - (<tt>Fixnum|Rational</tt>) <strong>current_offset</strong>(rational = false, date = nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns the current offset for this timezone, taking care of Daylight Saving Time (DST).</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>rational</span> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>If to return the offset as a Rational.</p> </div> </li> <li> <span class='name'>date</span> <span class='type'>(<tt><span class='object_link'><a href="DateTime.html" title="Lazier::DateTime (module)">DateTime</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The date to consider. Defaults to now.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Fixnum|Rational</tt>)</span> — <div class='inline'><p>The offset of this timezone.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 405 406 407 408 409</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 405</span> <span class='kw'>def</span> <span class='id identifier rubyid_current_offset'>current_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_rational'>rational</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_date'>date</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_date'>date</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_period_for_utc'>period_for_utc</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dst?'>dst?</span> <span class='op'>?</span> <span class='id identifier rubyid_dst_offset'>dst_offset</span> <span class='op'>:</span> <span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span> <span class='id identifier rubyid_rational'>rational</span> <span class='op'>?</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_rationalize_offset'>rationalize_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="dst_correction-instance_method"> - (<tt>Fixnum|Rational</tt>) <strong>dst_correction</strong>(rational = false, year = nil) </h3><div class="docstring"> <div class="discussion"> <p>Return the correction applied to the standard offset the timezone when the Daylight Saving Time (DST) is active.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>rational</span> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>If to return the offset as a Rational.</p> </div> </li> <li> <span class='name'>year</span> <span class='type'>(<tt>Fixnum</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The year to which refer to. Defaults to the current year.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Fixnum|Rational</tt>)</span> — <div class='inline'><p>The correction for dst.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 466 467 468</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 466</span> <span class='kw'>def</span> <span class='id identifier rubyid_dst_correction'>dst_correction</span><span class='lparen'>(</span><span class='id identifier rubyid_rational'>rational</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_dst_offset'>dst_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_rational'>rational</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='symbol'>:std_offset</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="dst_name-instance_method"> - (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>dst_name</strong>(dst_label = nil, year = nil, name = nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns the name for this zone with Daylight Saving Time (DST) active.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>dst_label</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>Label for the DST indication. Defaults to <code>(DST)</code>.</p> </div> </li> <li> <span class='name'>year</span> <span class='type'>(<tt>Fixnum</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The year to which refer to. Defaults to the current year.</p> </div> </li> <li> <span class='name'>name</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The name to use for this zone. Defaults to the zone name.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> — <div class='inline'><p>The name for the zone with DST or <code>nil</code>, if the timezone doesn’t use DST for that year.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 488 489 490</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 488</span> <span class='kw'>def</span> <span class='id identifier rubyid_dst_name'>dst_name</span><span class='lparen'>(</span><span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_uses_dst?'>uses_dst?</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span> <span class='op'>||</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(DST)</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="dst_offset-instance_method"> - (<tt>Fixnum|Rational</tt>) <strong>dst_offset</strong>(rational = false, year = nil, method = :utc_total_offset) </h3><div class="docstring"> <div class="discussion"> <p>Returns the standard offset for this timezone timezone when the Daylight Saving Time (DST) is active.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>rational</span> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>If to return the offset as a Rational.</p> </div> </li> <li> <span class='name'>year</span> <span class='type'>(<tt>Fixnum</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The year to which refer to. Defaults to the current year.</p> </div> </li> <li> <span class='name'>method</span> <span class='type'>(<tt>Symbol</tt>)</span> <em class="default">(defaults to: <tt>:utc_total_offset</tt>)</em> — <div class='inline'><p>The method to use for getting the offset. Default is total offset from UTC.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Fixnum|Rational</tt>)</span> — <div class='inline'><p>The DST offset for this timezone or <code>0</code>, if the timezone doesn’t use DST for that year.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 476 477 478 479 480</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 476</span> <span class='kw'>def</span> <span class='id identifier rubyid_dst_offset'>dst_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_rational'>rational</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_method'>method</span> <span class='op'>=</span> <span class='symbol'>:utc_total_offset</span><span class='rparen'>)</span> <span class='id identifier rubyid_period'>period</span> <span class='op'>=</span> <span class='id identifier rubyid_dst_period'>dst_period</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='rparen'>)</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_period'>period</span> <span class='op'>?</span> <span class='id identifier rubyid_period'>period</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='int'>0</span> <span class='id identifier rubyid_rational'>rational</span> <span class='op'>?</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_rationalize_offset'>rationalize_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="dst_period-instance_method"> - (<tt>TimezonePeriod</tt>) <strong>dst_period</strong>(year = nil) </h3><div class="docstring"> <div class="discussion"> <p>Gets a period for this timezone when the Daylight Saving Time (DST) is active (it takes care of different hemispheres).</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>year</span> <span class='type'>(<tt>Fixnum</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The year to which refer to. Defaults to the current year.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>TimezonePeriod</tt>)</span> — <div class='inline'><p>A period when the Daylight Saving Time (DST) is active or <code>nil</code> if the timezone doesn’t use DST for that year.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 438 439 440 441 442 443 444 445 446 447</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 438</span> <span class='kw'>def</span> <span class='id identifier rubyid_dst_period'>dst_period</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_today'>today</span><span class='period'>.</span><span class='id identifier rubyid_year'>year</span> <span class='id identifier rubyid_northern_summer'>northern_summer</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_civil'>civil</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='int'>7</span><span class='comma'>,</span> <span class='int'>15</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='comment'># This is a representation of a summer period in the Northern Hemisphere. </span> <span class='id identifier rubyid_southern_summer'>southern_summer</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_civil'>civil</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='int'>1</span><span class='comma'>,</span> <span class='int'>15</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='comment'># This is a representation of a summer period in the Southern Hemisphere. </span> <span class='id identifier rubyid_period'>period</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_period_for_utc'>period_for_utc</span><span class='lparen'>(</span><span class='id identifier rubyid_northern_summer'>northern_summer</span><span class='rparen'>)</span> <span class='id identifier rubyid_period'>period</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_period_for_utc'>period_for_utc</span><span class='lparen'>(</span><span class='id identifier rubyid_southern_summer'>southern_summer</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_period'>period</span><span class='period'>.</span><span class='id identifier rubyid_dst?'>dst?</span> <span class='id identifier rubyid_period'>period</span><span class='period'>.</span><span class='id identifier rubyid_dst?'>dst?</span> <span class='op'>?</span> <span class='id identifier rubyid_period'>period</span> <span class='op'>:</span> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="offset-instance_method"> - (<tt>Fixnum|Rational</tt>) <strong>offset</strong>(rational = false) </h3><div class="docstring"> <div class="discussion"> <p>Returns the standard offset for this timezone.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>rational</span> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>If to return the offset as a Rational.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Fixnum|Rational</tt>)</span> — <div class='inline'><p>The offset of this timezone.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 430 431 432</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 430</span> <span class='kw'>def</span> <span class='id identifier rubyid_offset'>offset</span><span class='lparen'>(</span><span class='id identifier rubyid_rational'>rational</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='id identifier rubyid_rational'>rational</span> <span class='op'>?</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_rationalize_offset'>rationalize_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_utc_offset'>utc_offset</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_utc_offset'>utc_offset</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_str-instance_method"> - (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>to_str</strong>(name = nil, colon = true) </h3><div class="docstring"> <div class="discussion"> <p>Returns the name for this zone with Daylight Saving Time (DST) active.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>name</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The name to use for this zone. Defaults to the zone name.</p> </div> </li> <li> <span class='name'>colon</span> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> <em class="default">(defaults to: <tt>true</tt>)</em> — <div class='inline'><p>If to put the colon in the output string.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> — <div class='inline'><p>The name for this zone.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 497 498 499</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 497</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_str'>to_str</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_colon'>colon</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(GMT</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_formatted_offset'>formatted_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_colon'>colon</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span> <span class='op'>||</span> <span class='id identifier rubyid_current_alias'>current_alias</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_str_parameterized-instance_method"> - (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>to_str_parameterized</strong>(with_offset = true, name = nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns a parameterized string representation for this zone.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>with_offset</span> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> <em class="default">(defaults to: <tt>true</tt>)</em> — <div class='inline'><p>If to include offset into the representation.</p> </div> </li> <li> <span class='name'>name</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The name to use for this zone. Defaults to the zone name.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> — <div class='inline'><p>The parameterized string representation for this zone.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 516 517 518</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 516</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_str_parameterized'>to_str_parameterized</span><span class='lparen'>(</span><span class='id identifier rubyid_with_offset'>with_offset</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='period'>.</span><span class='id identifier rubyid_parameterize_zone'>parameterize_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>||</span> <span class='id identifier rubyid_to_str'>to_str</span><span class='comma'>,</span> <span class='id identifier rubyid_with_offset'>with_offset</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_str_with_dst-instance_method"> - (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>to_str_with_dst</strong>(dst_label = nil, year = nil, name = nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns a string representation for this zone with Daylight Saving Time (DST) active.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>dst_label</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>Label for the DST indication. Defaults to <code>(DST)</code>.</p> </div> </li> <li> <span class='name'>year</span> <span class='type'>(<tt>Fixnum</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The year to which refer to. Defaults to the current year.</p> </div> </li> <li> <span class='name'>name</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The name to use for this zone. Defaults to the zone name.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> — <div class='inline'><p>The string representation for the zone with DST or <code>nil</code>, if the timezone doesn’t use DST for that year.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 507 508 509</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 507</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_str_with_dst'>to_str_with_dst</span><span class='lparen'>(</span><span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_uses_dst?'>uses_dst?</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(GMT</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_seconds_to_utc_offset'>seconds_to_utc_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_dst_period'>dst_period</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_utc_total_offset'>utc_total_offset</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span> <span class='op'>||</span> <span class='id identifier rubyid_current_alias'>current_alias</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(DST)</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_str_with_dst_parameterized-instance_method"> - (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>to_str_with_dst_parameterized</strong>(dst_label = nil, year = nil, name = nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns a parameterized string representation for this zone with Daylight Saving Time (DST) active.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>dst_label</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>Label for the DST indication. Defaults to <code>(DST)</code>.</p> </div> </li> <li> <span class='name'>year</span> <span class='type'>(<tt>Fixnum</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The year to which refer to. Defaults to the current year.</p> </div> </li> <li> <span class='name'>name</span> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The name to use for this zone. Defaults to the zone name.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span> — <div class='inline'><p>The parameterized string representation for this zone with DST or <code>nil</code>, if the timezone doesn’t use DST for that year.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 526 527 528 529</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 526</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_str_with_dst_parameterized'>to_str_with_dst_parameterized</span><span class='lparen'>(</span><span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_to_str_with_dst'>to_str_with_dst</span><span class='lparen'>(</span><span class='id identifier rubyid_dst_label'>dst_label</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>?</span> <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='period'>.</span><span class='id identifier rubyid_parameterize_zone'>parameterize_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="uses_dst?-instance_method"> - (<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>) <strong>uses_dst?</strong>(reference = nil) </h3><div class="docstring"> <div class="discussion"> <p>Checks if the timezone uses Daylight Saving Time (DST) for that date or year.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>reference</span> <span class='type'>(<tt><span class='object_link'><a href="Object.html" title="Lazier::Object (module)">Object</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The date or year to check. Defaults to the current year.</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span> — <div class='inline'><p><code>true</code> if the zone uses DST for that date or year, <code>false</code> otherwise.</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 453 454 455 456 457 458 459</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 453</span> <span class='kw'>def</span> <span class='id identifier rubyid_uses_dst?'>uses_dst?</span><span class='lparen'>(</span><span class='id identifier rubyid_reference'>reference</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_reference'>reference</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:year</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='id identifier rubyid_reference'>reference</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:utc</span><span class='rparen'>)</span> <span class='kw'>then</span> <span class='comment'># This is a date like object </span> <span class='id identifier rubyid_dst_period'>dst_period</span><span class='lparen'>(</span><span class='id identifier rubyid_reference'>reference</span><span class='period'>.</span><span class='id identifier rubyid_year'>year</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&&</span> <span class='id identifier rubyid_period_for_utc'>period_for_utc</span><span class='lparen'>(</span><span class='id identifier rubyid_reference'>reference</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dst?'>dst?</span> <span class='kw'>else</span> <span class='id identifier rubyid_dst_period'>dst_period</span><span class='lparen'>(</span><span class='id identifier rubyid_reference'>reference</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Sun Jul 14 14:27:28 2013 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.8.6.2 (ruby-1.9.3). </div> </body> </html>