xbrlware-ce 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ReleaseNotes.txt +23 -5
- data/doc/classes/Edgar/RSSFeedDownloader.html +2 -2
- data/doc/classes/NSAware.html +135 -0
- data/doc/classes/Xbrlware.html +1 -6
- data/doc/classes/Xbrlware/Context.html +85 -78
- data/doc/classes/Xbrlware/Context/Period.html +49 -49
- data/doc/classes/Xbrlware/Entity.html +49 -49
- data/doc/classes/Xbrlware/Identifier.html +14 -14
- data/doc/classes/Xbrlware/Instance.html +173 -98
- data/doc/classes/Xbrlware/Item.html +62 -25
- data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase.html +41 -3
- data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase/Calculation.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase/Calculation/CalculationArc.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase.html +43 -3
- data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase/Definition.html +2 -2
- data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase/Definition/DefinitionArc.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/LabelLinkbase/Label.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/Linkbase/Link/Arc.html +22 -7
- data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase.html +41 -3
- data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase/Presentation.html +2 -8
- data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase/Presentation/PresentationArc.html +1 -1
- data/doc/classes/Xbrlware/Taxonomy.html +84 -51
- data/doc/classes/Xbrlware/TaxonomyDefintion.html +14 -14
- data/doc/classes/Xbrlware/Unit.html +14 -7
- data/doc/classes/Xbrlware/Unit/Divide.html +7 -7
- data/doc/created.rid +1 -1
- data/doc/files/lib/edgar/edgar_data_downloader_rb.html +1 -1
- data/doc/files/lib/edgar_rb.html +1 -1
- data/doc/files/lib/xbrlware/context_rb.html +1 -1
- data/doc/files/lib/xbrlware/instance_rb.html +1 -1
- data/doc/files/lib/xbrlware/item_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/calculation_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/definition_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/label_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/presentation_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/{report_rb.html → ns_aware_rb.html} +10 -4
- data/doc/files/lib/xbrlware/taxonomy_rb.html +1 -1
- data/doc/files/lib/xbrlware/unit_rb.html +1 -1
- data/doc/files/lib/xbrlware/util_rb.html +1 -1
- data/doc/files/lib/xbrlware/version_rb.html +1 -1
- data/doc/files/lib/xbrlware/xml_parser_rb.html +1 -1
- data/doc/files/lib/xbrlware_rb.html +3 -1
- data/doc/fr_class_index.html +1 -1
- data/doc/fr_file_index.html +1 -1
- data/doc/fr_method_index.html +68 -68
- data/doc/index.html +2 -2
- data/example/callb/calculation_elements.rb +33 -0
- data/example/callb/calculation_elements_to_table.rb +62 -0
- data/example/case_study/cash_analyzer.rb +27 -0
- data/lib/edgar/edgar_data_downloader.rb +6 -6
- data/lib/xbrlware.rb +2 -0
- data/lib/xbrlware/context.rb +2 -0
- data/lib/xbrlware/instance.rb +65 -26
- data/lib/xbrlware/item.rb +34 -26
- data/lib/xbrlware/linkbase/calculation_linkbase.rb +51 -7
- data/lib/xbrlware/linkbase/definition_linkbase.rb +42 -2
- data/lib/xbrlware/linkbase/label_linkbase.rb +1 -0
- data/lib/xbrlware/linkbase/linkbase.rb +19 -9
- data/lib/xbrlware/linkbase/presentation_linkbase.rb +52 -9
- data/lib/xbrlware/ns_aware.rb +5 -0
- data/lib/xbrlware/taxonomy.rb +7 -0
- data/lib/xbrlware/unit.rb +1 -0
- data/lib/xbrlware/version.rb +1 -1
- data/lib/xbrlware/xml_parser.rb +20 -0
- data/test/lib/edgar/edgar_data_downloader_test.rb +1 -1
- data/test/lib/edgar/resources/usgaap.rss.xml +3914 -2599
- data/test/lib/xbrlware/46_item_test.rb +30 -0
- data/test/lib/xbrlware/47_context_test.rb +16 -8
- data/test/lib/xbrlware/48_unit_test.rb +10 -0
- data/test/lib/xbrlware/instance_test.rb +156 -2
- data/test/lib/xbrlware/linkbase/calculation_linkbase_test.rb +5 -5
- data/test/lib/xbrlware/linkbase/definition_linkbase_test.rb +2 -2
- data/test/lib/xbrlware/linkbase/presentation_linkbase_test.rb +0 -1
- data/test/lib/xbrlware/taxonomy_test.rb +28 -0
- data/test/lib/xbrlware/xml_parser_test.rb +81 -0
- data/test/scratchpad/tooltip.html +10 -0
- data/xbrlware-ce.gemspec +2 -0
- metadata +36 -22
- data/Rakefile.rb +0 -124
- data/doc/classes/Xbrlware/Report.html +0 -352
- data/lib/xbrlware/report.rb +0 -277
- data/test/lib/xbrlware/resources/report_test_xbrl_files/cal.xml +0 -219
- data/test/lib/xbrlware/resources/report_test_xbrl_files/def.xml +0 -186
- data/test/lib/xbrlware/resources/report_test_xbrl_files/instance.xml +0 -5822
- data/test/lib/xbrlware/resources/report_test_xbrl_files/lab.xml +0 -782
- data/test/lib/xbrlware/resources/report_test_xbrl_files/pre.xml +0 -485
- data/test/lib/xbrlware/resources/report_test_xbrl_files/report/report_index.html +0 -62
- data/test/lib/xbrlware/resources/report_test_xbrl_files/taxonomy.xsd +0 -178
- data/xbrlware.iml +0 -30
@@ -100,9 +100,10 @@ instance page on xbrlware wiki</a> for more details.
|
|
100
100
|
<h3 class="section-bar">Methods</h3>
|
101
101
|
|
102
102
|
<div class="name-list">
|
103
|
-
<a href="#
|
104
|
-
<a href="#
|
105
|
-
<a href="#
|
103
|
+
<a href="#M000061">balance</a>
|
104
|
+
<a href="#M000060">is_value_numeric?</a>
|
105
|
+
<a href="#M000058">new</a>
|
106
|
+
<a href="#M000059">value</a>
|
106
107
|
</div>
|
107
108
|
</div>
|
108
109
|
|
@@ -110,6 +111,13 @@ instance page on xbrlware wiki</a> for more details.
|
|
110
111
|
|
111
112
|
|
112
113
|
<!-- if includes -->
|
114
|
+
<div id="includes">
|
115
|
+
<h3 class="section-bar">Included Modules</h3>
|
116
|
+
|
117
|
+
<div id="includes-list">
|
118
|
+
<span class="include-name"><a href="../NSAware.html">NSAware</a></span>
|
119
|
+
</div>
|
120
|
+
</div>
|
113
121
|
|
114
122
|
<div id="section">
|
115
123
|
|
@@ -155,6 +163,11 @@ instance page on xbrlware wiki</a> for more details.
|
|
155
163
|
<td class="context-item-value"> [R] </td>
|
156
164
|
<td class="context-item-desc"></td>
|
157
165
|
</tr>
|
166
|
+
<tr class="top-aligned-row context-row">
|
167
|
+
<td class="context-item-name">ins</td>
|
168
|
+
<td class="context-item-value"> [RW] </td>
|
169
|
+
<td class="context-item-desc"></td>
|
170
|
+
</tr>
|
158
171
|
<tr class="top-aligned-row context-row">
|
159
172
|
<td class="context-item-name">name</td>
|
160
173
|
<td class="context-item-value"> [R] </td>
|
@@ -180,26 +193,27 @@ instance page on xbrlware wiki</a> for more details.
|
|
180
193
|
<div id="methods">
|
181
194
|
<h3 class="section-bar">Public Class methods</h3>
|
182
195
|
|
183
|
-
<div id="method-
|
184
|
-
<a name="
|
196
|
+
<div id="method-M000058" class="method-detail">
|
197
|
+
<a name="M000058"></a>
|
185
198
|
|
186
199
|
<div class="method-heading">
|
187
|
-
<a href="#
|
188
|
-
<span class="method-name">new</span><span class="method-args">(name, context, value, unit=nil,precision=nil,decimals=nil, footnotes=nil)</span>
|
200
|
+
<a href="#M000058" class="method-signature">
|
201
|
+
<span class="method-name">new</span><span class="method-args">(instance, name, context, value, unit=nil, precision=nil, decimals=nil, footnotes=nil)</span>
|
189
202
|
</a>
|
190
203
|
</div>
|
191
204
|
|
192
205
|
<div class="method-description">
|
193
206
|
<p>
|
194
|
-
Constructs item <a href="Item.html#
|
207
|
+
Constructs item <a href="Item.html#M000059">value</a> is normalized based
|
195
208
|
on precision and decimals passed as per XBRL specification
|
196
209
|
</p>
|
197
210
|
<p><a class="source-toggle" href="#"
|
198
|
-
onclick="toggleCode('
|
199
|
-
<div class="method-source-code" id="
|
211
|
+
onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
|
212
|
+
<div class="method-source-code" id="M000058-source">
|
200
213
|
<pre>
|
201
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line
|
202
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">context</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">unit</span>=<span class="ruby-keyword kw">nil</span
|
214
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line 33</span>
|
215
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">instance</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">context</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">unit</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">precision</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">decimals</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">footnotes</span>=<span class="ruby-keyword kw">nil</span>)
|
216
|
+
<span class="ruby-ivar">@ins</span>=<span class="ruby-identifier">instance</span>
|
203
217
|
<span class="ruby-ivar">@name</span>=<span class="ruby-identifier">name</span>
|
204
218
|
<span class="ruby-ivar">@context</span> = <span class="ruby-identifier">context</span>
|
205
219
|
<span class="ruby-ivar">@precision</span>=<span class="ruby-identifier">precision</span>
|
@@ -215,21 +229,21 @@ on precision and decimals passed as per XBRL specification
|
|
215
229
|
|
216
230
|
<h3 class="section-bar">Public Instance methods</h3>
|
217
231
|
|
218
|
-
<div id="method-
|
219
|
-
<a name="
|
232
|
+
<div id="method-M000061" class="method-detail">
|
233
|
+
<a name="M000061"></a>
|
220
234
|
|
221
235
|
<div class="method-heading">
|
222
|
-
<a href="#
|
236
|
+
<a href="#M000061" class="method-signature">
|
223
237
|
<span class="method-name">balance</span><span class="method-args">()</span>
|
224
238
|
</a>
|
225
239
|
</div>
|
226
240
|
|
227
241
|
<div class="method-description">
|
228
242
|
<p><a class="source-toggle" href="#"
|
229
|
-
onclick="toggleCode('
|
230
|
-
<div class="method-source-code" id="
|
243
|
+
onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
|
244
|
+
<div class="method-source-code" id="M000061-source">
|
231
245
|
<pre>
|
232
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line
|
246
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line 55</span>
|
233
247
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">balance</span>
|
234
248
|
<span class="ruby-identifier">_balance</span>=<span class="ruby-identifier">meta</span>[<span class="ruby-value str">"xbrli:balance"</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">meta</span>.<span class="ruby-identifier">nil?</span>
|
235
249
|
<span class="ruby-identifier">_balance</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span><span class="ruby-value str">""</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">_balance</span>
|
@@ -239,23 +253,46 @@ on precision and decimals passed as per XBRL specification
|
|
239
253
|
</div>
|
240
254
|
</div>
|
241
255
|
|
242
|
-
<div id="method-
|
243
|
-
<a name="
|
256
|
+
<div id="method-M000060" class="method-detail">
|
257
|
+
<a name="M000060"></a>
|
258
|
+
|
259
|
+
<div class="method-heading">
|
260
|
+
<a href="#M000060" class="method-signature">
|
261
|
+
<span class="method-name">is_value_numeric?</span><span class="method-args">()</span>
|
262
|
+
</a>
|
263
|
+
</div>
|
264
|
+
|
265
|
+
<div class="method-description">
|
266
|
+
<p><a class="source-toggle" href="#"
|
267
|
+
onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
|
268
|
+
<div class="method-source-code" id="M000060-source">
|
269
|
+
<pre>
|
270
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line 49</span>
|
271
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_value_numeric?</span>
|
272
|
+
<span class="ruby-ivar">@value</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@value</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">to_f</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@value</span>
|
273
|
+
<span class="ruby-keyword kw">end</span>
|
274
|
+
</pre>
|
275
|
+
</div>
|
276
|
+
</div>
|
277
|
+
</div>
|
278
|
+
|
279
|
+
<div id="method-M000059" class="method-detail">
|
280
|
+
<a name="M000059"></a>
|
244
281
|
|
245
282
|
<div class="method-heading">
|
246
|
-
<a href="#
|
283
|
+
<a href="#M000059" class="method-signature">
|
247
284
|
<span class="method-name">value</span><span class="method-args">() {|@value| ...}</span>
|
248
285
|
</a>
|
249
286
|
</div>
|
250
287
|
|
251
288
|
<div class="method-description">
|
252
289
|
<p><a class="source-toggle" href="#"
|
253
|
-
onclick="toggleCode('
|
254
|
-
<div class="method-source-code" id="
|
290
|
+
onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
|
291
|
+
<div class="method-source-code" id="M000059-source">
|
255
292
|
<pre>
|
256
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line
|
293
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/item.rb, line 44</span>
|
257
294
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">value</span>
|
258
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@value</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
295
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@value</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
259
296
|
<span class="ruby-ivar">@value</span>
|
260
297
|
<span class="ruby-keyword kw">end</span>
|
261
298
|
</pre>
|
@@ -152,6 +152,7 @@ calculationlinkbase from path.
|
|
152
152
|
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">linkbase_path</span>
|
153
153
|
<span class="ruby-ivar">@instance</span>=<span class="ruby-identifier">instance</span>
|
154
154
|
<span class="ruby-ivar">@label_linkbase</span>=<span class="ruby-identifier">label_linkbase</span>
|
155
|
+
<span class="ruby-ivar">@cal_content_optimized</span>=<span class="ruby-keyword kw">nil</span>
|
155
156
|
<span class="ruby-keyword kw">end</span>
|
156
157
|
</pre>
|
157
158
|
</div>
|
@@ -174,12 +175,49 @@ calculationlinkbase from path.
|
|
174
175
|
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
|
175
176
|
<div class="method-source-code" id="M000021-source">
|
176
177
|
<pre>
|
177
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/calculation_linkbase.rb, line
|
178
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/calculation_linkbase.rb, line 40</span>
|
178
179
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calculation</span>(<span class="ruby-identifier">role</span>=<span class="ruby-keyword kw">nil</span>)
|
179
180
|
<span class="ruby-identifier">calculations</span>=[]
|
180
|
-
<span class="ruby-identifier">calc_content</span>=<span class="ruby-ivar">@linkbase_content</span>[<span class="ruby-value str">"calculationLink"</span>]
|
181
|
-
<span class="ruby-identifier">calc_content</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cal</span><span class="ruby-operator">|</span>
|
182
181
|
|
182
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cal_content_optimized</span>.<span class="ruby-identifier">nil?</span>
|
183
|
+
<span class="ruby-identifier">calc_content</span>=<span class="ruby-ivar">@linkbase_content</span>[<span class="ruby-value str">"calculationLink"</span>]
|
184
|
+
<span class="ruby-ivar">@cal_content_optimized</span> = []
|
185
|
+
<span class="ruby-identifier">calc_content</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cal</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
|
186
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cal</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">cal</span>[<span class="ruby-value str">"calculationArc"</span>].<span class="ruby-identifier">nil?</span>
|
187
|
+
<span class="ruby-identifier">cal</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
188
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:label"</span>]=<span class="ruby-node">"#{e['xlink:label']}_#{index}"</span>
|
189
|
+
<span class="ruby-identifier">e</span>
|
190
|
+
<span class="ruby-keyword kw">end</span>
|
191
|
+
|
192
|
+
<span class="ruby-identifier">cal</span>[<span class="ruby-value str">"calculationArc"</span>].<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
193
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:from"</span>]=<span class="ruby-node">"#{e['xlink:from']}_#{index}"</span>
|
194
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:to"</span>]=<span class="ruby-node">"#{e['xlink:to']}_#{index}"</span>
|
195
|
+
<span class="ruby-identifier">e</span>
|
196
|
+
<span class="ruby-keyword kw">end</span>
|
197
|
+
<span class="ruby-identifier">selected</span>=<span class="ruby-ivar">@cal_content_optimized</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">cal_existing</span><span class="ruby-operator">|</span> <span class="ruby-identifier">cal_existing</span>[<span class="ruby-value str">"xlink:role"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">cal</span>[<span class="ruby-value str">"xlink:role"</span>]}[<span class="ruby-value">0</span>]
|
198
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">selected</span>.<span class="ruby-identifier">nil?</span>
|
199
|
+
<span class="ruby-ivar">@cal_content_optimized</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">cal</span>
|
200
|
+
<span class="ruby-keyword kw">else</span>
|
201
|
+
<span class="ruby-identifier">cal</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">current</span><span class="ruby-operator">|</span>
|
202
|
+
<span class="ruby-identifier">matched_loc</span>=<span class="ruby-keyword kw">nil</span>
|
203
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">existing</span><span class="ruby-operator">|</span>
|
204
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:href"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:href"</span>]
|
205
|
+
<span class="ruby-identifier">matched_loc</span>=<span class="ruby-identifier">current</span>
|
206
|
+
<span class="ruby-identifier">cal</span>[<span class="ruby-value str">"calculationArc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arc</span><span class="ruby-operator">|</span>
|
207
|
+
<span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:from"</span>] = <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:label"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:label"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:from"</span>]
|
208
|
+
<span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:to"</span>] = <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:label"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:label"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:to"</span>]
|
209
|
+
<span class="ruby-keyword kw">end</span>
|
210
|
+
<span class="ruby-keyword kw">break</span>
|
211
|
+
<span class="ruby-keyword kw">end</span>
|
212
|
+
<span class="ruby-keyword kw">end</span>
|
213
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"loc"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">current</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">matched_loc</span>.<span class="ruby-identifier">nil?</span>
|
214
|
+
<span class="ruby-keyword kw">end</span>
|
215
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"calculationArc"</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">cal</span>[<span class="ruby-value str">"calculationArc"</span>]
|
216
|
+
<span class="ruby-keyword kw">end</span>
|
217
|
+
<span class="ruby-keyword kw">end</span>
|
218
|
+
<span class="ruby-keyword kw">end</span>
|
219
|
+
|
220
|
+
<span class="ruby-ivar">@cal_content_optimized</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cal</span><span class="ruby-operator">|</span>
|
183
221
|
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cal</span>[<span class="ruby-value str">"xlink:role"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">role</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">role</span>.<span class="ruby-identifier">nil?</span>
|
184
222
|
|
185
223
|
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cal</span>[<span class="ruby-value str">"calculationArc"</span>].<span class="ruby-identifier">nil?</span>
|
@@ -146,7 +146,7 @@
|
|
146
146
|
onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
|
147
147
|
<div class="method-source-code" id="M000022-source">
|
148
148
|
<pre>
|
149
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/calculation_linkbase.rb, line
|
149
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/calculation_linkbase.rb, line 162</span>
|
150
150
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">entity_details</span>, <span class="ruby-identifier">title</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">href</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">arcs</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">contexts</span>=<span class="ruby-keyword kw">nil</span>)
|
151
151
|
<span class="ruby-keyword kw">super</span>(<span class="ruby-value str">"Calculation"</span>, <span class="ruby-identifier">title</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">arcs</span>)
|
152
152
|
<span class="ruby-ivar">@contexts</span>=<span class="ruby-identifier">contexts</span>
|
@@ -140,7 +140,7 @@
|
|
140
140
|
onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
|
141
141
|
<div class="method-source-code" id="M000023-source">
|
142
142
|
<pre>
|
143
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/calculation_linkbase.rb, line
|
143
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/calculation_linkbase.rb, line 171</span>
|
144
144
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">item_id</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">role</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">order</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">weight</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">priority</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">use</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">label</span>=<span class="ruby-keyword kw">nil</span>)
|
145
145
|
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">item_id</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">order</span>, <span class="ruby-identifier">priority</span>, <span class="ruby-identifier">label</span>
|
146
146
|
<span class="ruby-ivar">@weight</span>=<span class="ruby-identifier">weight</span>.<span class="ruby-identifier">to_i</span>
|
@@ -149,6 +149,7 @@ object
|
|
149
149
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">linkbase_path</span>, <span class="ruby-identifier">label_linkbase</span>=<span class="ruby-keyword kw">nil</span>)
|
150
150
|
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">linkbase_path</span>
|
151
151
|
<span class="ruby-ivar">@label_linkbase</span>=<span class="ruby-identifier">label_linkbase</span>
|
152
|
+
<span class="ruby-ivar">@def_content_optimized</span>=<span class="ruby-keyword kw">nil</span>
|
152
153
|
<span class="ruby-keyword kw">end</span>
|
153
154
|
</pre>
|
154
155
|
</div>
|
@@ -171,12 +172,51 @@ object
|
|
171
172
|
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
172
173
|
<div class="method-source-code" id="M000025-source">
|
173
174
|
<pre>
|
174
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line
|
175
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line 42</span>
|
175
176
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">definition</span>(<span class="ruby-identifier">role</span>=<span class="ruby-keyword kw">nil</span>)
|
176
177
|
|
177
178
|
<span class="ruby-identifier">definitions</span>=[]
|
178
|
-
|
179
|
-
<span class="ruby-
|
179
|
+
|
180
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@def_content_optimized</span>.<span class="ruby-identifier">nil?</span>
|
181
|
+
<span class="ruby-identifier">def_content</span>=<span class="ruby-ivar">@linkbase_content</span>[<span class="ruby-value str">"definitionLink"</span>]
|
182
|
+
|
183
|
+
<span class="ruby-ivar">@def_content_optimized</span> = []
|
184
|
+
<span class="ruby-identifier">def_content</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">_def</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
|
185
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">_def</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">_def</span>[<span class="ruby-value str">"definitionArc"</span>].<span class="ruby-identifier">nil?</span>
|
186
|
+
<span class="ruby-identifier">_def</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
187
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:label"</span>]=<span class="ruby-node">"#{e['xlink:label']}_#{index}"</span>
|
188
|
+
<span class="ruby-identifier">e</span>
|
189
|
+
<span class="ruby-keyword kw">end</span>
|
190
|
+
|
191
|
+
<span class="ruby-identifier">_def</span>[<span class="ruby-value str">"definitionArc"</span>].<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
192
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:from"</span>]=<span class="ruby-node">"#{e['xlink:from']}_#{index}"</span>
|
193
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:to"</span>]=<span class="ruby-node">"#{e['xlink:to']}_#{index}"</span>
|
194
|
+
<span class="ruby-identifier">e</span>
|
195
|
+
<span class="ruby-keyword kw">end</span>
|
196
|
+
<span class="ruby-identifier">selected</span>=<span class="ruby-ivar">@def_content_optimized</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">def_existing</span><span class="ruby-operator">|</span> <span class="ruby-identifier">def_existing</span>[<span class="ruby-value str">"xlink:role"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">_def</span>[<span class="ruby-value str">"xlink:role"</span>]}[<span class="ruby-value">0</span>]
|
197
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">selected</span>.<span class="ruby-identifier">nil?</span>
|
198
|
+
<span class="ruby-ivar">@def_content_optimized</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">_def</span>
|
199
|
+
<span class="ruby-keyword kw">else</span>
|
200
|
+
<span class="ruby-identifier">_def</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">current</span><span class="ruby-operator">|</span>
|
201
|
+
<span class="ruby-identifier">matched_loc</span>=<span class="ruby-keyword kw">nil</span>
|
202
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">existing</span><span class="ruby-operator">|</span>
|
203
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:href"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:href"</span>]
|
204
|
+
<span class="ruby-identifier">matched_loc</span>=<span class="ruby-identifier">current</span>
|
205
|
+
<span class="ruby-identifier">_def</span>[<span class="ruby-value str">"definitionArc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arc</span><span class="ruby-operator">|</span>
|
206
|
+
<span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:from"</span>] = <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:label"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:label"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:from"</span>]
|
207
|
+
<span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:to"</span>] = <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:label"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:label"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:to"</span>]
|
208
|
+
<span class="ruby-keyword kw">end</span>
|
209
|
+
<span class="ruby-keyword kw">break</span>
|
210
|
+
<span class="ruby-keyword kw">end</span>
|
211
|
+
<span class="ruby-keyword kw">end</span>
|
212
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"loc"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">current</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">matched_loc</span>.<span class="ruby-identifier">nil?</span>
|
213
|
+
<span class="ruby-keyword kw">end</span>
|
214
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"definitionArc"</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">_def</span>[<span class="ruby-value str">"definitionArc"</span>]
|
215
|
+
<span class="ruby-keyword kw">end</span>
|
216
|
+
<span class="ruby-keyword kw">end</span>
|
217
|
+
<span class="ruby-keyword kw">end</span>
|
218
|
+
|
219
|
+
<span class="ruby-ivar">@def_content_optimized</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">def_</span><span class="ruby-operator">|</span>
|
180
220
|
|
181
221
|
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">def_</span>[<span class="ruby-value str">"xlink:role"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">role</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">role</span>.<span class="ruby-identifier">nil?</span>
|
182
222
|
|
@@ -142,7 +142,7 @@
|
|
142
142
|
onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
|
143
143
|
<div class="method-source-code" id="M000026-source">
|
144
144
|
<pre>
|
145
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line
|
145
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line 193</span>
|
146
146
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">href</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">primary_items</span>=<span class="ruby-keyword kw">nil</span>)
|
147
147
|
<span class="ruby-keyword kw">super</span>(<span class="ruby-value str">"Definition"</span>, <span class="ruby-identifier">title</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">primary_items</span>)
|
148
148
|
<span class="ruby-ivar">@primary_items</span>=<span class="ruby-identifier">primary_items</span>
|
@@ -168,7 +168,7 @@
|
|
168
168
|
onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
|
169
169
|
<div class="method-source-code" id="M000027-source">
|
170
170
|
<pre>
|
171
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line
|
171
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line 198</span>
|
172
172
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dimension_domain_map</span>
|
173
173
|
<span class="ruby-identifier">dim_dom_map</span>={}
|
174
174
|
<span class="ruby-ivar">@primary_items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">primary_item</span><span class="ruby-operator">|</span>
|
@@ -135,7 +135,7 @@
|
|
135
135
|
onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
|
136
136
|
<div class="method-source-code" id="M000028-source">
|
137
137
|
<pre>
|
138
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line
|
138
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/definition_linkbase.rb, line 217</span>
|
139
139
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">item_id</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">role</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">order</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">priority</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">label</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">ctx_element</span>=<span class="ruby-keyword kw">nil</span>)
|
140
140
|
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">item_id</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">order</span>, <span class="ruby-identifier">priority</span>, <span class="ruby-identifier">label</span>
|
141
141
|
<span class="ruby-ivar">@ctx_element</span>=<span class="ruby-identifier">ctx_element</span>
|
@@ -160,7 +160,7 @@
|
|
160
160
|
onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
|
161
161
|
<div class="method-source-code" id="M000019-source">
|
162
162
|
<pre>
|
163
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/label_linkbase.rb, line
|
163
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/label_linkbase.rb, line 117</span>
|
164
164
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">role</span>, <span class="ruby-identifier">label</span>, <span class="ruby-identifier">lang</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">href</span>=<span class="ruby-keyword kw">nil</span>)
|
165
165
|
<span class="ruby-ivar">@type</span>=<span class="ruby-identifier">type</span>
|
166
166
|
<span class="ruby-ivar">@role</span>=<span class="ruby-identifier">role</span>
|
@@ -124,6 +124,11 @@
|
|
124
124
|
<td class="context-item-value"> [R] </td>
|
125
125
|
<td class="context-item-desc"></td>
|
126
126
|
</tr>
|
127
|
+
<tr class="top-aligned-row context-row">
|
128
|
+
<td class="context-item-name">item_name</td>
|
129
|
+
<td class="context-item-value"> [R] </td>
|
130
|
+
<td class="context-item-desc"></td>
|
131
|
+
</tr>
|
127
132
|
<tr class="top-aligned-row context-row">
|
128
133
|
<td class="context-item-name">items</td>
|
129
134
|
<td class="context-item-value"> [RW] </td>
|
@@ -181,15 +186,25 @@
|
|
181
186
|
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line 139</span>
|
182
187
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">item_id</span>, <span class="ruby-identifier">href</span>, <span class="ruby-identifier">role</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">order</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">priority</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">label</span>=<span class="ruby-keyword kw">nil</span>)
|
183
188
|
<span class="ruby-ivar">@item_id</span>=<span class="ruby-identifier">item_id</span>
|
189
|
+
<span class="ruby-ivar">@item_name</span> = <span class="ruby-ivar">@item_id</span>[<span class="ruby-value">0</span>, (<span class="ruby-ivar">@item_id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">"_"</span>)<span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@item_id</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@item_id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">"_"</span>))]
|
184
190
|
<span class="ruby-ivar">@href</span>=<span class="ruby-identifier">href</span>
|
185
191
|
<span class="ruby-ivar">@role</span>=<span class="ruby-identifier">role</span>
|
186
192
|
<span class="ruby-ivar">@order</span>=<span class="ruby-identifier">order</span>.<span class="ruby-identifier">to_i</span>
|
187
193
|
<span class="ruby-ivar">@priority</span>=<span class="ruby-identifier">priority</span>.<span class="ruby-identifier">to_i</span>
|
188
194
|
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">label</span>.<span class="ruby-identifier">nil?</span>
|
189
|
-
<span class="ruby-
|
190
|
-
|
191
|
-
|
192
|
-
|
195
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">href</span>.<span class="ruby-identifier">nil?</span>
|
196
|
+
<span class="ruby-identifier">dash_index</span>=<span class="ruby-identifier">item_id</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">"_"</span>)
|
197
|
+
<span class="ruby-identifier">dash_index</span>=<span class="ruby-identifier">dash_index</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span><span class="ruby-value">0</span> <span class="ruby-operator">:</span>(<span class="ruby-identifier">dash_index</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>)
|
198
|
+
<span class="ruby-identifier">label</span>=<span class="ruby-identifier">item_id</span>[<span class="ruby-identifier">dash_index</span>, <span class="ruby-identifier">item_id</span>.<span class="ruby-identifier">length</span>]
|
199
|
+
<span class="ruby-keyword kw">else</span>
|
200
|
+
<span class="ruby-identifier">label</span>=<span class="ruby-identifier">href</span>[<span class="ruby-identifier">href</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">"#"</span>)<span class="ruby-operator">+</span><span class="ruby-value">1</span>, <span class="ruby-identifier">href</span>.<span class="ruby-identifier">length</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">href</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">"#"</span>).<span class="ruby-identifier">nil?</span>
|
201
|
+
<span class="ruby-identifier">label</span>=<span class="ruby-identifier">href</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">href</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">"#"</span>).<span class="ruby-identifier">nil?</span>
|
202
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">label</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">"_"</span>).<span class="ruby-identifier">nil?</span>
|
203
|
+
<span class="ruby-identifier">dash_index</span>=<span class="ruby-identifier">label</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">"_"</span>)
|
204
|
+
<span class="ruby-identifier">label</span>=<span class="ruby-identifier">label</span>[<span class="ruby-identifier">dash_index</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>, <span class="ruby-identifier">label</span>.<span class="ruby-identifier">length</span>]
|
205
|
+
<span class="ruby-keyword kw">end</span>
|
206
|
+
<span class="ruby-keyword kw">end</span>
|
207
|
+
<span class="ruby-keyword kw">end</span>
|
193
208
|
<span class="ruby-ivar">@label</span>=<span class="ruby-identifier">label</span>
|
194
209
|
<span class="ruby-ivar">@children</span>=<span class="ruby-constant">Set</span>.<span class="ruby-identifier">new</span>()
|
195
210
|
<span class="ruby-keyword kw">end</span>
|
@@ -214,7 +229,7 @@
|
|
214
229
|
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
215
230
|
<div class="method-source-code" id="M000009-source">
|
216
231
|
<pre>
|
217
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line
|
232
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line 168</span>
|
218
233
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">o</span>)
|
219
234
|
<span class="ruby-identifier">o</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Arc</span>) <span class="ruby-operator">&&</span> <span class="ruby-ivar">@item_id</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">item_id</span>
|
220
235
|
<span class="ruby-keyword kw">end</span>
|
@@ -237,7 +252,7 @@
|
|
237
252
|
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
238
253
|
<div class="method-source-code" id="M000008-source">
|
239
254
|
<pre>
|
240
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line
|
255
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line 164</span>
|
241
256
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_children?</span>
|
242
257
|
<span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">></span><span class="ruby-value">0</span>
|
243
258
|
<span class="ruby-keyword kw">end</span>
|
@@ -260,7 +275,7 @@
|
|
260
275
|
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
261
276
|
<div class="method-source-code" id="M000010-source">
|
262
277
|
<pre>
|
263
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line
|
278
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/linkbase.rb, line 172</span>
|
264
279
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
|
265
280
|
<span class="ruby-ivar">@item_id</span>.<span class="ruby-identifier">hash</span>
|
266
281
|
<span class="ruby-keyword kw">end</span>
|
@@ -157,6 +157,7 @@ path.
|
|
157
157
|
<span class="ruby-ivar">@instance</span>=<span class="ruby-identifier">instance</span>
|
158
158
|
<span class="ruby-ivar">@def_linkbase</span>=<span class="ruby-identifier">def_linkbase</span>
|
159
159
|
<span class="ruby-ivar">@label_linkbase</span>=<span class="ruby-identifier">label_linkbase</span>
|
160
|
+
<span class="ruby-ivar">@pre_content_optimized</span>=<span class="ruby-keyword kw">nil</span>
|
160
161
|
<span class="ruby-keyword kw">end</span>
|
161
162
|
</pre>
|
162
163
|
</div>
|
@@ -179,13 +180,50 @@ path.
|
|
179
180
|
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
180
181
|
<div class="method-source-code" id="M000012-source">
|
181
182
|
<pre>
|
182
|
-
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/presentation_linkbase.rb, line
|
183
|
+
<span class="ruby-comment cmt"># File lib/xbrlware/linkbase/presentation_linkbase.rb, line 45</span>
|
183
184
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">presentation</span>(<span class="ruby-identifier">role</span>=<span class="ruby-keyword kw">nil</span>)
|
184
185
|
<span class="ruby-identifier">presentations</span>=[]
|
185
186
|
|
186
|
-
<span class="ruby-
|
187
|
-
|
187
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pre_content_optimized</span>.<span class="ruby-identifier">nil?</span>
|
188
|
+
<span class="ruby-identifier">pre_content</span>=<span class="ruby-ivar">@linkbase_content</span>[<span class="ruby-value str">"presentationLink"</span>]
|
189
|
+
|
190
|
+
<span class="ruby-ivar">@pre_content_optimized</span> = []
|
191
|
+
<span class="ruby-identifier">pre_content</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pre</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
|
192
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pre</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">pre</span>[<span class="ruby-value str">"presentationArc"</span>].<span class="ruby-identifier">nil?</span>
|
193
|
+
<span class="ruby-identifier">pre</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
194
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:label"</span>]=<span class="ruby-node">"#{e['xlink:label']}_#{index}"</span>
|
195
|
+
<span class="ruby-identifier">e</span>
|
196
|
+
<span class="ruby-keyword kw">end</span>
|
197
|
+
|
198
|
+
<span class="ruby-identifier">pre</span>[<span class="ruby-value str">"presentationArc"</span>].<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
199
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:from"</span>]=<span class="ruby-node">"#{e['xlink:from']}_#{index}"</span>
|
200
|
+
<span class="ruby-identifier">e</span>[<span class="ruby-value str">"xlink:to"</span>]=<span class="ruby-node">"#{e['xlink:to']}_#{index}"</span>
|
201
|
+
<span class="ruby-identifier">e</span>
|
202
|
+
<span class="ruby-keyword kw">end</span>
|
203
|
+
<span class="ruby-identifier">selected</span>=<span class="ruby-ivar">@pre_content_optimized</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">pre_existing</span><span class="ruby-operator">|</span> <span class="ruby-identifier">pre_existing</span>[<span class="ruby-value str">"xlink:role"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">pre</span>[<span class="ruby-value str">"xlink:role"</span>]}[<span class="ruby-value">0</span>]
|
204
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">selected</span>.<span class="ruby-identifier">nil?</span>
|
205
|
+
<span class="ruby-ivar">@pre_content_optimized</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">pre</span>
|
206
|
+
<span class="ruby-keyword kw">else</span>
|
207
|
+
<span class="ruby-identifier">pre</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">current</span><span class="ruby-operator">|</span>
|
208
|
+
<span class="ruby-identifier">matched_loc</span>=<span class="ruby-keyword kw">nil</span>
|
209
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"loc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">existing</span><span class="ruby-operator">|</span>
|
210
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:href"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:href"</span>]
|
211
|
+
<span class="ruby-identifier">matched_loc</span>=<span class="ruby-identifier">current</span>
|
212
|
+
<span class="ruby-identifier">pre</span>[<span class="ruby-value str">"presentationArc"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arc</span><span class="ruby-operator">|</span>
|
213
|
+
<span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:from"</span>] = <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:label"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:label"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:from"</span>]
|
214
|
+
<span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:to"</span>] = <span class="ruby-identifier">existing</span>[<span class="ruby-value str">"xlink:label"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>[<span class="ruby-value str">"xlink:label"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">arc</span>[<span class="ruby-value str">"xlink:to"</span>]
|
215
|
+
<span class="ruby-keyword kw">end</span>
|
216
|
+
<span class="ruby-keyword kw">break</span>
|
217
|
+
<span class="ruby-keyword kw">end</span>
|
218
|
+
<span class="ruby-keyword kw">end</span>
|
219
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"loc"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">current</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">matched_loc</span>.<span class="ruby-identifier">nil?</span>
|
220
|
+
<span class="ruby-keyword kw">end</span>
|
221
|
+
<span class="ruby-identifier">selected</span>[<span class="ruby-value str">"presentationArc"</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">pre</span>[<span class="ruby-value str">"presentationArc"</span>]
|
222
|
+
<span class="ruby-keyword kw">end</span>
|
223
|
+
<span class="ruby-keyword kw">end</span>
|
224
|
+
<span class="ruby-keyword kw">end</span>
|
188
225
|
|
226
|
+
<span class="ruby-ivar">@pre_content_optimized</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pre</span><span class="ruby-operator">|</span>
|
189
227
|
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">pre</span>[<span class="ruby-value str">"xlink:role"</span>]<span class="ruby-operator">==</span><span class="ruby-identifier">role</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">role</span>.<span class="ruby-identifier">nil?</span>
|
190
228
|
|
191
229
|
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pre</span>[<span class="ruby-value str">"presentationArc"</span>].<span class="ruby-identifier">nil?</span>
|