mirror of
https://github.com/jimeh/time_ext.git
synced 2026-02-19 13:26:39 +00:00
rebuild pages from 83655b4
This commit is contained in:
97
index.html
Normal file
97
index.html
Normal file
@@ -0,0 +1,97 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>time_ext.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="time/ext.html">ext.rb</a>
|
||||
<a class="source" href="time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="time_ext/calculations.html">calculations.rb</a>
|
||||
<a class="source" href="time_ext/core_ext/numeric.html">numeric.rb</a>
|
||||
<a class="source" href="time_ext/core_ext/time.html">time.rb</a>
|
||||
<a class="source" href="time_ext/iterations.html">iterations.rb</a>
|
||||
<a class="source" href="time_ext/version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>time_ext.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">'rubygems'</span>
|
||||
<span class="nb">require</span> <span class="s1">'active_support'</span>
|
||||
<span class="nb">require</span> <span class="s1">'time_ext/version'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p><a href="time_ext/calculations.html">Calculation</a> methods such as <code>#floor</code>, <code>#ceil</code>, <code>#round</code>,
|
||||
<code>#prev_week</code> and many more, adding on top of the defaults present in
|
||||
ActiveSupport.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/calculations'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-3'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-3">¶</a>
|
||||
</div>
|
||||
<p><a href="time_ext/iterations.html">Iteration</a> methods allowing the use of <code>#each</code>, <code>#map_each</code> and more on
|
||||
Time objects similar to how you loop over an Array of items.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/iterations'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-4'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-4">¶</a>
|
||||
</div>
|
||||
<p>Core extention of <a href="time_ext/core_ext/time.html">Time</a> class to load in <a href="time_ext/calculations.html">Calculation</a> and
|
||||
<a href="time_ext/iterations.html">Iteration</a> modules.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/core_ext/time'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-5'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-5">¶</a>
|
||||
</div>
|
||||
<p>Core extention of <a href="time_ext/core_ext/numeric.html">Numeric</a> class to set a couple of required aliases.</p>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/core_ext/numeric'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
66
lib/time/ext.html
Normal file
66
lib/time/ext.html
Normal file
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>ext.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="ext.html">ext.rb</a>
|
||||
<a class="source" href="../time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="../time_ext/calculations.html">calculations.rb</a>
|
||||
<a class="source" href="../time_ext/core_ext/numeric.html">numeric.rb</a>
|
||||
<a class="source" href="../time_ext/core_ext/time.html">time.rb</a>
|
||||
<a class="source" href="../time_ext/iterations.html">iterations.rb</a>
|
||||
<a class="source" href="../time_ext/version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>ext.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></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p>Enable use by:</p>
|
||||
|
||||
<pre><code>require 'time/ext'
|
||||
</code></pre>
|
||||
|
||||
<p>In addition to the default:</p>
|
||||
|
||||
<pre><code>require 'time_ext'
|
||||
</code></pre>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
97
lib/time_ext.html
Normal file
97
lib/time_ext.html
Normal file
@@ -0,0 +1,97 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>time_ext.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="time/ext.html">ext.rb</a>
|
||||
<a class="source" href="time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="time_ext/calculations.html">calculations.rb</a>
|
||||
<a class="source" href="time_ext/core_ext/numeric.html">numeric.rb</a>
|
||||
<a class="source" href="time_ext/core_ext/time.html">time.rb</a>
|
||||
<a class="source" href="time_ext/iterations.html">iterations.rb</a>
|
||||
<a class="source" href="time_ext/version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>time_ext.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">'rubygems'</span>
|
||||
<span class="nb">require</span> <span class="s1">'active_support'</span>
|
||||
<span class="nb">require</span> <span class="s1">'time_ext/version'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p><a href="time_ext/calculations.html">Calculation</a> methods such as <code>#floor</code>, <code>#ceil</code>, <code>#round</code>,
|
||||
<code>#prev_week</code> and many more, adding on top of the defaults present in
|
||||
ActiveSupport.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/calculations'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-3'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-3">¶</a>
|
||||
</div>
|
||||
<p><a href="time_ext/iterations.html">Iteration</a> methods allowing the use of <code>#each</code>, <code>#map_each</code> and more on
|
||||
Time objects similar to how you loop over an Array of items.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/iterations'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-4'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-4">¶</a>
|
||||
</div>
|
||||
<p>Core extention of <a href="time_ext/core_ext/time.html">Time</a> class to load in <a href="time_ext/calculations.html">Calculation</a> and
|
||||
<a href="time_ext/iterations.html">Iteration</a> modules.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/core_ext/time'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-5'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-5">¶</a>
|
||||
</div>
|
||||
<p>Core extention of <a href="time_ext/core_ext/numeric.html">Numeric</a> class to set a couple of required aliases.</p>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'time_ext/core_ext/numeric'</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
616
lib/time_ext/calculations.html
Normal file
616
lib/time_ext/calculations.html
Normal file
@@ -0,0 +1,616 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>calculations.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="../time/ext.html">ext.rb</a>
|
||||
<a class="source" href="../time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="calculations.html">calculations.rb</a>
|
||||
<a class="source" href="core_ext/numeric.html">numeric.rb</a>
|
||||
<a class="source" href="core_ext/time.html">time.rb</a>
|
||||
<a class="source" href="iterations.html">iterations.rb</a>
|
||||
<a class="source" href="version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>calculations.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="k">module</span> <span class="nn">TimeExt</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p>Adds an even greater extent of calculation methods on top of those already
|
||||
provided by ActiveSupport.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">module</span> <span class="nn">Calculations</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-Public_Methods'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-Public_Methods">¶</a>
|
||||
</div>
|
||||
<h3>Public Methods</h3>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> </pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-4'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-4">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the unit specified (second
|
||||
by default).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">floor</span><span class="p">(</span><span class="n">unit</span> <span class="o">=</span> <span class="ss">:sec</span><span class="p">)</span>
|
||||
<span class="nb">self</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="s2">"beginning_of_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:beginning_of</span> <span class="ss">:floor</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of</span> <span class="ss">:floor</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-5'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-5">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the next unit specified (second by default).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">ceil</span><span class="p">(</span><span class="n">unit</span> <span class="o">=</span> <span class="ss">:sec</span><span class="p">)</span>
|
||||
<span class="nb">self</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="s2">"next_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="s2">"beginning_of_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:beginning_of_next</span> <span class="ss">:ceil</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of_next</span> <span class="ss">:ceil</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-6'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-6">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the current or next unit
|
||||
specified (second by default) depending which is closest</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">round</span><span class="p">(</span><span class="n">unit</span> <span class="o">=</span> <span class="ss">:sec</span><span class="p">)</span>
|
||||
<span class="n">next_unit</span> <span class="o">=</span> <span class="nb">self</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="n">unit</span><span class="p">)</span>
|
||||
<span class="n">this_unit</span> <span class="o">=</span> <span class="nb">self</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="n">unit</span><span class="p">)</span>
|
||||
<span class="p">(</span><span class="nb">self</span> <span class="o">-</span> <span class="n">this_unit</span><span class="p">)</span> <span class="o"><</span> <span class="p">(</span><span class="n">next_unit</span> <span class="o">-</span> <span class="nb">self</span><span class="p">)</span> <span class="p">?</span> <span class="n">this_unit</span> <span class="p">:</span> <span class="n">next_unit</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:beginning_of_closest</span> <span class="ss">:round</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-7'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-7">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the previoius unit specified (defaults
|
||||
to second).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev</span><span class="p">(</span><span class="n">unit</span> <span class="o">=</span> <span class="ss">:sec</span><span class="p">)</span>
|
||||
<span class="nb">send</span><span class="p">(</span><span class="s2">"prev_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-8'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-8">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the next unit specified (defaults to
|
||||
second).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">next</span><span class="p">(</span><span class="n">unit</span> <span class="o">=</span> <span class="ss">:sec</span><span class="p">)</span>
|
||||
<span class="nb">send</span><span class="p">(</span><span class="s2">"next_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-9'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-9">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for seconds_ago(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev_second</span>
|
||||
<span class="n">seconds_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:prev_sec</span> <span class="ss">:prev_second</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-10'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-10">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for seconds_since(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">next_second</span>
|
||||
<span class="n">seconds_since</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:next_sec</span> <span class="ss">:next_second</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-11'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-11">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for minutes_ago(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev_minute</span>
|
||||
<span class="n">minutes_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:prev_min</span> <span class="ss">:prev_minute</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-12'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-12">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for minutes_since(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">next_minute</span>
|
||||
<span class="n">minutes_since</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:next_min</span> <span class="ss">:next_minute</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-13'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-13">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for hours_ago(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev_hour</span>
|
||||
<span class="n">hours_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-14'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-14">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for hours_since(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">next_hour</span>
|
||||
<span class="n">hours_since</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-15'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-15">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for days_ago(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev_day</span>
|
||||
<span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-16'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-16">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for days_since(1).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">next_day</span>
|
||||
<span class="n">days_since</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-17'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-17">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the given day in the
|
||||
previous week (default is Monday).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev_week</span><span class="p">(</span><span class="n">day</span> <span class="o">=</span> <span class="ss">:monday</span><span class="p">)</span>
|
||||
<span class="n">weeks_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">beginning_of_week</span><span class="o">.</span><span class="n">since</span><span class="p">(</span><span class="n">days_into_week</span><span class="o">[</span><span class="n">day</span><span class="o">].</span><span class="n">day</span><span class="p">)</span><span class="o">.</span><span class="n">change</span><span class="p">(</span><span class="ss">:hour</span> <span class="o">=></span> <span class="mi">0</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-18'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-18">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for quarters_since(1).beginning_of_quarter.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">next_quarter</span>
|
||||
<span class="n">quarters_since</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">beginning_of_quarter</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-19'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-19">¶</a>
|
||||
</div>
|
||||
<p>Short-hand for quarters_ago(1).beginning_of_quarter.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">prev_quarter</span>
|
||||
<span class="n">quarters_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">beginning_of_quarter</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-20'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-20">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified minutes
|
||||
ago.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">minutes_ago</span><span class="p">(</span><span class="n">minutes</span><span class="p">)</span>
|
||||
<span class="n">ago</span><span class="p">(</span><span class="n">minutes</span><span class="o">.</span><span class="n">minutes</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:mins_ago</span> <span class="ss">:minutes_ago</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-21'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-21">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified minutes
|
||||
in the future.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">minutes_since</span><span class="p">(</span><span class="n">minutes</span><span class="p">)</span>
|
||||
<span class="n">since</span><span class="p">(</span><span class="n">minutes</span><span class="o">.</span><span class="n">minutes</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:mins_since</span> <span class="ss">:minutes_since</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-22'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-22">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified hours
|
||||
ago.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">hours_ago</span><span class="p">(</span><span class="n">hours</span><span class="p">)</span>
|
||||
<span class="n">ago</span><span class="p">(</span><span class="n">hours</span><span class="o">.</span><span class="n">hours</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-23'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-23">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified hours in
|
||||
the future.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">hours_since</span><span class="p">(</span><span class="n">hours</span><span class="p">)</span>
|
||||
<span class="n">since</span><span class="p">(</span><span class="n">hours</span><span class="o">.</span><span class="n">hours</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-24'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-24">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified days ago.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">days_ago</span><span class="p">(</span><span class="n">days</span><span class="p">)</span>
|
||||
<span class="n">ago</span><span class="p">(</span><span class="n">days</span><span class="o">.</span><span class="n">days</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-25'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-25">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified days in
|
||||
the future.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">days_since</span><span class="p">(</span><span class="n">days</span><span class="p">)</span>
|
||||
<span class="n">since</span><span class="p">(</span><span class="n">days</span><span class="o">.</span><span class="n">days</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-26'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-26">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified weeks
|
||||
ago.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">weeks_ago</span><span class="p">(</span><span class="n">weeks</span><span class="p">)</span>
|
||||
<span class="n">ago</span><span class="p">(</span><span class="n">weeks</span><span class="o">.</span><span class="n">weeks</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-27'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-27">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified weeks in
|
||||
the future.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">weeks_since</span><span class="p">(</span><span class="n">weeks</span><span class="p">)</span>
|
||||
<span class="n">since</span><span class="p">(</span><span class="n">weeks</span><span class="o">.</span><span class="n">weeks</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-28'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-28">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified quarters
|
||||
(3 months) ago.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">quarters_ago</span><span class="p">(</span><span class="n">quarters</span><span class="p">)</span>
|
||||
<span class="n">ago</span><span class="p">((</span><span class="n">quarters</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span><span class="o">.</span><span class="n">months</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-29'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-29">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the time a number of specified quarters
|
||||
(3 months) in the future.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">quarters_since</span><span class="p">(</span><span class="n">quarters</span><span class="p">)</span>
|
||||
<span class="n">since</span><span class="p">((</span><span class="n">quarters</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span><span class="o">.</span><span class="n">months</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-30'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-30">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the end of the unit specified (defaults
|
||||
to second).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">end_of</span><span class="p">(</span><span class="n">unit</span> <span class="o">=</span> <span class="ss">:sec</span><span class="p">)</span>
|
||||
<span class="nb">send</span><span class="p">(</span><span class="s2">"end_of_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-31'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-31">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the second, XX:XX:XX.000000
|
||||
(.000000000 in ruby1.9).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">beginning_of_second</span>
|
||||
<span class="n">change</span><span class="p">(</span><span class="ss">:usec</span> <span class="o">=></span> <span class="mi">0</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:beginning_of_sec</span> <span class="ss">:beginning_of_second</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of_sec</span> <span class="ss">:beginning_of_second</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of_second</span> <span class="ss">:beginning_of_second</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-32'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-32">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the end of the second, XX:XX:XX.999999
|
||||
(.999999999 in ruby1.9).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">end_of_second</span>
|
||||
<span class="n">change</span><span class="p">(</span><span class="ss">:usec</span> <span class="o">=></span> <span class="mi">999999</span><span class="o">.</span><span class="mi">999</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:end_of_sec</span> <span class="ss">:end_of_second</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-33'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-33">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the minute (XX:XX:00).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">beginning_of_minute</span>
|
||||
<span class="n">change</span><span class="p">(</span><span class="ss">:sec</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="ss">:usec</span> <span class="o">=></span> <span class="mi">0</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:beginning_of_min</span> <span class="ss">:beginning_of_minute</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of_min</span> <span class="ss">:beginning_of_minute</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of_minute</span> <span class="ss">:beginning_of_minute</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-34'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-34">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the end of the hour, XX:XX:59.999999 (.999999999 in ruby1.9).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">end_of_minute</span>
|
||||
<span class="n">change</span><span class="p">(</span><span class="ss">:sec</span> <span class="o">=></span> <span class="mi">59</span><span class="p">,</span> <span class="ss">:usec</span> <span class="o">=></span> <span class="mi">999999</span><span class="o">.</span><span class="mi">999</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:end_of_min</span> <span class="ss">:end_of_minute</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-35'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-35">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the start of the hour (XX:00:00).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">beginning_of_hour</span>
|
||||
<span class="n">change</span><span class="p">(</span><span class="ss">:min</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="ss">:sec</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="ss">:usec</span> <span class="o">=></span> <span class="mi">0</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:at_beginning_of_hour</span> <span class="ss">:beginning_of_hour</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-36'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-36">¶</a>
|
||||
</div>
|
||||
<p>Returns a new Time representing the end of the hour, XX:59:59.999999
|
||||
(.999999999 in ruby1.9).</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">end_of_hour</span>
|
||||
<span class="n">change</span><span class="p">(</span><span class="ss">:min</span> <span class="o">=></span> <span class="mi">59</span><span class="p">,</span> <span class="ss">:sec</span> <span class="o">=></span> <span class="mi">59</span><span class="p">,</span> <span class="ss">:usec</span> <span class="o">=></span> <span class="mi">999999</span><span class="o">.</span><span class="mi">999</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
|
||||
<span class="kp">private</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-Private_Helper_Methods'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-Private_Helper_Methods">¶</a>
|
||||
</div>
|
||||
<h3>Private Helper Methods</h3>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> </pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-38'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-38">¶</a>
|
||||
</div>
|
||||
<p>Definitive list of days in the week.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">days_into_week</span>
|
||||
<span class="n">defined?</span><span class="p">(</span><span class="no">DAYS_INTO_WEEK</span><span class="p">)</span> <span class="p">?</span> <span class="no">DAYS_INTO_WEEK</span> <span class="p">:</span> <span class="p">{</span> <span class="ss">:monday</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="ss">:tuesday</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span> <span class="ss">:wednesday</span> <span class="o">=></span> <span class="mi">2</span><span class="p">,</span> <span class="ss">:thursday</span> <span class="o">=></span> <span class="mi">3</span><span class="p">,</span> <span class="ss">:friday</span> <span class="o">=></span> <span class="mi">4</span><span class="p">,</span> <span class="ss">:saturday</span> <span class="o">=></span> <span class="mi">5</span><span class="p">,</span> <span class="ss">:sunday</span> <span class="o">=></span> <span class="mi">6</span> <span class="p">}</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-39'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-39">¶</a>
|
||||
</div>
|
||||
<p>Definitive list of days for each month of the year.</p>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">common_year_days_in_month</span>
|
||||
<span class="n">defined?</span><span class="p">(</span><span class="no">COMMON_YEAR_DAYS_IN_MONTH</span><span class="p">)</span> <span class="p">?</span> <span class="no">COMMON_YEAR_DAYS_IN_MONTH</span> <span class="p">:</span> <span class="o">[</span><span class="kp">nil</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">28</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">31</span><span class="o">]</span>
|
||||
<span class="k">end</span>
|
||||
|
||||
<span class="k">end</span>
|
||||
<span class="k">end</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
64
lib/time_ext/core_ext/numeric.html
Normal file
64
lib/time_ext/core_ext/numeric.html
Normal file
@@ -0,0 +1,64 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>numeric.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="../../time/ext.html">ext.rb</a>
|
||||
<a class="source" href="../../time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="../calculations.html">calculations.rb</a>
|
||||
<a class="source" href="numeric.html">numeric.rb</a>
|
||||
<a class="source" href="time.html">time.rb</a>
|
||||
<a class="source" href="../iterations.html">iterations.rb</a>
|
||||
<a class="source" href="../version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>numeric.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></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p>Support both Active Support 2.x and 3.x, and also addresses rare loading
|
||||
issue.</p>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'active_support/core_ext/numeric/time'</span> <span class="k">unless</span> <span class="no">Numeric</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">respond_to?</span><span class="p">(</span><span class="ss">:seconds</span><span class="p">)</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">Numeric</span>
|
||||
<span class="k">alias</span> <span class="ss">:sec</span> <span class="ss">:seconds</span>
|
||||
<span class="k">alias</span> <span class="ss">:min</span> <span class="ss">:minutes</span>
|
||||
<span class="k">end</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
90
lib/time_ext/core_ext/time.html
Normal file
90
lib/time_ext/core_ext/time.html
Normal file
@@ -0,0 +1,90 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>time.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="../../time/ext.html">ext.rb</a>
|
||||
<a class="source" href="../../time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="../calculations.html">calculations.rb</a>
|
||||
<a class="source" href="numeric.html">numeric.rb</a>
|
||||
<a class="source" href="time.html">time.rb</a>
|
||||
<a class="source" href="../iterations.html">iterations.rb</a>
|
||||
<a class="source" href="../version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>time.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></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p>Support both Active Support 2.x and 3.x, and also address rare loading
|
||||
issue.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'active_support/time'</span> <span class="k">unless</span> <span class="no">Time</span><span class="o">.</span><span class="n">respond_to?</span><span class="p">(</span><span class="ss">:days_in_month</span><span class="p">)</span>
|
||||
<span class="nb">require</span> <span class="s1">'active_support/core_ext/time/calculations'</span> <span class="k">unless</span> <span class="no">Time</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">respond_to?</span><span class="p">(</span><span class="ss">:ago</span><span class="p">)</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">Time</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-3'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-3">¶</a>
|
||||
</div>
|
||||
<p>Include TimeExt modules into Time object.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="kp">include</span> <span class="no">TimeExt</span><span class="o">::</span><span class="no">Calculations</span>
|
||||
<span class="kp">include</span> <span class="no">TimeExt</span><span class="o">::</span><span class="no">Iterations</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-4'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-4">¶</a>
|
||||
</div>
|
||||
<p>Aliases to keep available method names to a standard pattern.</p>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">alias</span> <span class="ss">:secs_ago</span> <span class="ss">:ago</span>
|
||||
<span class="k">alias</span> <span class="ss">:seconds_ago</span> <span class="ss">:ago</span>
|
||||
<span class="k">alias</span> <span class="ss">:secs_since</span> <span class="ss">:since</span>
|
||||
<span class="k">alias</span> <span class="ss">:seconds_since</span> <span class="ss">:since</span>
|
||||
<span class="k">end</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
364
lib/time_ext/iterations.html
Normal file
364
lib/time_ext/iterations.html
Normal file
@@ -0,0 +1,364 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>iterations.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="../time/ext.html">ext.rb</a>
|
||||
<a class="source" href="../time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="calculations.html">calculations.rb</a>
|
||||
<a class="source" href="core_ext/numeric.html">numeric.rb</a>
|
||||
<a class="source" href="core_ext/time.html">time.rb</a>
|
||||
<a class="source" href="iterations.html">iterations.rb</a>
|
||||
<a class="source" href="version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>iterations.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="k">module</span> <span class="nn">TimeExt</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-2'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-2">¶</a>
|
||||
</div>
|
||||
<p>Allows you to iterate over Time objects with <code>#each</code> and other
|
||||
methods almost as if it was an Array or Hash.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">module</span> <span class="nn">Iterations</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-Iterator_Methods'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-Iterator_Methods">¶</a>
|
||||
</div>
|
||||
<h3>Iterator Methods</h3>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> </pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-4'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-4">¶</a>
|
||||
</div>
|
||||
<p>Executes passed block for each <code>unit</code> of time specified, with
|
||||
a new time object for each interval passed to the block.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">each</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span> <span class="o">=</span> <span class="p">{},</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">iterate</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="ss">:map_result</span> <span class="o">=></span> <span class="kp">false</span><span class="p">),</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-5'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-5">¶</a>
|
||||
</div>
|
||||
<p>Executes passed block for each <code>unit</code> of time specified, with
|
||||
a new time object set to the beginning of <code>unit</code> for each
|
||||
interval passed to the block.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">beginning_of_each</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span> <span class="o">=</span> <span class="p">{},</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">iterate</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="ss">:map_result</span> <span class="o">=></span> <span class="kp">false</span><span class="p">,</span> <span class="ss">:beginning_of</span> <span class="o">=></span> <span class="kp">true</span><span class="p">),</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-6'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-6">¶</a>
|
||||
</div>
|
||||
<p>Executes passed block for each <code>unit</code> of time specified,
|
||||
returning an array with the return values from the passed block.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">map_each</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span> <span class="o">=</span> <span class="p">{},</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">iterate</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="ss">:map_result</span> <span class="o">=></span> <span class="kp">true</span><span class="p">),</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-7'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-7">¶</a>
|
||||
</div>
|
||||
<p>Executes passed block for each <code>unit</code> of time specified,
|
||||
returning an array with the return values from passed block.
|
||||
Additionally the time object passed into the block is set to
|
||||
the beginning of specified <code>unit</code>.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">map_beginning_of_each</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span> <span class="o">=</span> <span class="p">{},</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">iterate</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">options</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="ss">:map_result</span> <span class="o">=></span> <span class="kp">true</span><span class="p">,</span> <span class="ss">:beginning_of</span> <span class="o">=></span> <span class="kp">true</span><span class="p">),</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-Limiter_Methods'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-Limiter_Methods">¶</a>
|
||||
</div>
|
||||
<h3>Limiter Methods</h3>
|
||||
|
||||
<p>Usually chained with an iterator method to specify at which point
|
||||
in time the iterator should stop.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> </pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-9'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-9">¶</a>
|
||||
</div>
|
||||
<p>Used togeter with <code>#each</code> and other iteration methods to specify
|
||||
end of interation.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">until</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">to_time</span> <span class="k">if</span> <span class="n">time</span><span class="o">.</span><span class="n">is_a?</span><span class="p">(</span><span class="o">::</span><span class="no">Date</span><span class="p">)</span>
|
||||
<span class="vi">@until</span> <span class="o">=</span> <span class="n">time</span>
|
||||
<span class="k">return</span> <span class="n">call_chain</span><span class="p">(</span><span class="n">block</span><span class="p">)</span> <span class="k">if</span> <span class="nb">block_given?</span>
|
||||
<span class="nb">self</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:till</span> <span class="ss">:until</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-10'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-10">¶</a>
|
||||
</div>
|
||||
<p>Used together with <code>#each</code> and other interation methods to specify
|
||||
start of iteration, and end will be current object.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">from</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">to_time</span> <span class="k">if</span> <span class="n">time</span><span class="o">.</span><span class="n">is_a?</span><span class="p">(</span><span class="o">::</span><span class="no">Date</span><span class="p">)</span>
|
||||
<span class="nb">method</span><span class="p">,</span> <span class="n">args</span> <span class="o">=</span> <span class="vi">@method_chain</span><span class="o">.</span><span class="n">pop</span> <span class="k">if</span> <span class="nb">block_given?</span>
|
||||
<span class="k">if</span> <span class="o">!</span><span class="nb">method</span><span class="o">.</span><span class="n">nil?</span>
|
||||
<span class="n">time</span><span class="o">.</span><span class="n">until</span><span class="p">(</span><span class="nb">self</span><span class="p">)</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="nb">method</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">else</span>
|
||||
<span class="n">time</span><span class="o">.</span><span class="n">until</span><span class="p">(</span><span class="nb">self</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-11'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-11">¶</a>
|
||||
</div>
|
||||
<p>Let’s you iterate over every unit specified in the <code>#each</code> or
|
||||
<code>#map_each</code> call for the specified unit.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">of_the</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="vi">@of_the</span> <span class="o">=</span> <span class="n">unit</span>
|
||||
<span class="k">return</span> <span class="n">call_chain</span><span class="p">(</span><span class="n">block</span><span class="p">)</span> <span class="k">if</span> <span class="nb">block_given?</span>
|
||||
<span class="nb">self</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">alias</span> <span class="ss">:of</span> <span class="ss">:of_the</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-Shorthand_Methods'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-Shorthand_Methods">¶</a>
|
||||
</div>
|
||||
<h3>Shorthand Methods</h3>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> </pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-13'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-13">¶</a>
|
||||
</div>
|
||||
<p>Dynamically define convenience methods, like <code>#each_hour</code> as a
|
||||
shorthand for <code>#each(:hour)</code>.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="o">[</span><span class="ss">:year</span><span class="p">,</span> <span class="ss">:month</span><span class="p">,</span> <span class="ss">:day</span><span class="p">,</span> <span class="ss">:hour</span><span class="p">,</span> <span class="ss">:min</span><span class="p">,</span> <span class="ss">:sec</span><span class="o">].</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">unit</span><span class="o">|</span>
|
||||
<span class="o">[</span><span class="ss">:each</span><span class="p">,</span> <span class="ss">:beginning_of_each</span><span class="p">,</span> <span class="ss">:map_each</span><span class="p">,</span> <span class="ss">:map_beginning_of_each</span><span class="o">].</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="nb">method</span><span class="o">|</span>
|
||||
<span class="n">define_method</span> <span class="s2">"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="s2">_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span> <span class="k">do</span> <span class="o">|*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="o">|</span>
|
||||
<span class="nb">send</span><span class="p">(</span><span class="nb">method</span><span class="p">,</span> <span class="n">unit</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="nb">class_eval</span> <span class="p">{</span> <span class="k">alias</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_minute"</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_min"</span> <span class="p">}</span> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="ss">:min</span>
|
||||
<span class="nb">class_eval</span> <span class="p">{</span> <span class="k">alias</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_second"</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_sec"</span> <span class="p">}</span> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="ss">:sec</span>
|
||||
<span class="k">end</span>
|
||||
<span class="o">[</span><span class="ss">:of_the</span><span class="p">,</span> <span class="ss">:of</span><span class="o">].</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="nb">method</span><span class="o">|</span>
|
||||
<span class="n">define_method</span> <span class="s2">"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="s2">_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span> <span class="k">do</span> <span class="o">|*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="o">|</span>
|
||||
<span class="nb">send</span><span class="p">(</span><span class="nb">method</span><span class="p">,</span> <span class="n">unit</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="nb">class_eval</span> <span class="p">{</span> <span class="k">alias</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_minute"</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_min"</span> <span class="p">}</span> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="ss">:min</span>
|
||||
<span class="nb">class_eval</span> <span class="p">{</span> <span class="k">alias</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_second"</span> <span class="ss">:"</span><span class="si">#{</span><span class="nb">method</span><span class="si">}</span><span class="ss">_sec"</span> <span class="p">}</span> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="ss">:sec</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">end</span>
|
||||
|
||||
<span class="kp">private</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-Private_Helper_Methods'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-Private_Helper_Methods">¶</a>
|
||||
</div>
|
||||
<h3>Private Helper Methods</h3>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> </pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-15'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-15">¶</a>
|
||||
</div>
|
||||
<p>Default options for <code>#iterate</code>.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">default_options</span>
|
||||
<span class="p">{</span> <span class="ss">:map_result</span> <span class="o">=></span> <span class="kp">false</span><span class="p">,</span>
|
||||
<span class="ss">:beginning_of</span> <span class="o">=></span> <span class="kp">false</span><span class="p">,</span>
|
||||
<span class="ss">:end_of</span> <span class="o">=></span> <span class="kp">false</span><span class="p">,</span>
|
||||
<span class="ss">:include_start</span> <span class="o">=></span> <span class="kp">false</span><span class="p">,</span>
|
||||
<span class="ss">:include_end</span> <span class="o">=></span> <span class="kp">true</span> <span class="p">}</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-16'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-16">¶</a>
|
||||
</div>
|
||||
<p>Used by <code>#each</code>, <code>#map_each</code> and similar methods to iterate over
|
||||
ranges of time.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">iterate</span><span class="p">(</span><span class="n">unit</span><span class="p">,</span> <span class="n">opts</span> <span class="o">=</span> <span class="p">{},</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="n">options</span> <span class="o">=</span> <span class="n">default_options</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">opts</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-17'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-17">¶</a>
|
||||
</div>
|
||||
<p>Perform the grunt work of iteration.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">if</span> <span class="nb">block_given?</span>
|
||||
<span class="n">units</span> <span class="o">=</span> <span class="o">[</span><span class="ss">:year</span><span class="p">,</span> <span class="ss">:month</span><span class="p">,</span> <span class="ss">:day</span><span class="p">,</span> <span class="ss">:hour</span><span class="p">,</span> <span class="ss">:min</span><span class="p">,</span> <span class="ss">:sec</span><span class="p">,</span> <span class="ss">:usec</span><span class="o">]</span>
|
||||
<span class="n">parent_unit</span> <span class="o">=</span> <span class="n">units</span><span class="o">[</span><span class="n">units</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">unit</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="o">]</span>
|
||||
<span class="k">if</span> <span class="vi">@of_the</span><span class="o">.</span><span class="n">nil?</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="nb">self</span><span class="o">.</span><span class="n">clone</span>
|
||||
<span class="vi">@until</span> <span class="o">||=</span> <span class="p">(</span><span class="o">!</span><span class="n">parent_unit</span><span class="o">.</span><span class="n">nil?</span><span class="p">)</span> <span class="p">?</span> <span class="nb">self</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="s2">"</span><span class="si">#{</span><span class="n">parent_unit</span><span class="si">}</span><span class="s2">s_since"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="p">:</span> <span class="nb">self</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="s2">"</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">s_since"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">else</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="nb">self</span><span class="o">.</span><span class="n">beginning_of</span><span class="p">(</span><span class="vi">@of_the</span><span class="p">)</span>
|
||||
<span class="vi">@until</span> <span class="o">=</span> <span class="nb">self</span><span class="o">.</span><span class="n">next</span><span class="p">(</span><span class="vi">@of_the</span><span class="p">)</span><span class="o">.</span><span class="n">beginning_of</span><span class="p">(</span><span class="vi">@of_the</span><span class="p">)</span>
|
||||
<span class="n">options</span><span class="o">.</span><span class="n">merge!</span><span class="p">(</span><span class="ss">:beginning_of</span> <span class="o">=></span> <span class="kp">true</span><span class="p">,</span> <span class="ss">:include_start</span> <span class="o">=></span> <span class="kp">true</span><span class="p">,</span> <span class="ss">:include_end</span> <span class="o">=></span> <span class="kp">false</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="n">direction</span> <span class="o">=</span> <span class="p">(</span><span class="nb">self</span> <span class="o"><</span> <span class="vi">@until</span><span class="p">)</span> <span class="p">?</span> <span class="ss">:f</span> <span class="p">:</span> <span class="ss">:b</span>
|
||||
<span class="n">succ_method</span> <span class="o">=</span> <span class="p">(</span><span class="n">direction</span> <span class="o">==</span> <span class="ss">:f</span><span class="p">)</span> <span class="p">?</span> <span class="s2">"next_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span> <span class="p">:</span> <span class="s2">"prev_</span><span class="si">#{</span><span class="n">unit</span><span class="si">}</span><span class="s2">"</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">beginning_of</span><span class="p">(</span><span class="n">unit</span><span class="p">)</span> <span class="k">if</span> <span class="n">options</span><span class="o">[</span><span class="ss">:beginning_of</span><span class="o">]</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">succ_method</span><span class="p">)</span> <span class="k">if</span> <span class="o">!</span><span class="n">options</span><span class="o">[</span><span class="ss">:include_start</span><span class="o">]</span>
|
||||
<span class="vi">@until</span> <span class="o">=</span> <span class="vi">@until</span><span class="o">.</span><span class="n">prev</span><span class="p">(</span><span class="n">unit</span><span class="p">)</span><span class="o">.</span><span class="n">end_of</span><span class="p">(</span><span class="n">unit</span><span class="p">)</span> <span class="k">if</span> <span class="o">!</span><span class="n">options</span><span class="o">[</span><span class="ss">:include_end</span><span class="o">]</span>
|
||||
<span class="n">results</span> <span class="o">=</span> <span class="o">[]</span>
|
||||
<span class="k">while</span> <span class="p">(</span><span class="n">direction</span> <span class="o">==</span> <span class="ss">:f</span> <span class="o">&&</span> <span class="n">time</span> <span class="o"><=</span> <span class="vi">@until</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">direction</span> <span class="o">==</span> <span class="ss">:b</span> <span class="o">&&</span> <span class="n">time</span> <span class="o">>=</span> <span class="vi">@until</span><span class="p">)</span>
|
||||
<span class="n">options</span><span class="o">[</span><span class="ss">:map_result</span><span class="o">]</span> <span class="p">?</span> <span class="n">results</span> <span class="o"><<</span> <span class="k">yield</span><span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="p">:</span> <span class="k">yield</span><span class="p">(</span><span class="n">time</span><span class="p">)</span>
|
||||
<span class="n">time</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">succ_method</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
<span class="n">options</span><span class="o">[</span><span class="ss">:map_result</span><span class="o">]</span> <span class="p">?</span> <span class="n">results</span> <span class="p">:</span> <span class="nb">self</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-18'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-18">¶</a>
|
||||
</div>
|
||||
<p>If a block is not given, add itself to the chain list to be
|
||||
executed when the chain ends.</p>
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">else</span>
|
||||
<span class="n">add_to_chain</span><span class="p">(</span><span class="ss">:iterate</span><span class="p">,</span> <span class="n">unit</span><span class="p">,</span> <span class="n">options</span><span class="p">)</span>
|
||||
<span class="nb">self</span>
|
||||
<span class="k">end</span>
|
||||
<span class="k">end</span>
|
||||
</pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='section-19'>
|
||||
<td class=docs>
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-19">¶</a>
|
||||
</div>
|
||||
<p>Enables chaining of iterator methods with</p>
|
||||
|
||||
</td>
|
||||
<td class=code>
|
||||
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">add_to_chain</span><span class="p">(</span><span class="nb">method</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="vi">@method_chain</span> <span class="o">||=</span> <span class="o">[]</span>
|
||||
<span class="vi">@method_chain</span> <span class="o"><<</span> <span class="o">[</span><span class="nb">method</span><span class="o">.</span><span class="n">to_sym</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">block</span><span class="o">]</span>
|
||||
<span class="k">end</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">call_chain</span><span class="p">(</span><span class="n">custom_block</span> <span class="o">=</span> <span class="kp">nil</span><span class="p">,</span> <span class="o">&</span><span class="n">block</span><span class="p">)</span>
|
||||
<span class="nb">method</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">iblock</span> <span class="o">=</span> <span class="vi">@method_chain</span><span class="o">.</span><span class="n">pop</span>
|
||||
<span class="k">return</span> <span class="kp">nil</span> <span class="k">if</span> <span class="nb">method</span><span class="o">.</span><span class="n">nil?</span>
|
||||
<span class="n">iblock</span> <span class="o">=</span> <span class="n">custom_block</span> <span class="k">if</span> <span class="o">!</span><span class="n">custom_block</span><span class="o">.</span><span class="n">nil?</span>
|
||||
<span class="nb">method</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">iblock</span> <span class="o">=</span> <span class="k">yield</span><span class="p">(</span><span class="nb">method</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">iblock</span><span class="p">)</span> <span class="k">if</span> <span class="nb">block_given?</span>
|
||||
<span class="nb">self</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="nb">method</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">&</span><span class="n">iblock</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
|
||||
<span class="k">end</span>
|
||||
<span class="k">end</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
49
lib/time_ext/version.html
Normal file
49
lib/time_ext/version.html
Normal file
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<title>version.rb</title>
|
||||
<link rel="stylesheet" href="http://github.com/jashkenas/docco/raw/0.3.0/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="../time/ext.html">ext.rb</a>
|
||||
<a class="source" href="../time_ext.html">time_ext.rb</a>
|
||||
<a class="source" href="calculations.html">calculations.rb</a>
|
||||
<a class="source" href="core_ext/numeric.html">numeric.rb</a>
|
||||
<a class="source" href="core_ext/time.html">time.rb</a>
|
||||
<a class="source" href="iterations.html">iterations.rb</a>
|
||||
<a class="source" href="version.html">version.rb</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class=docs><h1>version.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="k">module</span> <span class="nn">TimeExt</span>
|
||||
<span class="no">VERSION</span> <span class="o">=</span> <span class="s2">"0.2.9"</span>
|
||||
<span class="k">end</span></pre></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
Reference in New Issue
Block a user