mack_ruby_core_extensions 0.1.4 → 0.1.5

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 (39) hide show
  1. data/doc/classes/Array.html +465 -0
  2. data/doc/classes/Class.html +233 -0
  3. data/doc/classes/Float.html +148 -0
  4. data/doc/classes/Hash.html +232 -0
  5. data/doc/classes/Kernel.html +184 -0
  6. data/doc/classes/Mack/Utils/Inflector.html +422 -0
  7. data/doc/classes/Math.html +188 -0
  8. data/doc/classes/MethodNotImplemented.html +155 -0
  9. data/doc/classes/Module.html +203 -0
  10. data/doc/classes/NilClass.html +151 -0
  11. data/doc/classes/Object.html +448 -0
  12. data/doc/classes/String.html +977 -0
  13. data/doc/classes/Symbol.html +148 -0
  14. data/doc/created.rid +1 -0
  15. data/doc/files/README.html +151 -0
  16. data/doc/files/lib/extensions/array_rb.html +101 -0
  17. data/doc/files/lib/extensions/class_rb.html +101 -0
  18. data/doc/files/lib/extensions/float_rb.html +101 -0
  19. data/doc/files/lib/extensions/hash_rb.html +108 -0
  20. data/doc/files/lib/extensions/kernel_rb.html +109 -0
  21. data/doc/files/lib/extensions/math_rb.html +101 -0
  22. data/doc/files/lib/extensions/method_not_implemented_rb.html +108 -0
  23. data/doc/files/lib/extensions/module_rb.html +101 -0
  24. data/doc/files/lib/extensions/nil_rb.html +101 -0
  25. data/doc/files/lib/extensions/object_rb.html +101 -0
  26. data/doc/files/lib/extensions/string_rb.html +108 -0
  27. data/doc/files/lib/extensions/symbol_rb.html +101 -0
  28. data/doc/files/lib/mack_ruby_core_extensions_rb.html +101 -0
  29. data/doc/files/lib/utils/inflections_rb.html +101 -0
  30. data/doc/files/lib/utils/inflector_rb.html +108 -0
  31. data/doc/fr_class_index.html +39 -0
  32. data/doc/fr_file_index.html +42 -0
  33. data/doc/fr_method_index.html +96 -0
  34. data/doc/index.html +24 -0
  35. data/doc/rdoc-style.css +208 -0
  36. data/lib/extensions/class.rb +14 -0
  37. data/lib/extensions/object.rb +5 -0
  38. data/test/extensions/class_test.rb +10 -0
  39. metadata +37 -2
@@ -0,0 +1,42 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Files
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Files</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Files</h1>
22
+ <div id="index-entries">
23
+ <a href="files/README.html">README</a><br />
24
+ <a href="files/lib/extensions/array_rb.html">lib/extensions/array.rb</a><br />
25
+ <a href="files/lib/extensions/class_rb.html">lib/extensions/class.rb</a><br />
26
+ <a href="files/lib/extensions/float_rb.html">lib/extensions/float.rb</a><br />
27
+ <a href="files/lib/extensions/hash_rb.html">lib/extensions/hash.rb</a><br />
28
+ <a href="files/lib/extensions/kernel_rb.html">lib/extensions/kernel.rb</a><br />
29
+ <a href="files/lib/extensions/math_rb.html">lib/extensions/math.rb</a><br />
30
+ <a href="files/lib/extensions/method_not_implemented_rb.html">lib/extensions/method_not_implemented.rb</a><br />
31
+ <a href="files/lib/extensions/module_rb.html">lib/extensions/module.rb</a><br />
32
+ <a href="files/lib/extensions/nil_rb.html">lib/extensions/nil.rb</a><br />
33
+ <a href="files/lib/extensions/object_rb.html">lib/extensions/object.rb</a><br />
34
+ <a href="files/lib/extensions/string_rb.html">lib/extensions/string.rb</a><br />
35
+ <a href="files/lib/extensions/symbol_rb.html">lib/extensions/symbol.rb</a><br />
36
+ <a href="files/lib/mack_ruby_core_extensions_rb.html">lib/mack_ruby_core_extensions.rb</a><br />
37
+ <a href="files/lib/utils/inflections_rb.html">lib/utils/inflections.rb</a><br />
38
+ <a href="files/lib/utils/inflector_rb.html">lib/utils/inflector.rb</a><br />
39
+ </div>
40
+ </div>
41
+ </body>
42
+ </html>
@@ -0,0 +1,96 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Methods
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Methods</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Methods</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/Hash.html#M000003">- (Hash)</a><br />
24
+ <a href="classes/String.html#M000035">blank? (String)</a><br />
25
+ <a href="classes/NilClass.html#M000023">blank? (NilClass)</a><br />
26
+ <a href="classes/String.html#M000046">breakify (String)</a><br />
27
+ <a href="classes/String.html#M000047">breakify! (String)</a><br />
28
+ <a href="classes/String.html#M000033">camelcase (String)</a><br />
29
+ <a href="classes/String.html#M000053">capitalize_all_words (String)</a><br />
30
+ <a href="classes/String.html#M000054">capitalize_all_words! (String)</a><br />
31
+ <a href="classes/Class.html#M000021">class_is_a? (Class)</a><br />
32
+ <a href="classes/Object.html#M000024">class_parents (Object)</a><br />
33
+ <a href="classes/String.html#M000034">constantize (String)</a><br />
34
+ <a href="classes/Module.html#M000016">convert_security_of_methods (Module)</a><br />
35
+ <a href="classes/Array.html#M000014">count (Array)</a><br />
36
+ <a href="classes/Array.html#M000006">delete_from_array (Array)</a><br />
37
+ <a href="classes/Array.html#M000007">delete_from_array! (Array)</a><br />
38
+ <a href="classes/String.html#M000042">ends_with? (String)</a><br />
39
+ <a href="classes/String.html#M000048">hexdigest (String)</a><br />
40
+ <a href="classes/String.html#M000049">hexdigest! (String)</a><br />
41
+ <a href="classes/Module.html#M000017">include_safely_into (Module)</a><br />
42
+ <a href="classes/Mack/Utils/Inflector.html#M000065">inflections (Mack::Utils::Inflector)</a><br />
43
+ <a href="classes/Array.html#M000015">invert (Array)</a><br />
44
+ <a href="classes/Mack/Utils/Inflector.html#M000061">irregular (Mack::Utils::Inflector)</a><br />
45
+ <a href="classes/Object.html#M000029">ivar_cache (Object)</a><br />
46
+ <a href="classes/Object.html#M000030">ivar_cache_clear (Object)</a><br />
47
+ <a href="classes/Hash.html#M000002">join (Hash)</a><br />
48
+ <a href="classes/String.html#M000038">linkify (String)</a><br />
49
+ <a href="classes/Math.html#M000068">log2 (Math)</a><br />
50
+ <a href="classes/Math.html#M000070">max (Math)</a><br />
51
+ <a href="classes/String.html#M000039">methodize (String)</a><br />
52
+ <a href="classes/Symbol.html#M000001">methodize (Symbol)</a><br />
53
+ <a href="classes/Math.html#M000069">min (Math)</a><br />
54
+ <a href="classes/Object.html#M000031">namespaces (Object)</a><br />
55
+ <a href="classes/Object.html#M000026">needs_method (Object)</a><br />
56
+ <a href="classes/MethodNotImplemented.html#M000018">new (MethodNotImplemented)</a><br />
57
+ <a href="classes/Class.html#M000020">new_instance_of (Class)</a><br />
58
+ <a href="classes/Class.html#M000022">parents (Class)</a><br />
59
+ <a href="classes/Array.html#M000005">parse_splat_args (Array)</a><br />
60
+ <a href="classes/Array.html#M000010">pick_random (Array)</a><br />
61
+ <a href="classes/Mack/Utils/Inflector.html#M000059">plural (Mack::Utils::Inflector)</a><br />
62
+ <a href="classes/String.html#M000036">plural (String)</a><br />
63
+ <a href="classes/Mack/Utils/Inflector.html#M000064">pluralize (Mack::Utils::Inflector)</a><br />
64
+ <a href="classes/String.html#M000043">pluralize_word (String)</a><br />
65
+ <a href="classes/Kernel.html#M000066">pp_to_s (Kernel)</a><br />
66
+ <a href="classes/Float.html#M000019">prec (Float)</a><br />
67
+ <a href="classes/Array.html#M000011">random_each (Array)</a><br />
68
+ <a href="classes/String.html#M000050">randomize (String)</a><br />
69
+ <a href="classes/Array.html#M000008">randomize (Array)</a><br />
70
+ <a href="classes/Array.html#M000009">randomize! (Array)</a><br />
71
+ <a href="classes/String.html#M000044">remove (String)</a><br />
72
+ <a href="classes/String.html#M000045">remove! (String)</a><br />
73
+ <a href="classes/Kernel.html#M000067">retryable (Kernel)</a><br />
74
+ <a href="classes/Object.html#M000027">running_time (Object)</a><br />
75
+ <a href="classes/Object.html#M000028">send_with_chain (Object)</a><br />
76
+ <a href="classes/String.html#M000037">singular (String)</a><br />
77
+ <a href="classes/Mack/Utils/Inflector.html#M000060">singular (Mack::Utils::Inflector)</a><br />
78
+ <a href="classes/Mack/Utils/Inflector.html#M000063">singularize (Mack::Utils::Inflector)</a><br />
79
+ <a href="classes/String.html#M000055">sql_safe_str (String)</a><br />
80
+ <a href="classes/String.html#M000056">sql_safe_str! (String)</a><br />
81
+ <a href="classes/String.html#M000041">starts_with? (String)</a><br />
82
+ <a href="classes/Array.html#M000012">subset? (Array)</a><br />
83
+ <a href="classes/Array.html#M000013">superset? (Array)</a><br />
84
+ <a href="classes/String.html#M000032">to_instance (String)</a><br />
85
+ <a href="classes/Object.html#M000025">to_param (Object)</a><br />
86
+ <a href="classes/Hash.html#M000004">to_params (Hash)</a><br />
87
+ <a href="classes/String.html#M000051">truncate (String)</a><br />
88
+ <a href="classes/String.html#M000052">truncate! (String)</a><br />
89
+ <a href="classes/Mack/Utils/Inflector.html#M000062">uncountable (Mack::Utils::Inflector)</a><br />
90
+ <a href="classes/String.html#M000040">underscore (String)</a><br />
91
+ <a href="classes/String.html#M000057">uri_escape (String)</a><br />
92
+ <a href="classes/String.html#M000058">uri_unescape (String)</a><br />
93
+ </div>
94
+ </div>
95
+ </body>
96
+ </html>
data/doc/index.html ADDED
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5
+
6
+ <!--
7
+
8
+ Mack Ruby Core Extensions
9
+
10
+ -->
11
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
+ <head>
13
+ <title>Mack Ruby Core Extensions</title>
14
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
15
+ </head>
16
+ <frameset rows="20%, 80%">
17
+ <frameset cols="25%,35%,45%">
18
+ <frame src="fr_file_index.html" title="Files" name="Files" />
19
+ <frame src="fr_class_index.html" name="Classes" />
20
+ <frame src="fr_method_index.html" name="Methods" />
21
+ </frameset>
22
+ <frame src="files/README.html" name="docwin" />
23
+ </frameset>
24
+ </html>
@@ -0,0 +1,208 @@
1
+
2
+ body {
3
+ font-family: Verdana,Arial,Helvetica,sans-serif;
4
+ font-size: 90%;
5
+ margin: 0;
6
+ margin-left: 40px;
7
+ padding: 0;
8
+ background: white;
9
+ }
10
+
11
+ h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
12
+ h1 { font-size: 150%; }
13
+ h2,h3,h4 { margin-top: 1em; }
14
+
15
+ a { background: #eef; color: #039; text-decoration: none; }
16
+ a:hover { background: #039; color: #eef; }
17
+
18
+ /* Override the base stylesheet's Anchor inside a table cell */
19
+ td > a {
20
+ background: transparent;
21
+ color: #039;
22
+ text-decoration: none;
23
+ }
24
+
25
+ /* and inside a section title */
26
+ .section-title > a {
27
+ background: transparent;
28
+ color: #eee;
29
+ text-decoration: none;
30
+ }
31
+
32
+ /* === Structural elements =================================== */
33
+
34
+ div#index {
35
+ margin: 0;
36
+ margin-left: -40px;
37
+ padding: 0;
38
+ font-size: 90%;
39
+ }
40
+
41
+
42
+ div#index a {
43
+ margin-left: 0.7em;
44
+ }
45
+
46
+ div#index .section-bar {
47
+ margin-left: 0px;
48
+ padding-left: 0.7em;
49
+ background: #ccc;
50
+ font-size: small;
51
+ }
52
+
53
+
54
+ div#classHeader, div#fileHeader {
55
+ width: auto;
56
+ color: white;
57
+ padding: 0.5em 1.5em 0.5em 1.5em;
58
+ margin: 0;
59
+ margin-left: -40px;
60
+ border-bottom: 3px solid #006;
61
+ }
62
+
63
+ div#classHeader a, div#fileHeader a {
64
+ background: inherit;
65
+ color: white;
66
+ }
67
+
68
+ div#classHeader td, div#fileHeader td {
69
+ background: inherit;
70
+ color: white;
71
+ }
72
+
73
+
74
+ div#fileHeader {
75
+ background: #057;
76
+ }
77
+
78
+ div#classHeader {
79
+ background: #048;
80
+ }
81
+
82
+
83
+ .class-name-in-header {
84
+ font-size: 180%;
85
+ font-weight: bold;
86
+ }
87
+
88
+
89
+ div#bodyContent {
90
+ padding: 0 1.5em 0 1.5em;
91
+ }
92
+
93
+ div#description {
94
+ padding: 0.5em 1.5em;
95
+ background: #efefef;
96
+ border: 1px dotted #999;
97
+ }
98
+
99
+ div#description h1,h2,h3,h4,h5,h6 {
100
+ color: #125;;
101
+ background: transparent;
102
+ }
103
+
104
+ div#validator-badges {
105
+ text-align: center;
106
+ }
107
+ div#validator-badges img { border: 0; }
108
+
109
+ div#copyright {
110
+ color: #333;
111
+ background: #efefef;
112
+ font: 0.75em sans-serif;
113
+ margin-top: 5em;
114
+ margin-bottom: 0;
115
+ padding: 0.5em 2em;
116
+ }
117
+
118
+
119
+ /* === Classes =================================== */
120
+
121
+ table.header-table {
122
+ color: white;
123
+ font-size: small;
124
+ }
125
+
126
+ .type-note {
127
+ font-size: small;
128
+ color: #DEDEDE;
129
+ }
130
+
131
+ .xxsection-bar {
132
+ background: #eee;
133
+ color: #333;
134
+ padding: 3px;
135
+ }
136
+
137
+ .section-bar {
138
+ color: #333;
139
+ border-bottom: 1px solid #999;
140
+ margin-left: -20px;
141
+ }
142
+
143
+
144
+ .section-title {
145
+ background: #79a;
146
+ color: #eee;
147
+ padding: 3px;
148
+ margin-top: 2em;
149
+ margin-left: -30px;
150
+ border: 1px solid #999;
151
+ }
152
+
153
+ .top-aligned-row { vertical-align: top }
154
+ .bottom-aligned-row { vertical-align: bottom }
155
+
156
+ /* --- Context section classes ----------------------- */
157
+
158
+ .context-row { }
159
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
160
+ .context-item-value { font-size: small; color: #448; }
161
+ .context-item-desc { color: #333; padding-left: 2em; }
162
+
163
+ /* --- Method classes -------------------------- */
164
+ .method-detail {
165
+ background: #efefef;
166
+ padding: 0;
167
+ margin-top: 0.5em;
168
+ margin-bottom: 1em;
169
+ border: 1px dotted #ccc;
170
+ }
171
+ .method-heading {
172
+ color: black;
173
+ background: #ccc;
174
+ border-bottom: 1px solid #666;
175
+ padding: 0.2em 0.5em 0 0.5em;
176
+ }
177
+ .method-signature { color: black; background: inherit; }
178
+ .method-name { font-weight: bold; }
179
+ .method-args { font-style: italic; }
180
+ .method-description { padding: 0 0.5em 0 0.5em; }
181
+
182
+ /* --- Source code sections -------------------- */
183
+
184
+ a.source-toggle { font-size: 90%; }
185
+ div.method-source-code {
186
+ background: #262626;
187
+ color: #ffdead;
188
+ margin: 1em;
189
+ padding: 0.5em;
190
+ border: 1px dashed #999;
191
+ overflow: hidden;
192
+ }
193
+
194
+ div.method-source-code pre { color: #ffdead; overflow: hidden; }
195
+
196
+ /* --- Ruby keyword styles --------------------- */
197
+
198
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
199
+
200
+ .ruby-constant { color: #7fffd4; background: transparent; }
201
+ .ruby-keyword { color: #00ffff; background: transparent; }
202
+ .ruby-ivar { color: #eedd82; background: transparent; }
203
+ .ruby-operator { color: #00ffee; background: transparent; }
204
+ .ruby-identifier { color: #ffdead; background: transparent; }
205
+ .ruby-node { color: #ffa07a; background: transparent; }
206
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
207
+ .ruby-regexp { color: #ffa07a; background: transparent; }
208
+ .ruby-value { color: #7fffd4; background: transparent; }
@@ -20,5 +20,19 @@ class Class
20
20
  return false
21
21
  end
22
22
 
23
+ # Returns an array of the classes parent classes.
24
+ #
25
+ # Examples:
26
+ # Orange.parents # => [Citrus, Fruit, Object]
27
+ # Citrus.parents # => [Fruit, Object]
28
+ # Fruit.parents # => [Object]
29
+ def parents
30
+ ans = [self.superclass]
31
+ until ans.last.superclass.nil?
32
+ ans << ans.last.superclass
33
+ end
34
+ ans
35
+ end
36
+
23
37
  end
24
38
 
@@ -1,5 +1,10 @@
1
1
  class Object
2
2
 
3
+ # See Class parents for more information.
4
+ def class_parents
5
+ self.class.parents
6
+ end
7
+
3
8
  # This method gets called when a parameter is passed into a named route.
4
9
  # This can be overridden in an Object to provlde custom handling of parameters.
5
10
  def to_param
@@ -17,4 +17,14 @@ class ClassTest < Test::Unit::TestCase
17
17
  assert k.is_a?(Animals::Dog)
18
18
  end
19
19
 
20
+ def test_parents
21
+ assert_equal [Citrus, Fruit, Object], Orange.parents
22
+ assert_equal [Fruit, Object], Citrus.parents
23
+ assert_equal [Object], Fruit.parents
24
+
25
+ assert_equal [Citrus, Fruit, Object], Orange.new.class_parents
26
+ assert_equal [Fruit, Object], Citrus.new.class_parents
27
+ assert_equal [Object], Fruit.new.class_parents
28
+ end
29
+
20
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mack_ruby_core_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-03-27 00:00:00 -04:00
12
+ date: 2008-04-02 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -38,6 +38,41 @@ files:
38
38
  - lib/utils/inflections.rb
39
39
  - lib/utils/inflector.rb
40
40
  - README
41
+ - doc/classes/Array.html
42
+ - doc/classes/Class.html
43
+ - doc/classes/Float.html
44
+ - doc/classes/Hash.html
45
+ - doc/classes/Kernel.html
46
+ - doc/classes/Mack/Utils/Inflector.html
47
+ - doc/classes/Math.html
48
+ - doc/classes/MethodNotImplemented.html
49
+ - doc/classes/Module.html
50
+ - doc/classes/NilClass.html
51
+ - doc/classes/Object.html
52
+ - doc/classes/String.html
53
+ - doc/classes/Symbol.html
54
+ - doc/created.rid
55
+ - doc/files/lib/extensions/array_rb.html
56
+ - doc/files/lib/extensions/class_rb.html
57
+ - doc/files/lib/extensions/float_rb.html
58
+ - doc/files/lib/extensions/hash_rb.html
59
+ - doc/files/lib/extensions/kernel_rb.html
60
+ - doc/files/lib/extensions/math_rb.html
61
+ - doc/files/lib/extensions/method_not_implemented_rb.html
62
+ - doc/files/lib/extensions/module_rb.html
63
+ - doc/files/lib/extensions/nil_rb.html
64
+ - doc/files/lib/extensions/object_rb.html
65
+ - doc/files/lib/extensions/string_rb.html
66
+ - doc/files/lib/extensions/symbol_rb.html
67
+ - doc/files/lib/mack_ruby_core_extensions_rb.html
68
+ - doc/files/lib/utils/inflections_rb.html
69
+ - doc/files/lib/utils/inflector_rb.html
70
+ - doc/files/README.html
71
+ - doc/fr_class_index.html
72
+ - doc/fr_file_index.html
73
+ - doc/fr_method_index.html
74
+ - doc/index.html
75
+ - doc/rdoc-style.css
41
76
  has_rdoc: true
42
77
  homepage: http://www.mackframework.com
43
78
  post_install_message: