time_span 0.0.1.alpha04 → 0.0.1.alpha05
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/doc/Gemfile.html +2 -0
- data/doc/Rakefile.html +2 -0
- data/doc/TimeSpan.html +6 -0
- data/doc/TimeSpan/RelativeTime.html +260 -2
- data/doc/TimeSpan/TimeLine.html +619 -0
- data/doc/TimeSpan/TimeSpan.html +59 -21
- data/doc/created.rid +4 -4
- data/doc/index.html +34 -0
- data/doc/lib/time_span/version_rb.html +1 -1
- data/doc/lib/time_span_rb.html +1 -3
- data/doc/spec/time_span/time_span_spec_rb.html +1 -1
- data/lib/time_span/version.rb +1 -1
- metadata +4 -3
data/doc/Gemfile.html
CHANGED
data/doc/Rakefile.html
CHANGED
data/doc/TimeSpan.html
CHANGED
@@ -60,6 +60,8 @@
|
|
60
60
|
|
61
61
|
<li><span class="type">CLASS</span> <a href="TimeSpan/RelativeTime.html">TimeSpan::RelativeTime</a></li>
|
62
62
|
|
63
|
+
<li><span class="type">CLASS</span> <a href="TimeSpan/TimeLine.html">TimeSpan::TimeLine</a></li>
|
64
|
+
|
63
65
|
<li><span class="type">CLASS</span> <a href="TimeSpan/TimeSpan.html">TimeSpan::TimeSpan</a></li>
|
64
66
|
|
65
67
|
</ul>
|
@@ -105,6 +107,8 @@
|
|
105
107
|
|
106
108
|
<li><a href="./TimeSpan/RelativeTime.html">TimeSpan::RelativeTime</a></li>
|
107
109
|
|
110
|
+
<li><a href="./TimeSpan/TimeLine.html">TimeSpan::TimeLine</a></li>
|
111
|
+
|
108
112
|
<li><a href="./TimeSpan/TimeSpan.html">TimeSpan::TimeSpan</a></li>
|
109
113
|
|
110
114
|
</ul>
|
@@ -120,6 +124,8 @@
|
|
120
124
|
|
121
125
|
<div id="description" class="description">
|
122
126
|
|
127
|
+
<p>require “time_span/version”</p>
|
128
|
+
|
123
129
|
</div><!-- description -->
|
124
130
|
|
125
131
|
|
@@ -50,7 +50,7 @@
|
|
50
50
|
<div id="parent-class-section" class="section">
|
51
51
|
<h3 class="section-header">Parent</h3>
|
52
52
|
|
53
|
-
<p class="link">
|
53
|
+
<p class="link">Object</p>
|
54
54
|
|
55
55
|
</div>
|
56
56
|
|
@@ -60,6 +60,24 @@
|
|
60
60
|
|
61
61
|
|
62
62
|
|
63
|
+
<!-- Method Quickref -->
|
64
|
+
<div id="method-list-section" class="section">
|
65
|
+
<h3 class="section-header">Methods</h3>
|
66
|
+
<ul class="link-list">
|
67
|
+
|
68
|
+
<li><a href="#method-c-new">::new</a></li>
|
69
|
+
|
70
|
+
<li><a href="#method-i-colinear_with-3F">#colinear_with?</a></li>
|
71
|
+
|
72
|
+
<li><a href="#method-i-positioned-3F">#positioned?</a></li>
|
73
|
+
|
74
|
+
<li><a href="#method-i-to_s">#to_s</a></li>
|
75
|
+
|
76
|
+
<li><a href="#method-i-valid_and_comparable_with-3F">#valid_and_comparable_with?</a></li>
|
77
|
+
|
78
|
+
</ul>
|
79
|
+
</div>
|
80
|
+
|
63
81
|
|
64
82
|
|
65
83
|
</div>
|
@@ -98,6 +116,8 @@
|
|
98
116
|
|
99
117
|
<li><a href="../TimeSpan/RelativeTime.html">TimeSpan::RelativeTime</a></li>
|
100
118
|
|
119
|
+
<li><a href="../TimeSpan/TimeLine.html">TimeSpan::TimeLine</a></li>
|
120
|
+
|
101
121
|
<li><a href="../TimeSpan/TimeSpan.html">TimeSpan::TimeSpan</a></li>
|
102
122
|
|
103
123
|
</ul>
|
@@ -113,7 +133,20 @@
|
|
113
133
|
|
114
134
|
<div id="description" class="description">
|
115
135
|
|
116
|
-
<
|
136
|
+
<pre>#</pre>
|
137
|
+
|
138
|
+
<p>A relative time must be able to be have equal times
|
139
|
+
# implemented as an Array of Arrays; all elements of the ‘subarray’ are
|
140
|
+
equal in time, # otherwise, the time relationship are based on position
|
141
|
+
in the main array #</p>
|
142
|
+
|
143
|
+
<pre>#</pre>
|
144
|
+
|
145
|
+
<p>diff cannot be done, it makes no sense, due to the fuzziness
|
146
|
+
#</p>
|
147
|
+
|
148
|
+
<pre> #
|
149
|
+
RelativeTime must be within a TimeLine #</pre>
|
117
150
|
|
118
151
|
</div><!-- description -->
|
119
152
|
|
@@ -128,9 +161,234 @@
|
|
128
161
|
|
129
162
|
|
130
163
|
|
164
|
+
<!-- Attributes -->
|
165
|
+
<div id="attribute-method-details" class="method-section section">
|
166
|
+
<h3 class="section-header">Attributes</h3>
|
167
|
+
|
168
|
+
|
169
|
+
<div id="reference_to-attribute-method" class="method-detail">
|
170
|
+
<a name="reference_to"></a>
|
171
|
+
|
172
|
+
<a name="reference_to="></a>
|
173
|
+
|
174
|
+
<div class="method-heading attribute-method-heading">
|
175
|
+
<span class="method-name">reference_to</span><span
|
176
|
+
class="attribute-access-type">[RW]</span>
|
177
|
+
</div>
|
178
|
+
|
179
|
+
<div class="method-description">
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
</div>
|
184
|
+
</div>
|
185
|
+
|
186
|
+
<div id="timeline-attribute-method" class="method-detail">
|
187
|
+
<a name="timeline"></a>
|
188
|
+
|
189
|
+
<a name="timeline="></a>
|
190
|
+
|
191
|
+
<div class="method-heading attribute-method-heading">
|
192
|
+
<span class="method-name">timeline</span><span
|
193
|
+
class="attribute-access-type">[RW]</span>
|
194
|
+
</div>
|
195
|
+
|
196
|
+
<div class="method-description">
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
</div>
|
201
|
+
</div>
|
202
|
+
|
203
|
+
</div><!-- attribute-method-details -->
|
204
|
+
|
131
205
|
|
132
206
|
<!-- Methods -->
|
133
207
|
|
208
|
+
<div id="public-class-method-details" class="method-section section">
|
209
|
+
<h3 class="section-header">Public Class Methods</h3>
|
210
|
+
|
211
|
+
|
212
|
+
<div id="new-method" class="method-detail ">
|
213
|
+
<a name="method-c-new"></a>
|
214
|
+
|
215
|
+
|
216
|
+
<div class="method-heading">
|
217
|
+
<span class="method-name">new</span><span
|
218
|
+
class="method-args">(tline, ref)</span>
|
219
|
+
<span class="method-click-advice">click to toggle source</span>
|
220
|
+
</div>
|
221
|
+
|
222
|
+
|
223
|
+
<div class="method-description">
|
224
|
+
|
225
|
+
<p>create a realtive time *within a timeline* after position</p>
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
<div class="method-source-code" id="new-source">
|
230
|
+
<pre>
|
231
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 226</span>
|
232
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">tline</span>, <span class="ruby-identifier">ref</span>
|
233
|
+
<span class="ruby-ivar">@timeline</span>= <span class="ruby-identifier">tline</span>
|
234
|
+
<span class="ruby-ivar">@reference_to</span>= <span class="ruby-identifier">ref</span>
|
235
|
+
<span class="ruby-keyword">end</span></pre>
|
236
|
+
</div><!-- new-source -->
|
237
|
+
|
238
|
+
</div>
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
</div><!-- new-method -->
|
244
|
+
|
245
|
+
|
246
|
+
</div><!-- public-class-method-details -->
|
247
|
+
|
248
|
+
<div id="public-instance-method-details" class="method-section section">
|
249
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
250
|
+
|
251
|
+
|
252
|
+
<div id="colinear_with-3F-method" class="method-detail ">
|
253
|
+
<a name="method-i-colinear_with-3F"></a>
|
254
|
+
|
255
|
+
|
256
|
+
<div class="method-heading">
|
257
|
+
<span class="method-name">colinear_with?</span><span
|
258
|
+
class="method-args">(b)</span>
|
259
|
+
<span class="method-click-advice">click to toggle source</span>
|
260
|
+
</div>
|
261
|
+
|
262
|
+
|
263
|
+
<div class="method-description">
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
<div class="method-source-code" id="colinear_with-3F-source">
|
270
|
+
<pre>
|
271
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 247</span>
|
272
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">colinear_with?</span>(<span class="ruby-identifier">b</span>)
|
273
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">timeline</span>.<span class="ruby-identifier">equal?</span>(<span class="ruby-identifier">b</span>.<span class="ruby-identifier">timeline</span>)
|
274
|
+
<span class="ruby-keyword">end</span></pre>
|
275
|
+
</div><!-- colinear_with-3F-source -->
|
276
|
+
|
277
|
+
</div>
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
</div><!-- colinear_with-3F-method -->
|
283
|
+
|
284
|
+
|
285
|
+
<div id="positioned-3F-method" class="method-detail ">
|
286
|
+
<a name="method-i-positioned-3F"></a>
|
287
|
+
|
288
|
+
|
289
|
+
<div class="method-heading">
|
290
|
+
<span class="method-name">positioned?</span><span
|
291
|
+
class="method-args">()</span>
|
292
|
+
<span class="method-click-advice">click to toggle source</span>
|
293
|
+
</div>
|
294
|
+
|
295
|
+
|
296
|
+
<div class="method-description">
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
<div class="method-source-code" id="positioned-3F-source">
|
303
|
+
<pre>
|
304
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 243</span>
|
305
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">positioned?</span>
|
306
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">timeline</span>.<span class="ruby-identifier">indices_of</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword">self</span>)
|
307
|
+
<span class="ruby-keyword">end</span></pre>
|
308
|
+
</div><!-- positioned-3F-source -->
|
309
|
+
|
310
|
+
</div>
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
</div><!-- positioned-3F-method -->
|
316
|
+
|
317
|
+
|
318
|
+
<div id="to_s-method" class="method-detail ">
|
319
|
+
<a name="method-i-to_s"></a>
|
320
|
+
|
321
|
+
|
322
|
+
<div class="method-heading">
|
323
|
+
<span class="method-name">to_s</span><span
|
324
|
+
class="method-args">()</span>
|
325
|
+
<span class="method-click-advice">click to toggle source</span>
|
326
|
+
</div>
|
327
|
+
|
328
|
+
|
329
|
+
<div class="method-description">
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
<div class="method-source-code" id="to_s-source">
|
336
|
+
<pre>
|
337
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 231</span>
|
338
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
339
|
+
<span class="ruby-identifier">reference_to</span>.<span class="ruby-identifier">to_s</span>
|
340
|
+
<span class="ruby-keyword">end</span></pre>
|
341
|
+
</div><!-- to_s-source -->
|
342
|
+
|
343
|
+
</div>
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
</div><!-- to_s-method -->
|
349
|
+
|
350
|
+
|
351
|
+
</div><!-- public-instance-method-details -->
|
352
|
+
|
353
|
+
<div id="protected-instance-method-details" class="method-section section">
|
354
|
+
<h3 class="section-header">Protected Instance Methods</h3>
|
355
|
+
|
356
|
+
|
357
|
+
<div id="valid_and_comparable_with-3F-method" class="method-detail ">
|
358
|
+
<a name="method-i-valid_and_comparable_with-3F"></a>
|
359
|
+
|
360
|
+
|
361
|
+
<div class="method-heading">
|
362
|
+
<span class="method-name">valid_and_comparable_with?</span><span
|
363
|
+
class="method-args">(b)</span>
|
364
|
+
<span class="method-click-advice">click to toggle source</span>
|
365
|
+
</div>
|
366
|
+
|
367
|
+
|
368
|
+
<div class="method-description">
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
<div class="method-source-code" id="valid_and_comparable_with-3F-source">
|
375
|
+
<pre>
|
376
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 254</span>
|
377
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">valid_and_comparable_with?</span>(<span class="ruby-identifier">b</span>)
|
378
|
+
<span class="ruby-operator">!</span><span class="ruby-keyword">self</span>.<span class="ruby-identifier">timeline</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">b</span>.<span class="ruby-identifier">timeline</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">colinear_with?</span>(<span class="ruby-identifier">b</span>)
|
379
|
+
<span class="ruby-keyword">end</span></pre>
|
380
|
+
</div><!-- valid_and_comparable_with-3F-source -->
|
381
|
+
|
382
|
+
</div>
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
</div><!-- valid_and_comparable_with-3F-method -->
|
388
|
+
|
389
|
+
|
390
|
+
</div><!-- protected-instance-method-details -->
|
391
|
+
|
134
392
|
</div><!-- 5Buntitled-5D -->
|
135
393
|
|
136
394
|
|
@@ -0,0 +1,619 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
7
|
+
|
8
|
+
<title>Class: TimeSpan::TimeLine</title>
|
9
|
+
|
10
|
+
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
11
|
+
|
12
|
+
<script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
|
13
|
+
<script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
|
14
|
+
<script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
|
15
|
+
<script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body id="top" class="class">
|
19
|
+
|
20
|
+
<div id="metadata">
|
21
|
+
<div id="home-metadata">
|
22
|
+
<div id="home-section" class="section">
|
23
|
+
<h3 class="section-header">
|
24
|
+
<a href="../index.html">Home</a>
|
25
|
+
<a href="../index.html#classes">Classes</a>
|
26
|
+
<a href="../index.html#methods">Methods</a>
|
27
|
+
</h3>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div id="file-metadata">
|
32
|
+
<div id="file-list-section" class="section">
|
33
|
+
<h3 class="section-header">In Files</h3>
|
34
|
+
<div class="section-body">
|
35
|
+
<ul>
|
36
|
+
|
37
|
+
<li><a href="../lib/time_span_rb.html?TB_iframe=true&height=550&width=785"
|
38
|
+
class="thickbox" title="lib/time_span.rb">lib/time_span.rb</a></li>
|
39
|
+
|
40
|
+
</ul>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div id="class-metadata">
|
48
|
+
|
49
|
+
<!-- Parent Class -->
|
50
|
+
<div id="parent-class-section" class="section">
|
51
|
+
<h3 class="section-header">Parent</h3>
|
52
|
+
|
53
|
+
<p class="link">Array</p>
|
54
|
+
|
55
|
+
</div>
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
<!-- Method Quickref -->
|
64
|
+
<div id="method-list-section" class="section">
|
65
|
+
<h3 class="section-header">Methods</h3>
|
66
|
+
<ul class="link-list">
|
67
|
+
|
68
|
+
<li><a href="#method-c-new">::new</a></li>
|
69
|
+
|
70
|
+
<li><a href="#method-i-append">#append</a></li>
|
71
|
+
|
72
|
+
<li><a href="#method-i-append_to_next">#append_to_next</a></li>
|
73
|
+
|
74
|
+
<li><a href="#method-i-compress-21">#compress!</a></li>
|
75
|
+
|
76
|
+
<li><a href="#method-i-increase_after">#increase_after</a></li>
|
77
|
+
|
78
|
+
<li><a href="#method-i-insert_at">#insert_at</a></li>
|
79
|
+
|
80
|
+
<li><a href="#method-i-insert_before_next">#insert_before_next</a></li>
|
81
|
+
|
82
|
+
<li><a href="#method-i-position_of">#position_of</a></li>
|
83
|
+
|
84
|
+
<li><a href="#method-i-remove">#remove</a></li>
|
85
|
+
|
86
|
+
<li><a href="#method-i-to_s">#to_s</a></li>
|
87
|
+
|
88
|
+
</ul>
|
89
|
+
</div>
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
</div>
|
94
|
+
|
95
|
+
<div id="project-metadata">
|
96
|
+
|
97
|
+
|
98
|
+
<div id="fileindex-section" class="section project-section">
|
99
|
+
<h3 class="section-header">Files</h3>
|
100
|
+
<ul>
|
101
|
+
|
102
|
+
<li class="file"><a href="../Gemfile.html">Gemfile</a></li>
|
103
|
+
|
104
|
+
<li class="file"><a href="../Rakefile.html">Rakefile</a></li>
|
105
|
+
|
106
|
+
</ul>
|
107
|
+
</div>
|
108
|
+
|
109
|
+
|
110
|
+
<div id="classindex-section" class="section project-section">
|
111
|
+
<h3 class="section-header">Class/Module Index
|
112
|
+
<span class="search-toggle"><img src="../images/find.png"
|
113
|
+
height="16" width="16" alt="[+]"
|
114
|
+
title="show/hide quicksearch" /></span></h3>
|
115
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
116
|
+
<fieldset>
|
117
|
+
<legend>Quicksearch</legend>
|
118
|
+
<input type="text" name="quicksearch" value=""
|
119
|
+
class="quicksearch-field" />
|
120
|
+
</fieldset>
|
121
|
+
</form>
|
122
|
+
|
123
|
+
<ul class="link-list">
|
124
|
+
|
125
|
+
<li><a href="../TimeSpan.html">TimeSpan</a></li>
|
126
|
+
|
127
|
+
<li><a href="../TimeSpan/RelativeTime.html">TimeSpan::RelativeTime</a></li>
|
128
|
+
|
129
|
+
<li><a href="../TimeSpan/TimeLine.html">TimeSpan::TimeLine</a></li>
|
130
|
+
|
131
|
+
<li><a href="../TimeSpan/TimeSpan.html">TimeSpan::TimeSpan</a></li>
|
132
|
+
|
133
|
+
</ul>
|
134
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
135
|
+
</div>
|
136
|
+
|
137
|
+
|
138
|
+
</div>
|
139
|
+
</div>
|
140
|
+
|
141
|
+
<div id="documentation">
|
142
|
+
<h1 class="class">TimeSpan::TimeLine</h1>
|
143
|
+
|
144
|
+
<div id="description" class="description">
|
145
|
+
|
146
|
+
</div><!-- description -->
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
<div id="5Buntitled-5D" class="documentation-section">
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
<!-- Attributes -->
|
160
|
+
<div id="attribute-method-details" class="method-section section">
|
161
|
+
<h3 class="section-header">Attributes</h3>
|
162
|
+
|
163
|
+
|
164
|
+
<div id="indices_of-attribute-method" class="method-detail">
|
165
|
+
<a name="indices_of"></a>
|
166
|
+
|
167
|
+
<a name="indices_of="></a>
|
168
|
+
|
169
|
+
<div class="method-heading attribute-method-heading">
|
170
|
+
<span class="method-name">indices_of</span><span
|
171
|
+
class="attribute-access-type">[RW]</span>
|
172
|
+
</div>
|
173
|
+
|
174
|
+
<div class="method-description">
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
</div>
|
179
|
+
</div>
|
180
|
+
|
181
|
+
<div id="line-attribute-method" class="method-detail">
|
182
|
+
<a name="line"></a>
|
183
|
+
|
184
|
+
<a name="line="></a>
|
185
|
+
|
186
|
+
<div class="method-heading attribute-method-heading">
|
187
|
+
<span class="method-name">line</span><span
|
188
|
+
class="attribute-access-type">[RW]</span>
|
189
|
+
</div>
|
190
|
+
|
191
|
+
<div class="method-description">
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
</div>
|
196
|
+
</div>
|
197
|
+
|
198
|
+
<div id="name-attribute-method" class="method-detail">
|
199
|
+
<a name="name"></a>
|
200
|
+
|
201
|
+
<a name="name="></a>
|
202
|
+
|
203
|
+
<div class="method-heading attribute-method-heading">
|
204
|
+
<span class="method-name">name</span><span
|
205
|
+
class="attribute-access-type">[RW]</span>
|
206
|
+
</div>
|
207
|
+
|
208
|
+
<div class="method-description">
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
</div>
|
213
|
+
</div>
|
214
|
+
|
215
|
+
</div><!-- attribute-method-details -->
|
216
|
+
|
217
|
+
|
218
|
+
<!-- Methods -->
|
219
|
+
|
220
|
+
<div id="public-class-method-details" class="method-section section">
|
221
|
+
<h3 class="section-header">Public Class Methods</h3>
|
222
|
+
|
223
|
+
|
224
|
+
<div id="new-method" class="method-detail ">
|
225
|
+
<a name="method-c-new"></a>
|
226
|
+
|
227
|
+
|
228
|
+
<div class="method-heading">
|
229
|
+
<span class="method-name">new</span><span
|
230
|
+
class="method-args">(name="")</span>
|
231
|
+
<span class="method-click-advice">click to toggle source</span>
|
232
|
+
</div>
|
233
|
+
|
234
|
+
|
235
|
+
<div class="method-description">
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
<div class="method-source-code" id="new-source">
|
242
|
+
<pre>
|
243
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 127</span>
|
244
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>=<span class="ruby-string">""</span>)
|
245
|
+
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
246
|
+
<span class="ruby-ivar">@line</span> = []
|
247
|
+
<span class="ruby-ivar">@indices_of</span> = {}
|
248
|
+
<span class="ruby-keyword">end</span></pre>
|
249
|
+
</div><!-- new-source -->
|
250
|
+
|
251
|
+
</div>
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
</div><!-- new-method -->
|
257
|
+
|
258
|
+
|
259
|
+
</div><!-- public-class-method-details -->
|
260
|
+
|
261
|
+
<div id="public-instance-method-details" class="method-section section">
|
262
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
263
|
+
|
264
|
+
|
265
|
+
<div id="append-method" class="method-detail ">
|
266
|
+
<a name="method-i-append"></a>
|
267
|
+
|
268
|
+
|
269
|
+
<div class="method-heading">
|
270
|
+
<span class="method-name">append</span><span
|
271
|
+
class="method-args">(obj)</span>
|
272
|
+
<span class="method-click-advice">click to toggle source</span>
|
273
|
+
</div>
|
274
|
+
|
275
|
+
|
276
|
+
<div class="method-description">
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
<div class="method-source-code" id="append-source">
|
283
|
+
<pre>
|
284
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 137</span>
|
285
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">append</span>(<span class="ruby-identifier">obj</span>)
|
286
|
+
<span class="ruby-identifier">insert_at</span>(<span class="ruby-ivar">@line</span>.<span class="ruby-identifier">size</span>, <span class="ruby-identifier">obj</span>)
|
287
|
+
<span class="ruby-keyword">end</span></pre>
|
288
|
+
</div><!-- append-source -->
|
289
|
+
|
290
|
+
</div>
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
</div><!-- append-method -->
|
296
|
+
|
297
|
+
|
298
|
+
<div id="append_to_next-method" class="method-detail ">
|
299
|
+
<a name="method-i-append_to_next"></a>
|
300
|
+
|
301
|
+
|
302
|
+
<div class="method-heading">
|
303
|
+
<span class="method-name">append_to_next</span><span
|
304
|
+
class="method-args">(relative_obj, obj, relative=1)</span>
|
305
|
+
<span class="method-click-advice">click to toggle source</span>
|
306
|
+
</div>
|
307
|
+
|
308
|
+
|
309
|
+
<div class="method-description">
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
<div class="method-source-code" id="append_to_next-source">
|
316
|
+
<pre>
|
317
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 147</span>
|
318
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">append_to_next</span>(<span class="ruby-identifier">relative_obj</span>, <span class="ruby-identifier">obj</span>, <span class="ruby-identifier">relative</span>=<span class="ruby-value">1</span>)
|
319
|
+
<span class="ruby-identifier">insert_at</span>(<span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">relative_obj</span>)<span class="ruby-operator">+</span><span class="ruby-identifier">relative</span>, <span class="ruby-identifier">obj</span>)
|
320
|
+
<span class="ruby-keyword">end</span></pre>
|
321
|
+
</div><!-- append_to_next-source -->
|
322
|
+
|
323
|
+
</div>
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
</div><!-- append_to_next-method -->
|
329
|
+
|
330
|
+
|
331
|
+
<div id="compress-21-method" class="method-detail ">
|
332
|
+
<a name="method-i-compress-21"></a>
|
333
|
+
|
334
|
+
|
335
|
+
<div class="method-heading">
|
336
|
+
<span class="method-name">compress!</span><span
|
337
|
+
class="method-args">()</span>
|
338
|
+
<span class="method-click-advice">click to toggle source</span>
|
339
|
+
</div>
|
340
|
+
|
341
|
+
|
342
|
+
<div class="method-description">
|
343
|
+
|
344
|
+
<p>removes all [] elements, and decrements accordingly the @<a
|
345
|
+
href="TimeLine.html#attribute-i-indices_of">indices_of</a></p>
|
346
|
+
|
347
|
+
<pre>ideally this should be transactional</pre>
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
<div class="method-source-code" id="compress-21-source">
|
352
|
+
<pre>
|
353
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 187</span>
|
354
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">compress!</span>
|
355
|
+
|
356
|
+
<span class="ruby-identifier">mod_level</span> = <span class="ruby-value">0</span>
|
357
|
+
<span class="ruby-identifier">offsets</span> = []
|
358
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">line</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
359
|
+
<span class="ruby-identifier">mod_level</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">empty?</span>
|
360
|
+
<span class="ruby-identifier">offsets</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">mod_level</span>
|
361
|
+
<span class="ruby-keyword">end</span>
|
362
|
+
|
363
|
+
<span class="ruby-comment">## poor man's transaction. Don't do directly on indices_of so less chance of interruption</span>
|
364
|
+
<span class="ruby-identifier">indices</span> = <span class="ruby-identifier">indices_of</span>
|
365
|
+
|
366
|
+
<span class="ruby-comment">## refactor to use increase_after</span>
|
367
|
+
<span class="ruby-identifier">indices</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
368
|
+
<span class="ruby-identifier">indices</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">indices</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">offsets</span>[<span class="ruby-identifier">indices</span>[<span class="ruby-identifier">key</span>]]
|
369
|
+
<span class="ruby-keyword">end</span>
|
370
|
+
|
371
|
+
<span class="ruby-identifier">indices_of</span> = <span class="ruby-identifier">indices</span>
|
372
|
+
<span class="ruby-ivar">@line</span>.<span class="ruby-identifier">delete</span>([])
|
373
|
+
<span class="ruby-keyword">end</span></pre>
|
374
|
+
</div><!-- compress-21-source -->
|
375
|
+
|
376
|
+
</div>
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
</div><!-- compress-21-method -->
|
382
|
+
|
383
|
+
|
384
|
+
<div id="increase_after-method" class="method-detail ">
|
385
|
+
<a name="method-i-increase_after"></a>
|
386
|
+
|
387
|
+
|
388
|
+
<div class="method-heading">
|
389
|
+
<span class="method-name">increase_after</span><span
|
390
|
+
class="method-args">(pos, by=1)</span>
|
391
|
+
<span class="method-click-advice">click to toggle source</span>
|
392
|
+
</div>
|
393
|
+
|
394
|
+
|
395
|
+
<div class="method-description">
|
396
|
+
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
<div class="method-source-code" id="increase_after-source">
|
402
|
+
<pre>
|
403
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 141</span>
|
404
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">increase_after</span>(<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">by</span>=<span class="ruby-value">1</span>)
|
405
|
+
<span class="ruby-ivar">@indices_of</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
406
|
+
<span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">by</span> <span class="ruby-keyword">if</span> (<span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">>=</span> <span class="ruby-identifier">pos</span>)
|
407
|
+
<span class="ruby-keyword">end</span>
|
408
|
+
<span class="ruby-keyword">end</span></pre>
|
409
|
+
</div><!-- increase_after-source -->
|
410
|
+
|
411
|
+
</div>
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
</div><!-- increase_after-method -->
|
417
|
+
|
418
|
+
|
419
|
+
<div id="insert_at-method" class="method-detail ">
|
420
|
+
<a name="method-i-insert_at"></a>
|
421
|
+
|
422
|
+
|
423
|
+
<div class="method-heading">
|
424
|
+
<span class="method-name">insert_at</span><span
|
425
|
+
class="method-args">(pos, obj)</span>
|
426
|
+
<span class="method-click-advice">click to toggle source</span>
|
427
|
+
</div>
|
428
|
+
|
429
|
+
|
430
|
+
<div class="method-description">
|
431
|
+
|
432
|
+
<p>needs work for <a href="RelativeTime.html">RelativeTime</a> objects</p>
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
<div class="method-source-code" id="insert_at-source">
|
437
|
+
<pre>
|
438
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 159</span>
|
439
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_at</span>(<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">obj</span>)
|
440
|
+
|
441
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-string">"can only add a time to its own timeline"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">timeline</span>.<span class="ruby-identifier">equal?</span> <span class="ruby-keyword">self</span>
|
442
|
+
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">nil?</span>
|
443
|
+
<span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>] = [<span class="ruby-identifier">obj</span>]
|
444
|
+
<span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">obj</span>] = <span class="ruby-identifier">pos</span>
|
445
|
+
<span class="ruby-keyword">else</span>
|
446
|
+
<span class="ruby-identifier">op</span> = <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Array</span>) <span class="ruby-operator">?</span> <span class="ruby-string">'<<'</span> <span class="ruby-operator">:</span> <span class="ruby-string">'='</span>
|
447
|
+
<span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">send</span>(<span class="ruby-identifier">op</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">obj</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">obj</span>) <span class="ruby-comment"># no dupliates</span>
|
448
|
+
<span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">obj</span>] = <span class="ruby-identifier">pos</span> <span class="ruby-comment"># dup overwrites</span>
|
449
|
+
<span class="ruby-keyword">end</span>
|
450
|
+
<span class="ruby-keyword">end</span></pre>
|
451
|
+
</div><!-- insert_at-source -->
|
452
|
+
|
453
|
+
</div>
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
|
458
|
+
</div><!-- insert_at-method -->
|
459
|
+
|
460
|
+
|
461
|
+
<div id="insert_before_next-method" class="method-detail ">
|
462
|
+
<a name="method-i-insert_before_next"></a>
|
463
|
+
|
464
|
+
|
465
|
+
<div class="method-heading">
|
466
|
+
<span class="method-name">insert_before_next</span><span
|
467
|
+
class="method-args">(relative_obj, obj, relative_offset=1)</span>
|
468
|
+
<span class="method-click-advice">click to toggle source</span>
|
469
|
+
</div>
|
470
|
+
|
471
|
+
|
472
|
+
<div class="method-description">
|
473
|
+
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
|
478
|
+
<div class="method-source-code" id="insert_before_next-source">
|
479
|
+
<pre>
|
480
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 151</span>
|
481
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_before_next</span>(<span class="ruby-identifier">relative_obj</span>, <span class="ruby-identifier">obj</span>, <span class="ruby-identifier">relative_offset</span>=<span class="ruby-value">1</span>)
|
482
|
+
<span class="ruby-identifier">relative_position</span> = <span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">relative_obj</span>)
|
483
|
+
<span class="ruby-identifier">increase_after</span>(<span class="ruby-identifier">relative_position</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">relative_offset</span>, <span class="ruby-identifier">relative_offset</span>)
|
484
|
+
<span class="ruby-ivar">@line</span>[<span class="ruby-identifier">relative_position</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">relative_offset</span>,<span class="ruby-value">0</span>] = <span class="ruby-keyword">nil</span>
|
485
|
+
<span class="ruby-identifier">insert_at</span>(<span class="ruby-identifier">relative_position</span><span class="ruby-operator">+</span><span class="ruby-identifier">relative_offset</span>, <span class="ruby-identifier">obj</span>)
|
486
|
+
<span class="ruby-keyword">end</span></pre>
|
487
|
+
</div><!-- insert_before_next-source -->
|
488
|
+
|
489
|
+
</div>
|
490
|
+
|
491
|
+
|
492
|
+
|
493
|
+
|
494
|
+
</div><!-- insert_before_next-method -->
|
495
|
+
|
496
|
+
|
497
|
+
<div id="position_of-method" class="method-detail ">
|
498
|
+
<a name="method-i-position_of"></a>
|
499
|
+
|
500
|
+
|
501
|
+
<div class="method-heading">
|
502
|
+
<span class="method-name">position_of</span><span
|
503
|
+
class="method-args">(obj)</span>
|
504
|
+
<span class="method-click-advice">click to toggle source</span>
|
505
|
+
</div>
|
506
|
+
|
507
|
+
|
508
|
+
<div class="method-description">
|
509
|
+
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
<div class="method-source-code" id="position_of-source">
|
515
|
+
<pre>
|
516
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 133</span>
|
517
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">obj</span>)
|
518
|
+
<span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">obj</span>]
|
519
|
+
<span class="ruby-keyword">end</span></pre>
|
520
|
+
</div><!-- position_of-source -->
|
521
|
+
|
522
|
+
</div>
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
|
527
|
+
</div><!-- position_of-method -->
|
528
|
+
|
529
|
+
|
530
|
+
<div id="remove-method" class="method-detail ">
|
531
|
+
<a name="method-i-remove"></a>
|
532
|
+
|
533
|
+
|
534
|
+
<div class="method-heading">
|
535
|
+
<span class="method-name">remove</span><span
|
536
|
+
class="method-args">(obj)</span>
|
537
|
+
<span class="method-click-advice">click to toggle source</span>
|
538
|
+
</div>
|
539
|
+
|
540
|
+
|
541
|
+
<div class="method-description">
|
542
|
+
|
543
|
+
|
544
|
+
|
545
|
+
|
546
|
+
|
547
|
+
<div class="method-source-code" id="remove-source">
|
548
|
+
<pre>
|
549
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 172</span>
|
550
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">obj</span>)
|
551
|
+
<span class="ruby-comment"># cannot remove [] or the @indices_of will be wrong</span>
|
552
|
+
<span class="ruby-comment"># call to #compress to remove the extra []s</span>
|
553
|
+
<span class="ruby-identifier">pos</span> = <span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">obj</span>)
|
554
|
+
|
555
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">pos</span> <span class="ruby-comment"># do nothing if it isn't there'</span>
|
556
|
+
<span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">obj</span>)
|
557
|
+
<span class="ruby-ivar">@indices_of</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">obj</span>)
|
558
|
+
<span class="ruby-keyword">end</span>
|
559
|
+
|
560
|
+
<span class="ruby-keyword">end</span></pre>
|
561
|
+
</div><!-- remove-source -->
|
562
|
+
|
563
|
+
</div>
|
564
|
+
|
565
|
+
|
566
|
+
|
567
|
+
|
568
|
+
</div><!-- remove-method -->
|
569
|
+
|
570
|
+
|
571
|
+
<div id="to_s-method" class="method-detail ">
|
572
|
+
<a name="method-i-to_s"></a>
|
573
|
+
|
574
|
+
|
575
|
+
<div class="method-heading">
|
576
|
+
<span class="method-name">to_s</span><span
|
577
|
+
class="method-args">()</span>
|
578
|
+
<span class="method-click-advice">click to toggle source</span>
|
579
|
+
</div>
|
580
|
+
|
581
|
+
|
582
|
+
<div class="method-description">
|
583
|
+
|
584
|
+
|
585
|
+
|
586
|
+
|
587
|
+
|
588
|
+
<div class="method-source-code" id="to_s-source">
|
589
|
+
<pre>
|
590
|
+
<span class="ruby-comment"># File lib/time_span.rb, line 123</span>
|
591
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
592
|
+
<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
|
593
|
+
<span class="ruby-keyword">end</span></pre>
|
594
|
+
</div><!-- to_s-source -->
|
595
|
+
|
596
|
+
</div>
|
597
|
+
|
598
|
+
|
599
|
+
|
600
|
+
|
601
|
+
</div><!-- to_s-method -->
|
602
|
+
|
603
|
+
|
604
|
+
</div><!-- public-instance-method-details -->
|
605
|
+
|
606
|
+
</div><!-- 5Buntitled-5D -->
|
607
|
+
|
608
|
+
|
609
|
+
</div><!-- documentation -->
|
610
|
+
|
611
|
+
<div id="validator-badges">
|
612
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
613
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
614
|
+
Rdoc Generator</a> 2</small>.</p>
|
615
|
+
</div>
|
616
|
+
|
617
|
+
</body>
|
618
|
+
</html>
|
619
|
+
|