aastdlib 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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
+