aastdlib 0.0.3

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.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +39 -0
  5. data/Rakefile +6 -0
  6. data/aastdlib.gemspec +37 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/doc/Aastdlib.html +110 -0
  10. data/doc/Array.html +164 -0
  11. data/doc/Dir.html +96 -0
  12. data/doc/Gemfile.html +95 -0
  13. data/doc/Hash.html +197 -0
  14. data/doc/Integer.html +162 -0
  15. data/doc/LICENSE_txt.html +112 -0
  16. data/doc/Object.html +501 -0
  17. data/doc/README_md.html +155 -0
  18. data/doc/Rakefile.html +96 -0
  19. data/doc/String.html +1240 -0
  20. data/doc/Symbol.html +197 -0
  21. data/doc/aastdlib_gemspec.html +127 -0
  22. data/doc/bin/setup.html +96 -0
  23. data/doc/created.rid +19 -0
  24. data/doc/css/fonts.css +167 -0
  25. data/doc/css/rdoc.css +590 -0
  26. data/doc/fonts/Lato-Light.ttf +0 -0
  27. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  28. data/doc/fonts/Lato-Regular.ttf +0 -0
  29. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  30. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  31. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  32. data/doc/images/add.png +0 -0
  33. data/doc/images/arrow_up.png +0 -0
  34. data/doc/images/brick.png +0 -0
  35. data/doc/images/brick_link.png +0 -0
  36. data/doc/images/bug.png +0 -0
  37. data/doc/images/bullet_black.png +0 -0
  38. data/doc/images/bullet_toggle_minus.png +0 -0
  39. data/doc/images/bullet_toggle_plus.png +0 -0
  40. data/doc/images/date.png +0 -0
  41. data/doc/images/delete.png +0 -0
  42. data/doc/images/find.png +0 -0
  43. data/doc/images/loadingAnimation.gif +0 -0
  44. data/doc/images/macFFBgHack.png +0 -0
  45. data/doc/images/package.png +0 -0
  46. data/doc/images/page_green.png +0 -0
  47. data/doc/images/page_white_text.png +0 -0
  48. data/doc/images/page_white_width.png +0 -0
  49. data/doc/images/plugin.png +0 -0
  50. data/doc/images/ruby.png +0 -0
  51. data/doc/images/tag_blue.png +0 -0
  52. data/doc/images/tag_green.png +0 -0
  53. data/doc/images/transparent.png +0 -0
  54. data/doc/images/wrench.png +0 -0
  55. data/doc/images/wrench_orange.png +0 -0
  56. data/doc/images/zoom.png +0 -0
  57. data/doc/index.html +114 -0
  58. data/doc/js/darkfish.js +161 -0
  59. data/doc/js/jquery.js +4 -0
  60. data/doc/js/navigation.js +142 -0
  61. data/doc/js/navigation.js.gz +0 -0
  62. data/doc/js/search.js +109 -0
  63. data/doc/js/search_index.js +1 -0
  64. data/doc/js/search_index.js.gz +0 -0
  65. data/doc/js/searcher.js +229 -0
  66. data/doc/js/searcher.js.gz +0 -0
  67. data/doc/table_of_contents.html +282 -0
  68. data/lib/aastdlib.rb +12 -0
  69. data/lib/aastdlib/array.rb +20 -0
  70. data/lib/aastdlib/file.rb +23 -0
  71. data/lib/aastdlib/hash.rb +22 -0
  72. data/lib/aastdlib/integer.rb +16 -0
  73. data/lib/aastdlib/object.rb +200 -0
  74. data/lib/aastdlib/string.rb +377 -0
  75. data/lib/aastdlib/symbol.rb +19 -0
  76. data/lib/aastdlib/version.rb +3 -0
  77. data/pkg/aastdlib-0.0.0.gem +0 -0
  78. data/pkg/aastdlib-0.0.1.gem +0 -0
  79. data/pkg/aastdlib-0.0.2.gem +0 -0
  80. metadata +179 -0
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>LICENSE - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/jquery.js"></script>
15
+ <script src="./js/darkfish.js"></script>
16
+
17
+ <link href="./css/fonts.css" rel="stylesheet">
18
+ <link href="./css/rdoc.css" rel="stylesheet">
19
+
20
+
21
+
22
+ <body id="top" role="document" class="file">
23
+ <nav role="navigation">
24
+ <div id="project-navigation">
25
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
26
+ <h2>
27
+ <a href="./index.html" rel="home">Home</a>
28
+ </h2>
29
+
30
+ <div id="table-of-contents-navigation">
31
+ <a href="./table_of_contents.html#pages">Pages</a>
32
+ <a href="./table_of_contents.html#classes">Classes</a>
33
+ <a href="./table_of_contents.html#methods">Methods</a>
34
+ </div>
35
+ </div>
36
+
37
+ <div id="search-section" role="search" class="project-section initially-hidden">
38
+ <form action="#" method="get" accept-charset="utf-8">
39
+ <div id="search-field-wrapper">
40
+ <input id="search-field" role="combobox" aria-label="Search"
41
+ aria-autocomplete="list" aria-controls="search-results"
42
+ type="text" name="search" placeholder="Search" spellcheck="false"
43
+ title="Type to search, Up and Down to navigate, Enter to load">
44
+ </div>
45
+
46
+ <ul id="search-results" aria-label="Search Results"
47
+ aria-busy="false" aria-expanded="false"
48
+ aria-atomic="false" class="initially-hidden"></ul>
49
+ </form>
50
+ </div>
51
+
52
+ </div>
53
+
54
+
55
+
56
+ <div id="project-metadata">
57
+ <div id="fileindex-section" class="nav-section">
58
+ <h3>Pages</h3>
59
+
60
+ <ul class="link-list">
61
+
62
+ <li><a href="./Gemfile.html">Gemfile</a>
63
+
64
+ <li><a href="./LICENSE_txt.html">LICENSE</a>
65
+
66
+ <li><a href="./README_md.html">README</a>
67
+
68
+ <li><a href="./Rakefile.html">Rakefile</a>
69
+
70
+ <li><a href="./aastdlib_gemspec.html">aastdlib.gemspec</a>
71
+
72
+ <li><a href="./bin/setup.html">setup</a>
73
+
74
+ </ul>
75
+ </div>
76
+
77
+ </div>
78
+ </nav>
79
+
80
+ <main role="main" aria-label="Page LICENSE.txt">
81
+
82
+ <p>The MIT License (MIT)</p>
83
+
84
+ <p>Copyright © 2017 arch4ngel</p>
85
+
86
+ <p>Permission is hereby granted, free of charge, to any person obtaining a
87
+ copy of this software and associated documentation files (the “Software”),
88
+ to deal in the Software without restriction, including without limitation
89
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
90
+ and/or sell copies of the Software, and to permit persons to whom the
91
+ Software is furnished to do so, subject to the following conditions:</p>
92
+
93
+ <p>The above copyright notice and this permission notice shall be included in
94
+ all copies or substantial portions of the Software.</p>
95
+
96
+ <p>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
97
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
98
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
99
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
100
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
101
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
102
+ DEALINGS IN THE SOFTWARE.</p>
103
+ </main>
104
+
105
+
106
+
107
+ <footer id="validator-badges" role="contentinfo">
108
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
109
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
110
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
111
+ </footer>
112
+
@@ -0,0 +1,501 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Object - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/jquery.js"></script>
15
+ <script src="./js/darkfish.js"></script>
16
+
17
+ <link href="./css/fonts.css" rel="stylesheet">
18
+ <link href="./css/rdoc.css" rel="stylesheet">
19
+
20
+
21
+
22
+ <body id="top" role="document" class="class">
23
+ <nav role="navigation">
24
+ <div id="project-navigation">
25
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
26
+ <h2>
27
+ <a href="./index.html" rel="home">Home</a>
28
+ </h2>
29
+
30
+ <div id="table-of-contents-navigation">
31
+ <a href="./table_of_contents.html#pages">Pages</a>
32
+ <a href="./table_of_contents.html#classes">Classes</a>
33
+ <a href="./table_of_contents.html#methods">Methods</a>
34
+ </div>
35
+ </div>
36
+
37
+ <div id="search-section" role="search" class="project-section initially-hidden">
38
+ <form action="#" method="get" accept-charset="utf-8">
39
+ <div id="search-field-wrapper">
40
+ <input id="search-field" role="combobox" aria-label="Search"
41
+ aria-autocomplete="list" aria-controls="search-results"
42
+ type="text" name="search" placeholder="Search" spellcheck="false"
43
+ title="Type to search, Up and Down to navigate, Enter to load">
44
+ </div>
45
+
46
+ <ul id="search-results" aria-label="Search Results"
47
+ aria-busy="false" aria-expanded="false"
48
+ aria-atomic="false" class="initially-hidden"></ul>
49
+ </form>
50
+ </div>
51
+
52
+ </div>
53
+
54
+
55
+
56
+ <div id="class-metadata">
57
+
58
+ <div id="parent-class-section" class="nav-section">
59
+ <h3>Parent</h3>
60
+
61
+
62
+ <p class="link">BasicObject
63
+
64
+ </div>
65
+
66
+
67
+
68
+ <!-- Method Quickref -->
69
+ <div id="method-list-section" class="nav-section">
70
+ <h3>Methods</h3>
71
+
72
+ <ul class="link-list" role="directory">
73
+
74
+ <li ><a href="#method-i-declare_and_define_ivar">#declare_and_define_ivar</a>
75
+
76
+ <li ><a href="#method-i-define_ivar">#define_ivar</a>
77
+
78
+ <li ><a href="#method-i-instance_variable_table">#instance_variable_table</a>
79
+
80
+ <li ><a href="#method-i-method_table">#method_table</a>
81
+
82
+ <li ><a href="#method-i-pi">#pi</a>
83
+
84
+ <li ><a href="#method-i-pretty_inspect">#pretty_inspect</a>
85
+
86
+ </ul>
87
+ </div>
88
+
89
+ </div>
90
+ </nav>
91
+
92
+ <main role="main" aria-labelledby="class-Object">
93
+ <h1 id="class-Object" class="class">
94
+ class Object
95
+ </h1>
96
+
97
+ <section class="description">
98
+
99
+ </section>
100
+
101
+
102
+
103
+
104
+ <section id="5Buntitled-5D" class="documentation-section">
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
115
+ <header>
116
+ <h3>Public Instance Methods</h3>
117
+ </header>
118
+
119
+
120
+ <div id="method-i-declare_and_define_ivar" class="method-detail ">
121
+
122
+ <div class="method-heading">
123
+ <span class="method-name">declare_and_define_ivar</span><span
124
+ class="method-args">(name:, value:, convenience: true)</span>
125
+
126
+ <span class="method-click-advice">click to toggle source</span>
127
+
128
+ </div>
129
+
130
+
131
+ <div class="method-description">
132
+
133
+ <p>Declare and define an instance variable for a given object. Name is the
134
+ instance variable name and value is the item assigned to that instance
135
+ variable. Convenience determines whether getter/setter methods are defined
136
+ as well.</p>
137
+
138
+
139
+
140
+
141
+ <div class="method-source-code" id="declare_and_define_ivar-source">
142
+ <pre><span class="ruby-comment"># File lib/aastdlib/object.rb, line 7</span>
143
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">declare_and_define_ivar</span>(<span class="ruby-identifier">name</span>,, <span class="ruby-identifier">value</span>,, <span class="ruby-identifier">convenience</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>)
144
+
145
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^@/</span>
146
+
147
+ <span class="ruby-identifier">iv_handle</span> = <span class="ruby-identifier">name</span>
148
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;@&#39;</span>,<span class="ruby-string">&#39;&#39;</span>)
149
+
150
+ <span class="ruby-keyword">else</span>
151
+
152
+ <span class="ruby-identifier">iv_handle</span> = (<span class="ruby-string">&#39;@&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">name</span>)
153
+
154
+ <span class="ruby-keyword">end</span>
155
+
156
+ <span class="ruby-identifier">iv_handle</span> = <span class="ruby-identifier">iv_handle</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">iv_handle</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:to_sym</span>)
157
+
158
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">iv_handle</span>, <span class="ruby-identifier">value</span>)
159
+
160
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">convenience</span>
161
+
162
+ <span class="ruby-comment"># getter</span>
163
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">define_singleton_method</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword">do</span>
164
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">iv_handle</span>)
165
+ <span class="ruby-keyword">end</span>
166
+
167
+ <span class="ruby-comment"># setter</span>
168
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">define_singleton_method</span>(<span class="ruby-identifier">name</span><span class="ruby-operator">+</span><span class="ruby-string">&#39;=&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
169
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">iv_handle</span>, <span class="ruby-identifier">value</span>)
170
+ <span class="ruby-keyword">end</span>
171
+
172
+ <span class="ruby-keyword">end</span>
173
+
174
+ <span class="ruby-keyword">end</span></pre>
175
+ </div>
176
+
177
+ </div>
178
+
179
+
180
+
181
+
182
+ </div>
183
+
184
+
185
+ <div id="method-i-define_ivar" class="method-detail ">
186
+
187
+ <div class="method-heading">
188
+ <span class="method-name">define_ivar</span><span
189
+ class="method-args">(name:, value:, convenience: true)</span>
190
+
191
+ <span class="method-click-advice">click to toggle source</span>
192
+
193
+ </div>
194
+
195
+
196
+ <div class="method-description">
197
+
198
+ <p>Convenience method for <a
199
+ href="Object.html#method-i-declare_and_define_ivar">#declare_and_define_ivar</a>()</p>
200
+
201
+
202
+
203
+
204
+ <div class="method-source-code" id="define_ivar-source">
205
+ <pre><span class="ruby-comment"># File lib/aastdlib/object.rb, line 41</span>
206
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">define_ivar</span>(<span class="ruby-identifier">name</span>,, <span class="ruby-identifier">value</span>,, <span class="ruby-identifier">convenience</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>)
207
+
208
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">declare_and_define_ivar</span>(<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">:</span> <span class="ruby-identifier">value</span>)
209
+
210
+ <span class="ruby-keyword">end</span></pre>
211
+ </div>
212
+
213
+ </div>
214
+
215
+
216
+
217
+
218
+ </div>
219
+
220
+
221
+ <div id="method-i-instance_variable_table" class="method-detail ">
222
+
223
+ <div class="method-heading">
224
+ <span class="method-name">instance_variable_table</span><span
225
+ class="method-args">()</span>
226
+
227
+ <span class="method-click-advice">click to toggle source</span>
228
+
229
+ </div>
230
+
231
+
232
+ <div class="method-description">
233
+
234
+ <p>Using terminal-table, format all instance variables in a visually appealing
235
+ text-based table.</p>
236
+
237
+
238
+
239
+
240
+ <div class="method-source-code" id="instance_variable_table-source">
241
+ <pre><span class="ruby-comment"># File lib/aastdlib/object.rb, line 49</span>
242
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">instance_variable_table</span>()
243
+
244
+ <span class="ruby-identifier">rows</span> = []
245
+ <span class="ruby-identifier">table</span> = <span class="ruby-constant">Terminal</span><span class="ruby-operator">::</span><span class="ruby-constant">Table</span>.<span class="ruby-identifier">new</span>()
246
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">headings</span> = [<span class="ruby-string">&#39;Instance Variable&#39;</span>, <span class="ruby-string">&#39;Object&#39;</span>]
247
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{self.class}: Instance Vairables&quot;</span>
248
+
249
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
250
+
251
+ <span class="ruby-identifier">rows</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">to_s</span>,<span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">iv</span>)]
252
+
253
+ <span class="ruby-keyword">end</span>
254
+
255
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">rows</span> = <span class="ruby-identifier">rows</span>
256
+
257
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">table</span>
258
+
259
+ <span class="ruby-keyword">end</span></pre>
260
+ </div>
261
+
262
+ </div>
263
+
264
+
265
+
266
+
267
+ </div>
268
+
269
+
270
+ <div id="method-i-method_table" class="method-detail ">
271
+
272
+ <div class="method-heading">
273
+ <span class="method-name">method_table</span><span
274
+ class="method-args">(type=nil)</span>
275
+
276
+ <span class="method-click-advice">click to toggle source</span>
277
+
278
+ </div>
279
+
280
+
281
+ <div class="method-description">
282
+
283
+ <p>Using terminal-table, print a visually appealing table detailing methods
284
+ offered by the object. Valid arguments to <em>type</em> include:</p>
285
+ <ul><li>
286
+ <p>private</p>
287
+ </li><li>
288
+ <p>public</p>
289
+ </li><li>
290
+ <p>protected</p>
291
+ </li></ul>
292
+
293
+
294
+
295
+
296
+ <div class="method-source-code" id="method_table-source">
297
+ <pre><span class="ruby-comment"># File lib/aastdlib/object.rb, line 113</span>
298
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_table</span>(<span class="ruby-identifier">type</span>=<span class="ruby-keyword">nil</span>)
299
+
300
+ <span class="ruby-identifier">mlists</span> = {
301
+ <span class="ruby-identifier">methods</span><span class="ruby-operator">:</span> [],
302
+ <span class="ruby-identifier">private</span><span class="ruby-operator">:</span> [],
303
+ <span class="ruby-identifier">protected</span><span class="ruby-operator">:</span> [],
304
+ <span class="ruby-identifier">public</span><span class="ruby-operator">:</span> []
305
+ }
306
+
307
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span>
308
+
309
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
310
+
311
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:private</span>
312
+
313
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">private_methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:private</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>}
314
+
315
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:protected</span>
316
+
317
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">protected_methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:protected</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>}
318
+
319
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:public</span>
320
+
321
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">public_methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:public</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>}
322
+
323
+ <span class="ruby-keyword">end</span>
324
+
325
+ <span class="ruby-keyword">else</span>
326
+
327
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:methods</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>} <span class="ruby-keyword">unless</span> <span class="ruby-identifier">type</span>
328
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">private_methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:private</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>}
329
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">protected_methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:protected</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>}
330
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">public_methods</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-value">:public</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">m</span>}
331
+
332
+ <span class="ruby-keyword">end</span>
333
+
334
+ <span class="ruby-identifier">mlists</span>.<span class="ruby-identifier">delete_if</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">==</span> []}
335
+
336
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">mlists</span>.<span class="ruby-identifier">count</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
337
+
338
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span>
339
+
340
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[+] No methods of #{type} type available!&quot;</span>
341
+
342
+ <span class="ruby-keyword">else</span>
343
+
344
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;[+] No methods available!&quot;</span>
345
+
346
+ <span class="ruby-keyword">end</span>
347
+
348
+ <span class="ruby-keyword">return</span>
349
+
350
+ <span class="ruby-keyword">end</span>
351
+
352
+ <span class="ruby-identifier">lengths</span> = []
353
+ <span class="ruby-identifier">headings</span> = [<span class="ruby-string">&#39;#&#39;</span>]
354
+
355
+ <span class="ruby-identifier">mlists</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
356
+ <span class="ruby-identifier">headings</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;_&#39;</span>,<span class="ruby-string">&#39; &#39;</span>).<span class="ruby-identifier">capitalize</span>
357
+ <span class="ruby-identifier">lengths</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">length</span>
358
+ <span class="ruby-keyword">end</span>
359
+
360
+ <span class="ruby-identifier">max_len</span> = <span class="ruby-identifier">lengths</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">last</span>
361
+
362
+ <span class="ruby-identifier">table</span> = <span class="ruby-constant">Terminal</span><span class="ruby-operator">::</span><span class="ruby-constant">Table</span>.<span class="ruby-identifier">new</span>()
363
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">headings</span> = <span class="ruby-identifier">headings</span>
364
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;Methods: #{self.class}&quot;</span>
365
+
366
+ <span class="ruby-identifier">rows</span> = []
367
+
368
+ <span class="ruby-identifier">max_len</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
369
+
370
+ <span class="ruby-identifier">row</span> = []
371
+
372
+ <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span>
373
+ <span class="ruby-identifier">mlists</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">mlists</span>[<span class="ruby-identifier">k</span>][<span class="ruby-identifier">n</span>] }
374
+
375
+ <span class="ruby-identifier">rows</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">row</span>
376
+
377
+ <span class="ruby-keyword">end</span>
378
+
379
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">rows</span> = <span class="ruby-identifier">rows</span>
380
+
381
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">table</span>
382
+
383
+ <span class="ruby-keyword">end</span></pre>
384
+ </div>
385
+
386
+ </div>
387
+
388
+
389
+
390
+
391
+ </div>
392
+
393
+
394
+ <div id="method-i-pi" class="method-detail ">
395
+
396
+ <div class="method-heading">
397
+ <span class="method-name">pi</span><span
398
+ class="method-args">(obj)</span>
399
+
400
+ <span class="method-click-advice">click to toggle source</span>
401
+
402
+ </div>
403
+
404
+
405
+ <div class="method-description">
406
+
407
+ <p>Pretty inspect and print it to stdout.</p>
408
+
409
+
410
+
411
+
412
+ <div class="method-source-code" id="pi-source">
413
+ <pre><span class="ruby-comment"># File lib/aastdlib/object.rb, line 100</span>
414
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">pi</span>(<span class="ruby-identifier">obj</span>)
415
+
416
+ <span class="ruby-identifier">puts</span>
417
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">pretty_inspect</span>
418
+ <span class="ruby-identifier">puts</span>
419
+
420
+ <span class="ruby-keyword">end</span></pre>
421
+ </div>
422
+
423
+ </div>
424
+
425
+
426
+
427
+
428
+ </div>
429
+
430
+
431
+ <div id="method-i-pretty_inspect" class="method-detail ">
432
+
433
+ <div class="method-heading">
434
+ <span class="method-name">pretty_inspect</span><span
435
+ class="method-args">()</span>
436
+
437
+ <span class="method-click-advice">click to toggle source</span>
438
+
439
+ </div>
440
+
441
+
442
+ <div class="method-description">
443
+
444
+ <p>Inspect the object all pretty like.</p>
445
+
446
+
447
+
448
+
449
+ <div class="method-source-code" id="pretty_inspect-source">
450
+ <pre><span class="ruby-comment"># File lib/aastdlib/object.rb, line 69</span>
451
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">pretty_inspect</span>()
452
+
453
+ <span class="ruby-identifier">tab_count</span> = <span class="ruby-value">0</span>
454
+
455
+ <span class="ruby-identifier">out</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">inspect</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&quot;@&quot;</span>,<span class="ruby-string">&quot;\n\t@&quot;</span>)
456
+ .<span class="ruby-identifier">lines</span>
457
+
458
+ <span class="ruby-identifier">expanded</span> = <span class="ruby-string">&quot;&quot;</span>
459
+
460
+ <span class="ruby-identifier">counter</span> = <span class="ruby-identifier">out</span>.<span class="ruby-identifier">length</span>
461
+ (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">counter</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
462
+
463
+ <span class="ruby-identifier">line</span> = <span class="ruby-identifier">out</span>[<span class="ruby-identifier">n</span>]
464
+
465
+ <span class="ruby-identifier">expanded</span> <span class="ruby-operator">+=</span> (<span class="ruby-string">&quot;\t&quot;</span><span class="ruby-operator">*</span><span class="ruby-identifier">tab_count</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>
466
+
467
+ <span class="ruby-identifier">tab_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/\=\#\&lt;/</span>
468
+
469
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\&gt;\,/</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">tab_count</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
470
+
471
+ <span class="ruby-identifier">tab_count</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
472
+
473
+ <span class="ruby-keyword">end</span>
474
+
475
+ <span class="ruby-keyword">end</span>
476
+
477
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">expanded</span>
478
+
479
+ <span class="ruby-keyword">end</span></pre>
480
+ </div>
481
+
482
+ </div>
483
+
484
+
485
+
486
+
487
+ </div>
488
+
489
+
490
+ </section>
491
+
492
+ </section>
493
+ </main>
494
+
495
+
496
+ <footer id="validator-badges" role="contentinfo">
497
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
498
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
499
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
500
+ </footer>
501
+