time_span 0.0.1.beta.01 → 0.0.2

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.
@@ -1,638 +1,1801 @@
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">
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
3
  <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>
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: TimeSpan::TimeLine
8
+
9
+ &mdash; Documentation by YARD 0.7.5
10
+
11
+ </title>
30
12
 
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&amp;height=550&amp;width=785"
38
- class="thickbox" title="lib/time_span.rb">lib/time_span.rb</a></li>
39
-
40
- </ul>
41
- </div>
42
- </div>
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
43
14
 
44
-
45
- </div>
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
46
16
 
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
-
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
57
21
 
58
-
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
59
23
 
60
-
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (T)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../TimeSpan.html" title="TimeSpan (module)">TimeSpan</a></span></span>
38
+ &raquo;
39
+ <span class="title">TimeLine</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Class: TimeSpan::TimeLine
60
+
61
+
62
+
63
+ </h1>
61
64
 
65
+ <dl class="box">
66
+
67
+ <dt class="r1">Inherits:</dt>
68
+ <dd class="r1">
69
+ <span class="inheritName">Array</span>
62
70
 
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>
71
+ <ul class="fullTree">
72
+ <li>Object</li>
69
73
 
70
- <li><a href="#method-i-append">#append</a></li>
74
+ <li class="next">Array</li>
71
75
 
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>
76
+ <li class="next">TimeSpan::TimeLine</li>
87
77
 
88
78
  </ul>
89
- </div>
79
+ <a href="#" class="inheritanceTree">show all</a>
90
80
 
81
+ </dd>
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ <dt class="r2 last">Defined in:</dt>
92
+ <dd class="r2 last">lib/time_span.rb</dd>
93
+
94
+ </dl>
95
+ <div class="clear"></div>
91
96
 
92
-
93
- </div>
97
+ <h2>Overview</h2><div class="docstring">
98
+ <div class="discussion">
99
+
100
+ <p>class TimeLine
101
+ #</p>
102
+
103
+ <pre class="code ruby"><code> #
104
+ TimeLine is how RelativeTime objects are related to each other, they have to have the same #
105
+ frame of reference. #
106
+ #
107
+ instance methods: #
108
+ #
109
+ to_s -- convenience method to see which object we have #
110
+ position_of(obj) -- its location on the TimeLine #
111
+ increase_after(position, amount) -- make room in the index for an insertion #
112
+ append (obj) -- add obj to end of the TimeLine #
113
+ append_to_next(relative_object, object, relative) at relative offset to relative_object, put obj #
114
+ insert_before_next(relative_object, object, relative) inserts into new time slot relative to relative_object
115
+ insert_at(position, object) -- places object at position, appending if equal time exists #
116
+ remove(obj) -- remove object from the TimeLine #
117
+ compress! -- compresses the TimeLine, removing [] and adjusting the index accordingly #
118
+ #</code></pre>
94
119
 
95
- <div id="project-metadata">
120
+
121
+ </div>
122
+ </div>
123
+ <div class="tags">
124
+
125
+ <h3>Author:</h3>
126
+ <ul class="author">
127
+
128
+ <li>
96
129
 
97
130
 
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
131
 
138
- </div>
139
- </div>
140
-
141
- <div id="documentation">
142
- <h1 class="class">TimeSpan::TimeLine</h1>
143
-
144
- <div id="description" class="description">
145
132
 
146
- <p>class <a href="TimeLine.html">TimeLine</a>
147
- #</p>
133
+
134
+ <div class='inline'>
135
+ <p>Craig A. .Cook</p>
136
+ </div>
137
+
138
+ </li>
139
+
140
+ </ul>
148
141
 
149
- <pre>#</pre>
142
+ </div>
150
143
 
151
- <p><a href="TimeLine.html">TimeLine</a> is how <a
152
- href="RelativeTime.html">RelativeTime</a> objects are related to each
153
- other, they have to have the same #</p>
154
144
 
155
- <pre>frame of reference. #
156
- #</pre>
157
145
 
158
- <p>instance methods:
159
- #</p>
146
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
147
+ <ul class="summary">
148
+
149
+ <li class="public ">
150
+ <span class="summary_signature">
151
+
152
+ <a href="#indices_of-instance_method" title="#indices_of (instance method)">- (Object) <strong>indices_of</strong> </a>
153
+
160
154
 
161
- <pre> #
162
- to_s -- convenience method to see which object we have #
163
- position_of(obj) -- its location on the TimeLine #
164
- increase_after(position, amount) -- make room in the index for an insertion #
165
- append (obj) -- add obj to end of the TimeLine #
166
- append_to_next(relative_object, object, relative) at relative offset to relative_object, put obj #
167
- insert_before_next(relative_object, object, relative) inserts into new time slot relative to relative_object
168
- insert_at(position, object) -- places object at position, appending if equal time exists #
169
- remove(obj) -- remove object from the TimeLine #
170
- compress! -- compresses the TimeLine, removing [] and adjusting the index accordingly #
171
- #</pre>
155
+
156
+ </span>
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
172
166
 
173
- </div><!-- description -->
167
+
168
+ <span class="summary_desc"><div class='inline'>
169
+ <p>Returns the value of attribute indices_of.</p>
170
+ </div></span>
171
+
172
+ </li>
174
173
 
175
174
 
175
+ <li class="public ">
176
+ <span class="summary_signature">
176
177
 
178
+ <a href="#line-instance_method" title="#line (instance method)">- (Object) <strong>line</strong> </a>
177
179
 
178
- <div id="5Buntitled-5D" class="documentation-section">
179
-
180
180
 
181
-
181
+
182
+ </span>
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
182
192
 
183
-
193
+
194
+ <span class="summary_desc"><div class='inline'>
195
+ <p>Returns the value of attribute line.</p>
196
+ </div></span>
197
+
198
+ </li>
184
199
 
185
-
186
- <!-- Attributes -->
187
- <div id="attribute-method-details" class="method-section section">
188
- <h3 class="section-header">Attributes</h3>
200
+
201
+ <li class="public ">
202
+ <span class="summary_signature">
203
+
204
+ <a href="#name-instance_method" title="#name (instance method)">- (Object) <strong>name</strong> </a>
205
+
189
206
 
190
-
191
- <div id="indices_of-attribute-method" class="method-detail">
192
- <a name="indices_of"></a>
193
-
194
- <a name="indices_of="></a>
195
-
196
- <div class="method-heading attribute-method-heading">
197
- <span class="method-name">indices_of</span><span
198
- class="attribute-access-type">[RW]</span>
199
- </div>
207
+
208
+ </span>
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
200
218
 
201
- <div class="method-description">
202
-
203
-
204
-
205
- </div>
206
- </div>
207
-
208
- <div id="line-attribute-method" class="method-detail">
209
- <a name="line"></a>
210
-
211
- <a name="line="></a>
212
-
213
- <div class="method-heading attribute-method-heading">
214
- <span class="method-name">line</span><span
215
- class="attribute-access-type">[RW]</span>
216
- </div>
219
+
220
+ <span class="summary_desc"><div class='inline'>
221
+ <p>Returns the value of attribute name.</p>
222
+ </div></span>
223
+
224
+ </li>
217
225
 
218
- <div class="method-description">
219
-
220
-
221
-
222
- </div>
223
- </div>
224
-
225
- <div id="name-attribute-method" class="method-detail">
226
- <a name="name"></a>
227
-
228
- <a name="name="></a>
229
-
230
- <div class="method-heading attribute-method-heading">
231
- <span class="method-name">name</span><span
232
- class="attribute-access-type">[RW]</span>
233
- </div>
226
+
227
+ <li class="public ">
228
+ <span class="summary_signature">
229
+
230
+ <a href="#spans-instance_method" title="#spans (instance method)">- (Object) <strong>spans</strong> </a>
231
+
234
232
 
235
- <div class="method-description">
236
-
237
-
238
-
239
- </div>
240
- </div>
241
-
242
- </div><!-- attribute-method-details -->
243
-
233
+
234
+ </span>
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
244
 
245
- <!-- Methods -->
246
-
247
- <div id="public-class-method-details" class="method-section section">
248
- <h3 class="section-header">Public Class Methods</h3>
245
+
246
+ <span class="summary_desc"><div class='inline'>
247
+ <p>Returns the value of attribute spans.</p>
248
+ </div></span>
249
+
250
+ </li>
249
251
 
250
-
251
- <div id="new-method" class="method-detail ">
252
- <a name="method-c-new"></a>
252
+
253
+ </ul>
253
254
 
254
-
255
- <div class="method-heading">
256
- <span class="method-name">new</span><span
257
- class="method-args">(name="")</span>
258
- <span class="method-click-advice">click to toggle source</span>
259
- </div>
260
-
261
255
 
262
- <div class="method-description">
263
-
264
-
265
-
266
-
267
-
268
- <div class="method-source-code" id="new-source">
269
- <pre>
270
- <span class="ruby-comment"># File lib/time_span.rb, line 156</span>
271
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>=<span class="ruby-string">&quot;&quot;</span>)
272
- <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
273
- <span class="ruby-ivar">@line</span> = []
274
- <span class="ruby-ivar">@indices_of</span> = {}
275
- <span class="ruby-keyword">end</span></pre>
276
- </div><!-- new-source -->
277
-
278
- </div>
279
256
 
280
-
281
257
 
282
-
283
- </div><!-- new-method -->
258
+
259
+ <h2>
260
+ Instance Method Summary
261
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
262
+ </h2>
284
263
 
264
+ <ul class="summary">
285
265
 
286
- </div><!-- public-class-method-details -->
266
+ <li class="public ">
267
+ <span class="summary_signature">
268
+
269
+ <a href="#all_endpoint_statuses-instance_method" title="#all_endpoint_statuses (instance method)">- (Array) <strong>all_endpoint_statuses</strong> </a>
287
270
 
288
- <div id="public-instance-method-details" class="method-section section">
289
- <h3 class="section-header">Public Instance Methods</h3>
290
-
291
-
292
- <div id="append-method" class="method-detail ">
293
- <a name="method-i-append"></a>
294
-
295
-
296
- <div class="method-heading">
297
- <span class="method-name">append</span><span
298
- class="method-args">(obj)</span>
299
- <span class="method-click-advice">click to toggle source</span>
300
- </div>
301
-
302
-
303
- <div class="method-description">
304
-
305
- <p>add to the end of the <a href="TimeLine.html">TimeLine</a></p>
306
-
307
-
308
-
309
- <div class="method-source-code" id="append-source">
310
- <pre>
311
- <span class="ruby-comment"># File lib/time_span.rb, line 177</span>
312
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">append</span>(<span class="ruby-identifier">obj</span>)
313
- <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>)
314
- <span class="ruby-keyword">end</span></pre>
315
- </div><!-- append-source -->
316
-
317
- </div>
318
271
 
319
-
272
+
273
+ </span>
274
+
275
+
276
+
277
+
278
+
279
+
320
280
 
321
-
322
- </div><!-- append-method -->
281
+
282
+ <span class="summary_desc"><div class='inline'>
283
+ <p>Endpoint statuses for all TimeSpan s on the TimeLine.</p>
284
+ </div></span>
285
+
286
+ </li>
323
287
 
324
288
 
325
- <div id="append_to_next-method" class="method-detail ">
326
- <a name="method-i-append_to_next"></a>
327
-
328
-
329
- <div class="method-heading">
330
- <span class="method-name">append_to_next</span><span
331
- class="method-args">(relative_obj, obj, relative=1)</span>
332
- <span class="method-click-advice">click to toggle source</span>
333
- </div>
334
-
335
-
336
- <div class="method-description">
337
-
338
- <p>inserts to the end of the relative object’s time, becoming equal with it</p>
339
-
340
-
341
-
342
- <div class="method-source-code" id="append_to_next-source">
343
- <pre>
344
- <span class="ruby-comment"># File lib/time_span.rb, line 182</span>
345
- <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>)
346
- <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>)
347
- <span class="ruby-keyword">end</span></pre>
348
- </div><!-- append_to_next-source -->
349
-
350
- </div>
289
+ <li class="public ">
290
+ <span class="summary_signature">
291
+
292
+ <a href="#all_relative_time_statuses-instance_method" title="#all_relative_time_statuses (instance method)">- (Array) <strong>all_relative_time_statuses</strong> </a>
293
+
351
294
 
352
-
295
+
296
+ </span>
297
+
298
+
299
+
300
+
301
+
302
+
353
303
 
354
-
355
- </div><!-- append_to_next-method -->
304
+
305
+ <span class="summary_desc"><div class='inline'>
306
+ <p>all statuses on the TimeLine.</p>
307
+ </div></span>
308
+
309
+ </li>
356
310
 
357
311
 
358
- <div id="compress-21-method" class="method-detail ">
359
- <a name="method-i-compress-21"></a>
360
-
361
-
362
- <div class="method-heading">
363
- <span class="method-name">compress!</span><span
364
- class="method-args">()</span>
365
- <span class="method-click-advice">click to toggle source</span>
366
- </div>
367
-
368
-
369
- <div class="method-description">
370
-
371
- <p>removes all [] elements, and decrements accordingly the @<a
372
- href="TimeLine.html#attribute-i-indices_of">indices_of</a></p>
373
-
374
- <pre>ideally this should be transactional</pre>
375
-
376
-
377
-
378
- <div class="method-source-code" id="compress-21-source">
379
- <pre>
380
- <span class="ruby-comment"># File lib/time_span.rb, line 219</span>
381
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">compress!</span>
382
- <span class="ruby-identifier">mod_level</span> = <span class="ruby-value">0</span>
383
- <span class="ruby-identifier">offsets</span> = []
384
- <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>
385
- <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>
386
- <span class="ruby-identifier">offsets</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">mod_level</span>
387
- <span class="ruby-keyword">end</span>
388
- <span class="ruby-comment">## poor man's transaction. Don't do directly on indices_of so less chance of interruption</span>
389
- <span class="ruby-identifier">indices</span> = <span class="ruby-identifier">indices_of</span>
390
- <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>
391
- <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>]]
392
- <span class="ruby-keyword">end</span>
393
- <span class="ruby-identifier">indices_of</span> = <span class="ruby-identifier">indices</span>
394
- <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">delete</span>([])
395
- <span class="ruby-keyword">end</span></pre>
396
- </div><!-- compress-21-source -->
397
-
398
- </div>
312
+ <li class="public ">
313
+ <span class="summary_signature">
314
+
315
+ <a href="#append-instance_method" title="#append (instance method)">- (Fixnum) <strong>append</strong>(obj) </a>
316
+
399
317
 
400
-
318
+
319
+ </span>
320
+
321
+
322
+
323
+
324
+
325
+
401
326
 
402
-
403
- </div><!-- compress-21-method -->
327
+
328
+ <span class="summary_desc"><div class='inline'>
329
+ <p>add to the end of the TimeLine.</p>
330
+ </div></span>
331
+
332
+ </li>
404
333
 
405
334
 
406
- <div id="increase_after-method" class="method-detail ">
407
- <a name="method-i-increase_after"></a>
408
-
409
-
410
- <div class="method-heading">
411
- <span class="method-name">increase_after</span><span
412
- class="method-args">(pos, by=1)</span>
413
- <span class="method-click-advice">click to toggle source</span>
414
- </div>
415
-
416
-
417
- <div class="method-description">
418
-
419
-
420
-
421
-
422
-
423
- <div class="method-source-code" id="increase_after-source">
424
- <pre>
425
- <span class="ruby-comment"># File lib/time_span.rb, line 168</span>
426
- <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>)
427
- <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>
428
- <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">&gt;=</span> <span class="ruby-identifier">pos</span>)
429
- <span class="ruby-keyword">end</span>
430
- <span class="ruby-keyword">end</span></pre>
431
- </div><!-- increase_after-source -->
432
-
433
- </div>
335
+ <li class="public ">
336
+ <span class="summary_signature">
337
+
338
+ <a href="#append_to_next-instance_method" title="#append_to_next (instance method)">- (Fixnum) <strong>append_to_next</strong>(relative_obj, obj, relative = 1) </a>
339
+
434
340
 
435
-
341
+
342
+ </span>
343
+
344
+
345
+
346
+
347
+
348
+
436
349
 
437
-
438
- </div><!-- increase_after-method -->
350
+
351
+ <span class="summary_desc"><div class='inline'>
352
+ <p>inserts to the end of the relative object's time, becoming equal with it.</p>
353
+ </div></span>
354
+
355
+ </li>
439
356
 
440
357
 
441
- <div id="insert_at-method" class="method-detail ">
442
- <a name="method-i-insert_at"></a>
443
-
444
-
445
- <div class="method-heading">
446
- <span class="method-name">insert_at</span><span
447
- class="method-args">(pos, obj)</span>
448
- <span class="method-click-advice">click to toggle source</span>
449
- </div>
450
-
451
-
452
- <div class="method-description">
453
-
454
- <p>place obj at the numbered position</p>
455
-
456
-
457
-
458
- <div class="method-source-code" id="insert_at-source">
459
- <pre>
460
- <span class="ruby-comment"># File lib/time_span.rb, line 195</span>
461
- <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>)
462
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;can only add a time to its own timeline&quot;</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>
463
- <span class="ruby-keyword">if</span> <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">nil?</span>
464
- <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>] = [<span class="ruby-identifier">obj</span>]
465
- <span class="ruby-keyword">else</span>
466
- <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">'&lt;&lt;'</span> <span class="ruby-operator">:</span> <span class="ruby-string">'='</span>
467
- <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-identifier">uniq!</span> <span class="ruby-comment"># no duplicates in same position</span>
468
- <span class="ruby-comment"># dup in diff position overwrites below</span>
469
- <span class="ruby-keyword">end</span>
470
- <span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">obj</span>] = <span class="ruby-identifier">pos</span>
471
- <span class="ruby-keyword">end</span></pre>
472
- </div><!-- insert_at-source -->
473
-
474
- </div>
358
+ <li class="public ">
359
+ <span class="summary_signature">
360
+
361
+ <a href="#compress%21-instance_method" title="#compress! (instance method)">- (nil) <strong>compress!</strong> </a>
362
+
475
363
 
476
-
364
+
365
+ </span>
366
+
367
+
368
+
369
+
370
+
371
+
477
372
 
478
-
479
- </div><!-- insert_at-method -->
373
+
374
+ <span class="summary_desc"><div class='inline'>
375
+ <p>removes all [] elements, and decrements accordingly the @indices_of.</p>
376
+ </div></span>
377
+
378
+ </li>
480
379
 
481
380
 
482
- <div id="insert_before_next-method" class="method-detail ">
483
- <a name="method-i-insert_before_next"></a>
381
+ <li class="public ">
382
+ <span class="summary_signature">
383
+
384
+ <a href="#increase_after-instance_method" title="#increase_after (instance method)">- (Object) <strong>increase_after</strong>(pos, by = 1) </a>
385
+
484
386
 
485
-
486
- <div class="method-heading">
487
- <span class="method-name">insert_before_next</span><span
488
- class="method-args">(relative_obj, obj, relative_offset=1)</span>
489
- <span class="method-click-advice">click to toggle source</span>
490
- </div>
491
-
387
+
388
+ </span>
389
+
390
+
391
+
392
+
393
+
394
+
492
395
 
493
- <div class="method-description">
494
-
495
- <p>inserts into a new space before the relative object (first parameter)</p>
496
-
497
-
498
-
499
- <div class="method-source-code" id="insert_before_next-source">
500
- <pre>
501
- <span class="ruby-comment"># File lib/time_span.rb, line 187</span>
502
- <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>)
503
- <span class="ruby-identifier">relative_position</span> = <span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">relative_obj</span>)
504
- <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>)
505
- <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>
506
- <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>)
507
- <span class="ruby-keyword">end</span></pre>
508
- </div><!-- insert_before_next-source -->
509
-
510
- </div>
396
+
397
+ <span class="summary_desc"><div class='inline'>
398
+ <p>bump up indices after a point, so that a RelativeTime may be inserted.</p>
399
+ </div></span>
400
+
401
+ </li>
511
402
 
512
-
403
+
404
+ <li class="public ">
405
+ <span class="summary_signature">
406
+
407
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (TimeLine) <strong>initialize</strong>(name = &quot;&quot;) </a>
408
+
513
409
 
514
-
515
- </div><!-- insert_before_next-method -->
410
+
411
+ </span>
412
+
413
+ <span class="note title constructor">constructor</span>
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+ <span class="summary_desc"><div class='inline'>
423
+ <p>A new instance of TimeLine.</p>
424
+ </div></span>
425
+
426
+ </li>
516
427
 
517
428
 
518
- <div id="position_of-method" class="method-detail ">
519
- <a name="method-i-position_of"></a>
429
+ <li class="public ">
430
+ <span class="summary_signature">
431
+
432
+ <a href="#insert_at-instance_method" title="#insert_at (instance method)">- (Fixnum) <strong>insert_at</strong>(pos, obj) </a>
433
+
520
434
 
521
-
522
- <div class="method-heading">
523
- <span class="method-name">position_of</span><span
524
- class="method-args">(obj)</span>
525
- <span class="method-click-advice">click to toggle source</span>
526
- </div>
527
-
435
+
436
+ </span>
437
+
438
+
439
+
440
+
441
+
442
+
528
443
 
529
- <div class="method-description">
530
-
531
- <p>indices methods</p>
532
-
533
-
534
-
535
- <div class="method-source-code" id="position_of-source">
536
- <pre>
537
- <span class="ruby-comment"># File lib/time_span.rb, line 164</span>
538
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">obj</span>)
539
- <span class="ruby-ivar">@indices_of</span>[<span class="ruby-identifier">obj</span>]
540
- <span class="ruby-keyword">end</span></pre>
541
- </div><!-- position_of-source -->
542
-
543
- </div>
444
+
445
+ <span class="summary_desc"><div class='inline'>
446
+ <p>place obj at the numbered position.</p>
447
+ </div></span>
448
+
449
+ </li>
544
450
 
545
-
451
+
452
+ <li class="public ">
453
+ <span class="summary_signature">
454
+
455
+ <a href="#insert_before_next-instance_method" title="#insert_before_next (instance method)">- (Fixnum) <strong>insert_before_next</strong>(relative_obj, obj, relative_offset = 1) </a>
456
+
546
457
 
547
-
548
- </div><!-- position_of-method -->
458
+
459
+ </span>
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+ <span class="summary_desc"><div class='inline'>
469
+ <p>inserts into a new space before the relative object (first parameter)
470
+ inserts obj before relative_obj by offset.</p>
471
+ </div></span>
472
+
473
+ </li>
549
474
 
550
475
 
551
- <div id="remove-method" class="method-detail ">
552
- <a name="method-i-remove"></a>
476
+ <li class="public ">
477
+ <span class="summary_signature">
478
+
479
+ <a href="#inspect-instance_method" title="#inspect (instance method)">- (String) <strong>inspect</strong> </a>
480
+
553
481
 
554
-
555
- <div class="method-heading">
556
- <span class="method-name">remove</span><span
557
- class="method-args">(obj)</span>
558
- <span class="method-click-advice">click to toggle source</span>
559
- </div>
560
-
482
+
483
+ </span>
484
+
485
+
486
+
487
+
488
+
489
+
561
490
 
562
- <div class="method-description">
563
-
564
- <p>cannot remove [] or the @<a
565
- href="TimeLine.html#attribute-i-indices_of">indices_of</a> will be wrong
566
- call compress to remove the extra []s</p>
567
-
568
-
569
-
570
- <div class="method-source-code" id="remove-source">
571
- <pre>
572
- <span class="ruby-comment"># File lib/time_span.rb, line 209</span>
573
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">obj</span>)
574
- <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">position_of</span>(<span class="ruby-identifier">obj</span>)
575
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">pos</span> <span class="ruby-comment"># do nothing if it isn't there'</span>
576
- <span class="ruby-ivar">@line</span>[<span class="ruby-identifier">pos</span>].<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">obj</span>) <span class="ruby-comment"># remove from list</span>
577
- <span class="ruby-ivar">@indices_of</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">obj</span>) <span class="ruby-comment"># remove from index</span>
578
- <span class="ruby-keyword">end</span>
579
- <span class="ruby-keyword">end</span></pre>
580
- </div><!-- remove-source -->
581
-
582
- </div>
491
+
492
+ <span class="summary_desc"><div class='inline'>
493
+ <p>endpoint statuses for all TimeSpans on the TimeLine, plus TimeLine name.</p>
494
+ </div></span>
495
+
496
+ </li>
583
497
 
584
-
498
+
499
+ <li class="public ">
500
+ <span class="summary_signature">
501
+
502
+ <a href="#position_of-instance_method" title="#position_of (instance method)">- (Fixnum) <strong>position_of</strong>(obj) </a>
503
+
585
504
 
586
-
587
- </div><!-- remove-method -->
505
+
506
+ </span>
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+ <span class="summary_desc"><div class='inline'>
516
+ <p>find the position of a RelativeTime on the TimeLine.</p>
517
+ </div></span>
518
+
519
+ </li>
588
520
 
589
521
 
590
- <div id="to_s-method" class="method-detail ">
591
- <a name="method-i-to_s"></a>
522
+ <li class="public ">
523
+ <span class="summary_signature">
524
+
525
+ <a href="#relative_times-instance_method" title="#relative_times (instance method)">- (Array) <strong>relative_times</strong> </a>
526
+
592
527
 
593
-
594
- <div class="method-heading">
595
- <span class="method-name">to_s</span><span
596
- class="method-args">()</span>
597
- <span class="method-click-advice">click to toggle source</span>
598
- </div>
599
-
528
+
529
+ </span>
530
+
531
+
532
+
533
+
534
+
535
+
600
536
 
601
- <div class="method-description">
602
-
603
-
604
-
605
-
606
-
607
- <div class="method-source-code" id="to_s-source">
608
- <pre>
609
- <span class="ruby-comment"># File lib/time_span.rb, line 152</span>
610
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
611
- <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
612
- <span class="ruby-keyword">end</span></pre>
613
- </div><!-- to_s-source -->
614
-
615
- </div>
537
+
538
+ <span class="summary_desc"><div class='inline'>
539
+ <p>attached times only (internal API).</p>
540
+ </div></span>
541
+
542
+ </li>
616
543
 
617
-
544
+
545
+ <li class="public ">
546
+ <span class="summary_signature">
547
+
548
+ <a href="#remove-instance_method" title="#remove (instance method)">- (Object) <strong>remove</strong>(obj) </a>
549
+
618
550
 
619
-
620
- </div><!-- to_s-method -->
551
+
552
+ </span>
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+ <span class="summary_desc"><div class='inline'>
562
+ <p>cannot remove [] or the @indices_of will be wrong call #compress to remove
563
+ the extra []s.</p>
564
+ </div></span>
565
+
566
+ </li>
567
+
568
+
569
+ <li class="public ">
570
+ <span class="summary_signature">
571
+
572
+ <a href="#to_s-instance_method" title="#to_s (instance method)">- (String) <strong>to_s</strong> </a>
573
+
574
+
575
+
576
+ </span>
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+ <span class="summary_desc"><div class='inline'>
586
+ <p>returns the TimeLine's name.</p>
587
+ </div></span>
588
+
589
+ </li>
590
+
591
+
592
+ </ul>
593
+
594
+
595
+
596
+ <div id="constructor_details" class="method_details_list">
597
+ <h2>Constructor Details</h2>
598
+
599
+ <div class="method_details first">
600
+ <p class="signature first" id="initialize-instance_method">
601
+
602
+ - (<tt><span class='object_link'><a href="" title="TimeSpan::TimeLine (class)">TimeLine</a></span></tt>) <strong>initialize</strong>(name = &quot;&quot;)
603
+
604
+
605
+
606
+ </p><div class="docstring">
607
+ <div class="discussion">
608
+
609
+ <p>A new instance of TimeLine</p>
610
+
611
+
612
+ </div>
613
+ </div>
614
+ <div class="tags">
615
+
616
+
617
+ </div><table class="source_code">
618
+ <tr>
619
+ <td>
620
+ <pre class="lines">
621
+
622
+
623
+ 241
624
+ 242
625
+ 243
626
+ 244
627
+ 245
628
+ 246</pre>
629
+ </td>
630
+ <td>
631
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 241</span>
632
+
633
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
634
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
635
+ <span class='ivar'>@line</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
636
+ <span class='ivar'>@indices_of</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
637
+ <span class='ivar'>@spans</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
638
+ <span class='kw'>end</span></pre>
639
+ </td>
640
+ </tr>
641
+ </table>
642
+ </div>
643
+
644
+ </div>
645
+
646
+ <div id="instance_attr_details" class="attr_details">
647
+ <h2>Instance Attribute Details</h2>
648
+
649
+
650
+ <span id="indices_of=-instance_method"></span>
651
+ <span id="indices_of-instance_method"></span>
652
+ <div class="method_details first">
653
+ <p class="signature first" id="indices_of-instance_method">
654
+
655
+ - (<tt>Object</tt>) <strong>indices_of</strong>
656
+
657
+
658
+
659
+ </p><div class="docstring">
660
+ <div class="discussion">
661
+
662
+ <p>Returns the value of attribute indices_of</p>
663
+
664
+
665
+ </div>
666
+ </div>
667
+ <div class="tags">
668
+
669
+
670
+ </div><table class="source_code">
671
+ <tr>
672
+ <td>
673
+ <pre class="lines">
674
+
675
+
676
+ 238
677
+ 239
678
+ 240</pre>
679
+ </td>
680
+ <td>
681
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 238</span>
682
+
683
+ <span class='kw'>def</span> <span class='id identifier rubyid_indices_of'>indices_of</span>
684
+ <span class='ivar'>@indices_of</span>
685
+ <span class='kw'>end</span></pre>
686
+ </td>
687
+ </tr>
688
+ </table>
689
+ </div>
690
+
691
+
692
+ <span id="line=-instance_method"></span>
693
+ <span id="line-instance_method"></span>
694
+ <div class="method_details ">
695
+ <p class="signature " id="line-instance_method">
696
+
697
+ - (<tt>Object</tt>) <strong>line</strong>
698
+
699
+
700
+
701
+ </p><div class="docstring">
702
+ <div class="discussion">
703
+
704
+ <p>Returns the value of attribute line</p>
705
+
706
+
707
+ </div>
708
+ </div>
709
+ <div class="tags">
710
+
711
+
712
+ </div><table class="source_code">
713
+ <tr>
714
+ <td>
715
+ <pre class="lines">
716
+
717
+
718
+ 238
719
+ 239
720
+ 240</pre>
721
+ </td>
722
+ <td>
723
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 238</span>
724
+
725
+ <span class='kw'>def</span> <span class='id identifier rubyid_line'>line</span>
726
+ <span class='ivar'>@line</span>
727
+ <span class='kw'>end</span></pre>
728
+ </td>
729
+ </tr>
730
+ </table>
731
+ </div>
732
+
733
+
734
+ <span id="name=-instance_method"></span>
735
+ <span id="name-instance_method"></span>
736
+ <div class="method_details ">
737
+ <p class="signature " id="name-instance_method">
738
+
739
+ - (<tt>Object</tt>) <strong>name</strong>
740
+
741
+
742
+
743
+ </p><div class="docstring">
744
+ <div class="discussion">
745
+
746
+ <p>Returns the value of attribute name</p>
747
+
748
+
749
+ </div>
750
+ </div>
751
+ <div class="tags">
752
+
753
+
754
+ </div><table class="source_code">
755
+ <tr>
756
+ <td>
757
+ <pre class="lines">
758
+
759
+
760
+ 238
761
+ 239
762
+ 240</pre>
763
+ </td>
764
+ <td>
765
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 238</span>
766
+
767
+ <span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span>
768
+ <span class='ivar'>@name</span>
769
+ <span class='kw'>end</span></pre>
770
+ </td>
771
+ </tr>
772
+ </table>
773
+ </div>
774
+
775
+
776
+ <span id="spans=-instance_method"></span>
777
+ <span id="spans-instance_method"></span>
778
+ <div class="method_details ">
779
+ <p class="signature " id="spans-instance_method">
780
+
781
+ - (<tt>Object</tt>) <strong>spans</strong>
782
+
783
+
784
+
785
+ </p><div class="docstring">
786
+ <div class="discussion">
787
+
788
+ <p>Returns the value of attribute spans</p>
789
+
790
+
791
+ </div>
792
+ </div>
793
+ <div class="tags">
794
+
795
+
796
+ </div><table class="source_code">
797
+ <tr>
798
+ <td>
799
+ <pre class="lines">
800
+
801
+
802
+ 238
803
+ 239
804
+ 240</pre>
805
+ </td>
806
+ <td>
807
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 238</span>
808
+
809
+ <span class='kw'>def</span> <span class='id identifier rubyid_spans'>spans</span>
810
+ <span class='ivar'>@spans</span>
811
+ <span class='kw'>end</span></pre>
812
+ </td>
813
+ </tr>
814
+ </table>
815
+ </div>
816
+
817
+ </div>
818
+
819
+
820
+ <div id="instance_method_details" class="method_details_list">
821
+ <h2>Instance Method Details</h2>
822
+
823
+
824
+ <div class="method_details first">
825
+ <p class="signature first" id="all_endpoint_statuses-instance_method">
826
+
827
+ - (<tt>Array</tt>) <strong>all_endpoint_statuses</strong>
828
+
829
+
830
+
831
+ </p><div class="docstring">
832
+ <div class="discussion">
833
+
834
+ <p>Endpoint statuses for all TimeSpan s on the TimeLine</p>
835
+
836
+
837
+ </div>
838
+ </div>
839
+ <div class="tags">
840
+
841
+ <h3>Returns:</h3>
842
+ <ul class="return">
843
+
844
+ <li>
845
+
846
+
847
+ <span class='type'>(<tt>Array</tt>)</span>
848
+
849
+
850
+
851
+ &mdash;
852
+ <div class='inline'>
853
+ <p>endpoint statuses for all TimeSpan s on the TimeLine</p>
854
+ </div>
855
+
856
+ </li>
857
+
858
+ </ul>
859
+
860
+ </div><table class="source_code">
861
+ <tr>
862
+ <td>
863
+ <pre class="lines">
864
+
865
+
866
+ 261
867
+ 262
868
+ 263</pre>
869
+ </td>
870
+ <td>
871
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 261</span>
872
+
873
+ <span class='kw'>def</span> <span class='id identifier rubyid_all_endpoint_statuses'>all_endpoint_statuses</span>
874
+ <span class='id identifier rubyid_spans'>spans</span><span class='period'>.</span><span class='id identifier rubyid_inject'>inject</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_acc'>acc</span><span class='comma'>,</span> <span class='id identifier rubyid_span'>span</span><span class='op'>|</span> <span class='id identifier rubyid_acc'>acc</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_span'>span</span><span class='period'>.</span><span class='id identifier rubyid_endpoint_statuses'>endpoint_statuses</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
875
+ <span class='kw'>end</span></pre>
876
+ </td>
877
+ </tr>
878
+ </table>
879
+ </div>
880
+
881
+ <div class="method_details ">
882
+ <p class="signature " id="all_relative_time_statuses-instance_method">
883
+
884
+ - (<tt>Array</tt>) <strong>all_relative_time_statuses</strong>
885
+
886
+
887
+
888
+ </p><div class="docstring">
889
+ <div class="discussion">
890
+
891
+ <p>all statuses on the TimeLine</p>
892
+
893
+
894
+ </div>
895
+ </div>
896
+ <div class="tags">
897
+
898
+ <h3>Returns:</h3>
899
+ <ul class="return">
900
+
901
+ <li>
902
+
903
+
904
+ <span class='type'>(<tt>Array</tt>)</span>
905
+
906
+
907
+
908
+ &mdash;
909
+ <div class='inline'>
910
+ <p>statuses for all attached RelativeTime s on the TimeLine</p>
911
+ </div>
912
+
913
+ </li>
914
+
915
+ </ul>
916
+
917
+ </div><table class="source_code">
918
+ <tr>
919
+ <td>
920
+ <pre class="lines">
921
+
922
+
923
+ 273
924
+ 274
925
+ 275</pre>
926
+ </td>
927
+ <td>
928
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 273</span>
929
+
930
+ <span class='kw'>def</span> <span class='id identifier rubyid_all_relative_time_statuses'>all_relative_time_statuses</span>
931
+ <span class='id identifier rubyid_relative_times'>relative_times</span><span class='period'>.</span><span class='id identifier rubyid_inject'>inject</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_acc'>acc</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_acc'>acc</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_reference_to'>reference_to</span> <span class='rbrace'>}</span>
932
+ <span class='kw'>end</span></pre>
933
+ </td>
934
+ </tr>
935
+ </table>
936
+ </div>
937
+
938
+ <div class="method_details ">
939
+ <p class="signature " id="append-instance_method">
940
+
941
+ - (<tt>Fixnum</tt>) <strong>append</strong>(obj)
942
+
943
+
944
+
945
+ </p><div class="docstring">
946
+ <div class="discussion">
947
+
948
+ <p>add to the end of the TimeLine</p>
949
+
950
+
951
+ </div>
952
+ </div>
953
+ <div class="tags">
954
+ <h3>Parameters:</h3>
955
+ <ul class="param">
956
+
957
+ <li>
958
+
959
+ <span class='name'>obj</span>
960
+
961
+
962
+ <span class='type'></span>
963
+
964
+
965
+
966
+ &mdash;
967
+ <div class='inline'>
968
+ <p>object to be inserted into the TimeLine</p>
969
+ </div>
970
+
971
+ </li>
972
+
973
+ </ul>
974
+
975
+ <h3>Returns:</h3>
976
+ <ul class="return">
977
+
978
+ <li>
979
+
980
+
981
+ <span class='type'>(<tt>Fixnum</tt>)</span>
982
+
983
+
984
+
985
+ &mdash;
986
+ <div class='inline'>
987
+ <p>]the (relative) position where the object was inserted</p>
988
+ </div>
989
+
990
+ </li>
991
+
992
+ </ul>
993
+
994
+ </div><table class="source_code">
995
+ <tr>
996
+ <td>
997
+ <pre class="lines">
998
+
999
+
1000
+ 298
1001
+ 299
1002
+ 300</pre>
1003
+ </td>
1004
+ <td>
1005
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 298</span>
1006
+
1007
+ <span class='kw'>def</span> <span class='id identifier rubyid_append'>append</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1008
+ <span class='id identifier rubyid_insert_at'>insert_at</span><span class='lparen'>(</span><span class='ivar'>@line</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1009
+ <span class='kw'>end</span></pre>
1010
+ </td>
1011
+ </tr>
1012
+ </table>
1013
+ </div>
1014
+
1015
+ <div class="method_details ">
1016
+ <p class="signature " id="append_to_next-instance_method">
1017
+
1018
+ - (<tt>Fixnum</tt>) <strong>append_to_next</strong>(relative_obj, obj, relative = 1)
1019
+
1020
+
1021
+
1022
+ </p><div class="docstring">
1023
+ <div class="discussion">
1024
+
1025
+ <p>inserts to the end of the relative object's time, becoming equal with it</p>
1026
+
1027
+
1028
+ </div>
1029
+ </div>
1030
+ <div class="tags">
1031
+ <h3>Parameters:</h3>
1032
+ <ul class="param">
1033
+
1034
+ <li>
1035
+
1036
+ <span class='name'>relative_obj</span>
1037
+
1038
+
1039
+ <span class='type'></span>
1040
+
1041
+
1042
+
1043
+ &mdash;
1044
+ <div class='inline'>
1045
+ <p>object after which to insert obj</p>
1046
+ </div>
1047
+
1048
+ </li>
1049
+
1050
+ <li>
1051
+
1052
+ <span class='name'>obj</span>
1053
+
1054
+
1055
+ <span class='type'></span>
1056
+
1057
+
1058
+
1059
+ &mdash;
1060
+ <div class='inline'>
1061
+ <p>object inserted after relative_object</p>
1062
+ </div>
1063
+
1064
+ </li>
1065
+
1066
+ </ul>
1067
+
1068
+ <h3>Returns:</h3>
1069
+ <ul class="return">
1070
+
1071
+ <li>
1072
+
1073
+
1074
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1075
+
1076
+
1077
+
1078
+ &mdash;
1079
+ <div class='inline'>
1080
+ <p>]the (relative) position where the object was inserted</p>
1081
+ </div>
1082
+
1083
+ </li>
1084
+
1085
+ </ul>
1086
+
1087
+ </div><table class="source_code">
1088
+ <tr>
1089
+ <td>
1090
+ <pre class="lines">
1091
+
1092
+
1093
+ 306
1094
+ 307
1095
+ 308</pre>
1096
+ </td>
1097
+ <td>
1098
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 306</span>
1099
+
1100
+ <span class='kw'>def</span> <span class='id identifier rubyid_append_to_next'>append_to_next</span><span class='lparen'>(</span><span class='id identifier rubyid_relative_obj'>relative_obj</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='comma'>,</span> <span class='id identifier rubyid_relative'>relative</span><span class='op'>=</span><span class='int'>1</span><span class='rparen'>)</span>
1101
+ <span class='id identifier rubyid_insert_at'>insert_at</span><span class='lparen'>(</span><span class='id identifier rubyid_position_of'>position_of</span><span class='lparen'>(</span><span class='id identifier rubyid_relative_obj'>relative_obj</span><span class='rparen'>)</span><span class='op'>+</span><span class='id identifier rubyid_relative'>relative</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1102
+ <span class='kw'>end</span></pre>
1103
+ </td>
1104
+ </tr>
1105
+ </table>
1106
+ </div>
1107
+
1108
+ <div class="method_details ">
1109
+ <p class="signature " id="compress!-instance_method">
1110
+
1111
+ - (<tt>nil</tt>) <strong>compress!</strong>
1112
+
1113
+
1114
+
1115
+ </p><div class="docstring">
1116
+ <div class="discussion">
1117
+
1118
+ <p>removes all [] elements, and decrements accordingly the @indices_of</p>
1119
+
1120
+ <pre class="code ruby"><code><span class='id identifier rubyid_ideally'>ideally</span> <span class='id identifier rubyid_this'>this</span> <span class='id identifier rubyid_should'>should</span> <span class='id identifier rubyid_be'>be</span> <span class='id identifier rubyid_transactional'>transactional</span></code></pre>
1121
+
1122
+
1123
+ </div>
1124
+ </div>
1125
+ <div class="tags">
1126
+
1127
+ <h3>Returns:</h3>
1128
+ <ul class="return">
1129
+
1130
+ <li>
1131
+
1132
+
1133
+ <span class='type'>(<tt>nil</tt>)</span>
1134
+
1135
+
1136
+
1137
+ &mdash;
1138
+ <div class='inline'>
1139
+ <p>cleanup method</p>
1140
+ </div>
1141
+
1142
+ </li>
1143
+
1144
+ </ul>
1145
+
1146
+ </div><table class="source_code">
1147
+ <tr>
1148
+ <td>
1149
+ <pre class="lines">
1150
+
1151
+
1152
+ 353
1153
+ 354
1154
+ 355
1155
+ 356
1156
+ 357
1157
+ 358
1158
+ 359
1159
+ 360
1160
+ 361
1161
+ 362
1162
+ 363
1163
+ 364
1164
+ 365
1165
+ 366
1166
+ 367</pre>
1167
+ </td>
1168
+ <td>
1169
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 353</span>
1170
+
1171
+ <span class='kw'>def</span> <span class='id identifier rubyid_compress!'>compress!</span>
1172
+ <span class='id identifier rubyid_mod_level'>mod_level</span> <span class='op'>=</span> <span class='int'>0</span>
1173
+ <span class='id identifier rubyid_offsets'>offsets</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1174
+ <span class='int'>0</span><span class='period'>.</span><span class='id identifier rubyid_upto'>upto</span><span class='lparen'>(</span><span class='id identifier rubyid_line'>line</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
1175
+ <span class='id identifier rubyid_mod_level'>mod_level</span> <span class='op'>-=</span> <span class='int'>1</span> <span class='kw'>if</span> <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
1176
+ <span class='id identifier rubyid_offsets'>offsets</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_mod_level'>mod_level</span>
1177
+ <span class='kw'>end</span>
1178
+ <span class='comment'>## poor man's transaction. Don't do directly on indices_of so less chance of interruption
1179
+ </span> <span class='id identifier rubyid_indices'>indices</span> <span class='op'>=</span> <span class='id identifier rubyid_indices_of'>indices_of</span>
1180
+ <span class='id identifier rubyid_indices'>indices</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
1181
+ <span class='id identifier rubyid_indices'>indices</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_indices'>indices</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='id identifier rubyid_offsets'>offsets</span><span class='lbracket'>[</span><span class='id identifier rubyid_indices'>indices</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
1182
+ <span class='kw'>end</span>
1183
+ <span class='id identifier rubyid_indices_of'>indices_of</span> <span class='op'>=</span> <span class='id identifier rubyid_indices'>indices</span>
1184
+ <span class='ivar'>@line</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1185
+ <span class='kw'>end</span></pre>
1186
+ </td>
1187
+ </tr>
1188
+ </table>
1189
+ </div>
1190
+
1191
+ <div class="method_details ">
1192
+ <p class="signature " id="increase_after-instance_method">
1193
+
1194
+ - (<tt>Object</tt>) <strong>increase_after</strong>(pos, by = 1)
1195
+
1196
+
1197
+
1198
+ </p><div class="docstring">
1199
+ <div class="discussion">
1200
+
1201
+ <p>bump up indices after a point, so that a RelativeTime may be inserted</p>
1202
+
1203
+
1204
+ </div>
1205
+ </div>
1206
+ <div class="tags">
1207
+
1208
+ <h3>Returns:</h3>
1209
+ <ul class="return">
1210
+
1211
+ <li>
1212
+
1213
+
1214
+ <span class='type'></span>
1215
+
1216
+
1217
+
1218
+
1219
+ <div class='inline'>
1220
+ <p>nil no return value, helper method to keep data structures up to date.</p>
1221
+ </div>
1222
+
1223
+ </li>
1224
+
1225
+ </ul>
1226
+
1227
+ </div><table class="source_code">
1228
+ <tr>
1229
+ <td>
1230
+ <pre class="lines">
1231
+
1232
+
1233
+ 287
1234
+ 288
1235
+ 289
1236
+ 290
1237
+ 291</pre>
1238
+ </td>
1239
+ <td>
1240
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 287</span>
1241
+
1242
+ <span class='kw'>def</span> <span class='id identifier rubyid_increase_after'>increase_after</span><span class='lparen'>(</span><span class='id identifier rubyid_pos'>pos</span><span class='comma'>,</span> <span class='id identifier rubyid_by'>by</span><span class='op'>=</span><span class='int'>1</span><span class='rparen'>)</span>
1243
+ <span class='ivar'>@indices_of</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
1244
+ <span class='ivar'>@indices_of</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='id identifier rubyid_by'>by</span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='ivar'>@indices_of</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>&gt;=</span> <span class='id identifier rubyid_pos'>pos</span><span class='rparen'>)</span>
1245
+ <span class='kw'>end</span>
1246
+ <span class='kw'>end</span></pre>
1247
+ </td>
1248
+ </tr>
1249
+ </table>
1250
+ </div>
1251
+
1252
+ <div class="method_details ">
1253
+ <p class="signature " id="insert_at-instance_method">
1254
+
1255
+ - (<tt>Fixnum</tt>) <strong>insert_at</strong>(pos, obj)
1256
+
1257
+
1258
+
1259
+ </p><div class="docstring">
1260
+ <div class="discussion">
1261
+
1262
+ <p>place obj at the numbered position</p>
1263
+
1264
+
1265
+ </div>
1266
+ </div>
1267
+ <div class="tags">
1268
+ <h3>Parameters:</h3>
1269
+ <ul class="param">
1270
+
1271
+ <li>
1272
+
1273
+ <span class='name'>pos</span>
1274
+
1275
+
1276
+ <span class='type'></span>
1277
+
1278
+
1279
+
1280
+ &mdash;
1281
+ <div class='inline'>
1282
+ <p>where to insert obj in the TimeLIne</p>
1283
+ </div>
1284
+
1285
+ </li>
1286
+
1287
+ <li>
1288
+
1289
+ <span class='name'>obj</span>
1290
+
1291
+
1292
+ <span class='type'></span>
1293
+
1294
+
1295
+
1296
+ &mdash;
1297
+ <div class='inline'>
1298
+ <p>obj inserted into the TimeLIne</p>
1299
+ </div>
1300
+
1301
+ </li>
1302
+
1303
+ </ul>
1304
+
1305
+ <h3>Returns:</h3>
1306
+ <ul class="return">
1307
+
1308
+ <li>
1309
+
1310
+
1311
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1312
+
1313
+
1314
+
1315
+ &mdash;
1316
+ <div class='inline'>
1317
+ <p>]the (relative) position where the object was inserted</p>
1318
+ </div>
1319
+
1320
+ </li>
1321
+
1322
+ </ul>
1323
+ <h3>Raises:</h3>
1324
+ <ul class="raise">
1325
+
1326
+ <li>
1327
+
1328
+
1329
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
1330
+
1331
+
1332
+
1333
+ </li>
1334
+
1335
+ </ul>
1336
+
1337
+ </div><table class="source_code">
1338
+ <tr>
1339
+ <td>
1340
+ <pre class="lines">
1341
+
1342
+
1343
+ 326
1344
+ 327
1345
+ 328
1346
+ 329
1347
+ 330
1348
+ 331
1349
+ 332
1350
+ 333
1351
+ 334
1352
+ 335
1353
+ 336</pre>
1354
+ </td>
1355
+ <td>
1356
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 326</span>
1357
+
1358
+ <span class='kw'>def</span> <span class='id identifier rubyid_insert_at'>insert_at</span><span class='lparen'>(</span><span class='id identifier rubyid_pos'>pos</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1359
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>can only add a time to its own time_line</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_time_line'>time_line</span><span class='period'>.</span><span class='id identifier rubyid_equal?'>equal?</span> <span class='kw'>self</span>
1360
+ <span class='kw'>if</span> <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_pos'>pos</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1361
+ <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_pos'>pos</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_obj'>obj</span><span class='rbracket'>]</span>
1362
+ <span class='kw'>else</span>
1363
+ <span class='id identifier rubyid_op'>op</span> <span class='op'>=</span> <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_pos'>pos</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>&lt;&lt;</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span>
1364
+ <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_pos'>pos</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span> <span class='comment'># no duplicates in same position
1365
+ </span> <span class='comment'># dup in diff position overwrites below
1366
+ </span> <span class='kw'>end</span>
1367
+ <span class='ivar'>@indices_of</span><span class='lbracket'>[</span><span class='id identifier rubyid_obj'>obj</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_pos'>pos</span>
1368
+ <span class='kw'>end</span></pre>
1369
+ </td>
1370
+ </tr>
1371
+ </table>
1372
+ </div>
1373
+
1374
+ <div class="method_details ">
1375
+ <p class="signature " id="insert_before_next-instance_method">
1376
+
1377
+ - (<tt>Fixnum</tt>) <strong>insert_before_next</strong>(relative_obj, obj, relative_offset = 1)
1378
+
1379
+
1380
+
1381
+ </p><div class="docstring">
1382
+ <div class="discussion">
1383
+
1384
+ <p>inserts into a new space before the relative object (first parameter)
1385
+ inserts obj before relative_obj by offset</p>
1386
+
1387
+
1388
+ </div>
1389
+ </div>
1390
+ <div class="tags">
1391
+ <h3>Parameters:</h3>
1392
+ <ul class="param">
1393
+
1394
+ <li>
1395
+
1396
+ <span class='name'>relative_obj</span>
1397
+
1398
+
1399
+ <span class='type'></span>
1400
+
1401
+
1402
+
1403
+ &mdash;
1404
+ <div class='inline'>
1405
+ <p>object for computing position where obj is inserted</p>
1406
+ </div>
1407
+
1408
+ </li>
1409
+
1410
+ <li>
1411
+
1412
+ <span class='name'>the</span>
1413
+
1414
+
1415
+ <span class='type'></span>
1416
+
1417
+
1418
+
1419
+ &mdash;
1420
+ <div class='inline'>
1421
+ <p>inserted object</p>
1422
+ </div>
1423
+
1424
+ </li>
1425
+
1426
+ </ul>
1427
+
1428
+ <h3>Returns:</h3>
1429
+ <ul class="return">
1430
+
1431
+ <li>
1432
+
1433
+
1434
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1435
+
1436
+
1437
+
1438
+ &mdash;
1439
+ <div class='inline'>
1440
+ <p>]the (relative) position where the object was inserted</p>
1441
+ </div>
1442
+
1443
+ </li>
1444
+
1445
+ </ul>
1446
+
1447
+ </div><table class="source_code">
1448
+ <tr>
1449
+ <td>
1450
+ <pre class="lines">
1451
+
1452
+
1453
+ 315
1454
+ 316
1455
+ 317
1456
+ 318
1457
+ 319
1458
+ 320</pre>
1459
+ </td>
1460
+ <td>
1461
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 315</span>
1462
+
1463
+ <span class='kw'>def</span> <span class='id identifier rubyid_insert_before_next'>insert_before_next</span><span class='lparen'>(</span><span class='id identifier rubyid_relative_obj'>relative_obj</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='comma'>,</span> <span class='id identifier rubyid_relative_offset'>relative_offset</span><span class='op'>=</span><span class='int'>1</span><span class='rparen'>)</span>
1464
+ <span class='id identifier rubyid_relative_position'>relative_position</span> <span class='op'>=</span> <span class='id identifier rubyid_position_of'>position_of</span><span class='lparen'>(</span><span class='id identifier rubyid_relative_obj'>relative_obj</span><span class='rparen'>)</span>
1465
+ <span class='id identifier rubyid_increase_after'>increase_after</span><span class='lparen'>(</span><span class='id identifier rubyid_relative_position'>relative_position</span> <span class='op'>+</span> <span class='id identifier rubyid_relative_offset'>relative_offset</span><span class='comma'>,</span> <span class='id identifier rubyid_relative_offset'>relative_offset</span><span class='rparen'>)</span>
1466
+ <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_relative_position'>relative_position</span> <span class='op'>+</span> <span class='id identifier rubyid_relative_offset'>relative_offset</span><span class='comma'>,</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
1467
+ <span class='id identifier rubyid_insert_at'>insert_at</span><span class='lparen'>(</span><span class='id identifier rubyid_relative_position'>relative_position</span><span class='op'>+</span><span class='id identifier rubyid_relative_offset'>relative_offset</span><span class='comma'>,</span> <span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1468
+ <span class='kw'>end</span></pre>
1469
+ </td>
1470
+ </tr>
1471
+ </table>
1472
+ </div>
1473
+
1474
+ <div class="method_details ">
1475
+ <p class="signature " id="inspect-instance_method">
1476
+
1477
+ - (<tt>String</tt>) <strong>inspect</strong>
1478
+
1479
+
1480
+
1481
+ </p><div class="docstring">
1482
+ <div class="discussion">
1483
+
1484
+ <p>endpoint statuses for all TimeSpans on the TimeLine, plus TimeLine name</p>
1485
+
1486
+
1487
+ </div>
1488
+ </div>
1489
+ <div class="tags">
1490
+
1491
+ <h3>Returns:</h3>
1492
+ <ul class="return">
1493
+
1494
+ <li>
1495
+
1496
+
1497
+ <span class='type'>(<tt>String</tt>)</span>
1498
+
1499
+
1500
+
1501
+ &mdash;
1502
+ <div class='inline'>
1503
+ <p>TimeSpan endpoint statuses + TimeLine name</p>
1504
+ </div>
1505
+
1506
+ </li>
1507
+
1508
+ </ul>
1509
+
1510
+ </div><table class="source_code">
1511
+ <tr>
1512
+ <td>
1513
+ <pre class="lines">
1514
+
1515
+
1516
+ 256
1517
+ 257
1518
+ 258</pre>
1519
+ </td>
1520
+ <td>
1521
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 256</span>
1522
+
1523
+ <span class='kw'>def</span> <span class='id identifier rubyid_inspect'>inspect</span>
1524
+ <span class='id identifier rubyid_line'>line</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span> <span class='op'>+</span> <span class='id identifier rubyid_name'>name</span>
1525
+ <span class='kw'>end</span></pre>
1526
+ </td>
1527
+ </tr>
1528
+ </table>
1529
+ </div>
1530
+
1531
+ <div class="method_details ">
1532
+ <p class="signature " id="position_of-instance_method">
1533
+
1534
+ - (<tt>Fixnum</tt>) <strong>position_of</strong>(obj)
1535
+
1536
+
1537
+
1538
+ </p><div class="docstring">
1539
+ <div class="discussion">
1540
+
1541
+ <p>find the position of a RelativeTime on the TimeLine</p>
1542
+
1543
+
1544
+ </div>
1545
+ </div>
1546
+ <div class="tags">
1547
+
1548
+ <h3>Returns:</h3>
1549
+ <ul class="return">
1550
+
1551
+ <li>
1552
+
1553
+
1554
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1555
+
1556
+
1557
+
1558
+ &mdash;
1559
+ <div class='inline'>
1560
+ <p>RelativeTime's position on the TimeLine (self)</p>
1561
+ </div>
1562
+
1563
+ </li>
1564
+
1565
+ </ul>
1566
+
1567
+ </div><table class="source_code">
1568
+ <tr>
1569
+ <td>
1570
+ <pre class="lines">
1571
+
1572
+
1573
+ 281
1574
+ 282
1575
+ 283</pre>
1576
+ </td>
1577
+ <td>
1578
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 281</span>
1579
+
1580
+ <span class='kw'>def</span> <span class='id identifier rubyid_position_of'>position_of</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1581
+ <span class='ivar'>@indices_of</span><span class='lbracket'>[</span><span class='id identifier rubyid_obj'>obj</span><span class='rbracket'>]</span>
1582
+ <span class='kw'>end</span></pre>
1583
+ </td>
1584
+ </tr>
1585
+ </table>
1586
+ </div>
1587
+
1588
+ <div class="method_details ">
1589
+ <p class="signature " id="relative_times-instance_method">
1590
+
1591
+ - (<tt>Array</tt>) <strong>relative_times</strong>
1592
+
1593
+
1594
+
1595
+ </p><div class="docstring">
1596
+ <div class="discussion">
1597
+
1598
+ <p>attached times only (internal API)</p>
621
1599
 
1600
+
1601
+ </div>
1602
+ </div>
1603
+ <div class="tags">
1604
+
1605
+ <h3>Returns:</h3>
1606
+ <ul class="return">
1607
+
1608
+ <li>
1609
+
1610
+
1611
+ <span class='type'>(<tt>Array</tt>)</span>
622
1612
 
623
- </div><!-- public-instance-method-details -->
1613
+
1614
+
1615
+ &mdash;
1616
+ <div class='inline'>
1617
+ <p>indices of keys</p>
1618
+ </div>
1619
+
1620
+ </li>
1621
+
1622
+ </ul>
1623
+
1624
+ </div><table class="source_code">
1625
+ <tr>
1626
+ <td>
1627
+ <pre class="lines">
1628
+
1629
+
1630
+ 267
1631
+ 268
1632
+ 269</pre>
1633
+ </td>
1634
+ <td>
1635
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 267</span>
1636
+
1637
+ <span class='kw'>def</span> <span class='id identifier rubyid_relative_times'>relative_times</span>
1638
+ <span class='id identifier rubyid_indices_of'>indices_of</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span>
1639
+ <span class='kw'>end</span></pre>
1640
+ </td>
1641
+ </tr>
1642
+ </table>
1643
+ </div>
624
1644
 
625
- </div><!-- 5Buntitled-5D -->
1645
+ <div class="method_details ">
1646
+ <p class="signature " id="remove-instance_method">
626
1647
 
1648
+ - (<tt>Object</tt>) <strong>remove</strong>(obj)
1649
+
1650
+
1651
+
1652
+ </p><div class="docstring">
1653
+ <div class="discussion">
1654
+
1655
+ <p>cannot remove [] or the @indices_of will be wrong call #compress to remove
1656
+ the extra []s</p>
627
1657
 
628
- </div><!-- documentation -->
629
1658
 
630
- <div id="validator-badges">
631
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
632
- <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
633
- Rdoc Generator</a> 2</small>.</p>
634
1659
  </div>
1660
+ </div>
1661
+ <div class="tags">
1662
+ <h3>Parameters:</h3>
1663
+ <ul class="param">
1664
+
1665
+ <li>
1666
+
1667
+ <span class='name'>obj</span>
1668
+
1669
+
1670
+ <span class='type'></span>
1671
+
1672
+
1673
+
1674
+ &mdash;
1675
+ <div class='inline'>
1676
+ <p>object to be removed from the TimeLIne</p>
1677
+ </div>
1678
+
1679
+ </li>
1680
+
1681
+ </ul>
1682
+
1683
+ <h3>Returns:</h3>
1684
+ <ul class="return">
1685
+
1686
+ <li>
1687
+
1688
+
1689
+ <span class='type'></span>
1690
+
1691
+
1692
+
1693
+
1694
+ <div class='inline'><dl class="rdoc-list"><dt>]nil|Fixnum</dt>
1695
+ <dd>
1696
+ <p>position of deleted object</p>
1697
+ </dd></dl>
1698
+ </div>
1699
+
1700
+ </li>
1701
+
1702
+ </ul>
1703
+
1704
+ </div><table class="source_code">
1705
+ <tr>
1706
+ <td>
1707
+ <pre class="lines">
1708
+
1709
+
1710
+ 342
1711
+ 343
1712
+ 344
1713
+ 345
1714
+ 346
1715
+ 347
1716
+ 348</pre>
1717
+ </td>
1718
+ <td>
1719
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 342</span>
1720
+
1721
+ <span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1722
+ <span class='id identifier rubyid_pos'>pos</span> <span class='op'>=</span> <span class='id identifier rubyid_position_of'>position_of</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
1723
+ <span class='kw'>if</span> <span class='id identifier rubyid_pos'>pos</span> <span class='comment'># do nothing if it isn't there'
1724
+ </span> <span class='ivar'>@line</span><span class='lbracket'>[</span><span class='id identifier rubyid_pos'>pos</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='comment'># remove from list
1725
+ </span> <span class='ivar'>@indices_of</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='comment'># remove from index
1726
+ </span> <span class='kw'>end</span>
1727
+ <span class='kw'>end</span></pre>
1728
+ </td>
1729
+ </tr>
1730
+ </table>
1731
+ </div>
1732
+
1733
+ <div class="method_details ">
1734
+ <p class="signature " id="to_s-instance_method">
1735
+
1736
+ - (<tt>String</tt>) <strong>to_s</strong>
1737
+
635
1738
 
636
- </body>
637
- </html>
1739
+
1740
+ </p><div class="docstring">
1741
+ <div class="discussion">
1742
+
1743
+ <p>returns the TimeLine's name</p>
638
1744
 
1745
+
1746
+ </div>
1747
+ </div>
1748
+ <div class="tags">
1749
+
1750
+ <h3>Returns:</h3>
1751
+ <ul class="return">
1752
+
1753
+ <li>
1754
+
1755
+
1756
+ <span class='type'>(<tt>String</tt>)</span>
1757
+
1758
+
1759
+
1760
+ &mdash;
1761
+ <div class='inline'>
1762
+ <p>TimeLine's name'</p>
1763
+ </div>
1764
+
1765
+ </li>
1766
+
1767
+ </ul>
1768
+
1769
+ </div><table class="source_code">
1770
+ <tr>
1771
+ <td>
1772
+ <pre class="lines">
1773
+
1774
+
1775
+ 250
1776
+ 251
1777
+ 252</pre>
1778
+ </td>
1779
+ <td>
1780
+ <pre class="code"><span class="info file"># File 'lib/time_span.rb', line 250</span>
1781
+
1782
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
1783
+ <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1784
+ <span class='kw'>end</span></pre>
1785
+ </td>
1786
+ </tr>
1787
+ </table>
1788
+ </div>
1789
+
1790
+ </div>
1791
+
1792
+ </div>
1793
+
1794
+ <div id="footer">
1795
+ Generated on Fri Mar 2 13:34:26 2012 by
1796
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1797
+ 0.7.5 (ruby-1.9.3).
1798
+ </div>
1799
+
1800
+ </body>
1801
+ </html>