mack_ruby_core_extensions 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/README +3 -0
  2. data/doc/classes/Array.html +465 -0
  3. data/doc/classes/Class.html +181 -0
  4. data/doc/classes/Dir.html +190 -0
  5. data/doc/classes/Float.html +148 -0
  6. data/doc/classes/Hash.html +232 -0
  7. data/doc/classes/Kernel.html +182 -0
  8. data/doc/classes/Mack.html +111 -0
  9. data/doc/classes/Mack/Utils.html +111 -0
  10. data/doc/classes/Mack/Utils/Inflector.html +422 -0
  11. data/doc/classes/Math.html +188 -0
  12. data/doc/classes/MethodNotImplemented.html +155 -0
  13. data/doc/classes/Module.html +203 -0
  14. data/doc/classes/NilClass.html +151 -0
  15. data/doc/classes/Object.html +315 -0
  16. data/doc/classes/String.html +890 -0
  17. data/doc/classes/Symbol.html +148 -0
  18. data/doc/created.rid +1 -0
  19. data/doc/files/README.html +111 -0
  20. data/doc/files/lib/extensions/array_rb.html +101 -0
  21. data/doc/files/lib/extensions/class_rb.html +101 -0
  22. data/doc/files/lib/extensions/dir_rb.html +101 -0
  23. data/doc/files/lib/extensions/float_rb.html +101 -0
  24. data/doc/files/lib/extensions/hash_rb.html +101 -0
  25. data/doc/files/lib/extensions/kernel_rb.html +109 -0
  26. data/doc/files/lib/extensions/logger_rb.html +101 -0
  27. data/doc/files/lib/extensions/math_rb.html +101 -0
  28. data/doc/files/lib/extensions/method_not_implemented_rb.html +108 -0
  29. data/doc/files/lib/extensions/module_rb.html +101 -0
  30. data/doc/files/lib/extensions/nil_rb.html +101 -0
  31. data/doc/files/lib/extensions/object_rb.html +101 -0
  32. data/doc/files/lib/extensions/string_rb.html +108 -0
  33. data/doc/files/lib/extensions/symbol_rb.html +101 -0
  34. data/doc/files/lib/mack_ruby_core_extensions_rb.html +101 -0
  35. data/doc/files/lib/utils/inflections_rb.html +101 -0
  36. data/doc/files/lib/utils/inflector_rb.html +108 -0
  37. data/doc/fr_class_index.html +42 -0
  38. data/doc/fr_file_index.html +44 -0
  39. data/doc/fr_method_index.html +92 -0
  40. data/doc/index.html +24 -0
  41. data/doc/rdoc-style.css +208 -0
  42. data/lib/extensions/array.rb +101 -0
  43. data/lib/extensions/class.rb +19 -0
  44. data/lib/extensions/dir.rb +25 -0
  45. data/lib/extensions/float.rb +5 -0
  46. data/lib/extensions/hash.rb +47 -0
  47. data/lib/extensions/kernel.rb +30 -0
  48. data/lib/extensions/logger.rb +0 -0
  49. data/lib/extensions/math.rb +15 -0
  50. data/lib/extensions/method_not_implemented.rb +12 -0
  51. data/lib/extensions/module.rb +29 -0
  52. data/lib/extensions/nil.rb +8 -0
  53. data/lib/extensions/object.rb +103 -0
  54. data/lib/extensions/string.rb +261 -0
  55. data/lib/extensions/symbol.rb +7 -0
  56. data/lib/mack_ruby_core_extensions.rb +7 -0
  57. data/lib/utils/inflections.rb +62 -0
  58. data/lib/utils/inflector.rb +129 -0
  59. data/test/extensions/array_test.rb +15 -0
  60. data/test/extensions/class_test.rb +28 -0
  61. data/test/extensions/dir_test.rb +15 -0
  62. data/test/extensions/float_test.rb +15 -0
  63. data/test/extensions/hash_test.rb +34 -0
  64. data/test/extensions/kernel_test.rb +15 -0
  65. data/test/extensions/logger_test.rb +15 -0
  66. data/test/extensions/math_test.rb +15 -0
  67. data/test/extensions/method_not_implemented_test.rb +15 -0
  68. data/test/extensions/module_test.rb +57 -0
  69. data/test/extensions/nil_test.rb +15 -0
  70. data/test/extensions/object_test.rb +15 -0
  71. data/test/extensions/string_test.rb +104 -0
  72. data/test/extensions/symbol_test.rb +15 -0
  73. data/test/test_helper.rb +6 -0
  74. data/test/utils/inflection_test.rb +32 -0
  75. metadata +133 -0
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ class NilTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def teardown
9
+ end
10
+
11
+ def test_blank
12
+ assert nil.blank?
13
+ end
14
+
15
+ end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ class ObjectTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def teardown
9
+ end
10
+
11
+ # replace this with tests of your own.
12
+ def test_truth
13
+ assert true
14
+ end
15
+ end
@@ -0,0 +1,104 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ class StringTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def teardown
9
+ end
10
+
11
+ def test_camelcase
12
+ assert_equal "User", "user".camelcase
13
+ assert_equal "MyBlog", "my_blog".camelcase
14
+ assert_equal "My::Blog", "my/blog".camelcase
15
+ end
16
+
17
+ def test_constantize
18
+ assert_equal StringTest, "StringTest".constantize
19
+ end
20
+
21
+ def test_blank
22
+ assert "".blank?
23
+ assert nil.blank?
24
+ end
25
+
26
+ def test_pluralize
27
+ assert_equal "sheep", "sheep".plural
28
+ assert_equal "boats", "boat".plural
29
+ assert_equal "girls", "girl".plural
30
+ assert_equal "armies", "army".plural
31
+ assert_equal "people", "person".plural
32
+ assert_equal "equipment", "equipment".plural
33
+ end
34
+
35
+ def test_singularize
36
+ assert_equal "sheep", "sheep".singular
37
+ assert_equal "boat", "boats".singular
38
+ assert_equal "girl", "girls".singular
39
+ assert_equal "army", "armies".singular
40
+ assert_equal "person", "people".singular
41
+ assert_equal "equipment", "equipment".singular
42
+ end
43
+
44
+ def test_linkify
45
+ x = %{Velit esse molestie "Who's the best musician in the world?":http://www.markbates.com vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam "volutpat":http://www.thebluewires.com ut wisi enim ad minim veniam quis nostrud.}
46
+
47
+ assert_equal %{Velit esse molestie <a href=\"http://www.markbates.com\" >Who's the best musician in the world?</a> vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam <a href=\"http://www.thebluewires.com\" >volutpat</a> ut wisi enim ad minim veniam quis nostrud.}, x.linkify
48
+
49
+ assert_equal %{Velit esse molestie <a href="http://www.markbates.com" rel="nofollow">Who's the best musician in the world?</a> vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam <a href="http://www.thebluewires.com" rel="nofollow">volutpat</a> ut wisi enim ad minim veniam quis nostrud.}, x.linkify(true, {:rel => "nofollow"})
50
+
51
+ assert_equal "Velit esse molestie Who's the best musician in the world? vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam volutpat ut wisi enim ad minim veniam quis nostrud.", x.linkify(false)
52
+
53
+ b = x.linkify do |t, url, options|
54
+ "!#{t}!!#{url}"
55
+ end
56
+
57
+ assert_equal "Velit esse molestie !Who's the best musician in the world?!!http://www.markbates.com vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam !volutpat!!http://www.thebluewires.com ut wisi enim ad minim veniam quis nostrud.", b
58
+
59
+ x = %{Velit esse molestie "mark bates": vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam "volutpat": ut wisi enim ad minim veniam quis nostrud.}
60
+
61
+ assert_equal x, x.linkify
62
+
63
+ x = %{Velit esse molestie "":http://www.markbates.com vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam "":http://www.thebluewires.com ut wisi enim ad minim veniam quis nostrud.}
64
+
65
+ assert_equal x, x.linkify
66
+
67
+ x = %{Velit esse molestie "http://www.markbates.com":http://www.markbates.com vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam "http://www.thebluewires.com":http://www.thebluewires.com ut wisi enim ad minim veniam quis nostrud.}
68
+
69
+ assert_equal %{Velit esse molestie <a href=\"http://www.markbates.com\" >http://www.markbates.com</a> vel illum dolore eu feugiat nulla facilisis at. Consectetuer adipiscing elit, sed diam <a href=\"http://www.thebluewires.com\" >http://www.thebluewires.com</a> ut wisi enim ad minim veniam quis nostrud.}, x.linkify
70
+ end
71
+
72
+ def test_methodize
73
+ assert_equal "who_s_your_daddy?", "Who's your daddy?".methodize
74
+ assert_equal "foo_bar?", "1@%$^&foo**((*))_bar?".methodize
75
+ assert_equal "foo_bar_sdfsdf", "1@%$^&foo**((*))_bar&&&sdfsdf____".methodize
76
+ assert_equal "foo_bar", "\nfoo_\tbar".methodize
77
+ assert_equal "foo_bar", "foo?bar".methodize
78
+ assert_equal "foo_bar", "foo!bar".methodize
79
+ assert_equal "foo_bar", "foo=bar".methodize
80
+ assert_equal "foo_bar", "foo-bar".methodize
81
+ assert_equal "foo_123", "foo 123".methodize
82
+ assert_equal "foo_123", "foo!!!!!!!!!!!123$$$$$$$$$".methodize
83
+ assert_equal "debate_side", "DebateSide".methodize
84
+ running_time do
85
+ assert_equal "littera_gothica_quam_nunc_putamus_parum_claram_anteposuerit_litterarum_formas_humanitatis_adipiscing", %{
86
+ Littera gothica quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis. Adipiscing elit sed; diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat? Decima et quinta decima eodem modo typi qui nunc nobis videntur parum clari fiant sollemnes in? Nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum typi! Blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla?
87
+
88
+ Consequat duis autem vel eum iriure dolor in hendrerit in vulputate velit esse. Ut laoreet dolore magna aliquam erat volutpat ut wisi enim ad minim veniam quis nostrud exerci. Ea commodo molestie consequat vel illum dolore eu feugiat nulla facilisis at vero eros et. Placerat facer possim assum typi non habent claritatem insitam? Modo typi qui nunc nobis videntur parum clari fiant sollemnes in. Elit sed diam nonummy nibh euismod tincidunt tation ullamcorper suscipit lobortis nisl ut aliquip ex accumsan. Littera gothica quam nunc putamus parum claram anteposuerit litterarum formas humanitatis per seacula, quarta decima et.
89
+
90
+ Quinta decima eodem modo typi qui nunc nobis videntur parum clari fiant sollemnes in. Hendrerit in vulputate velit esse molestie consequat vel illum dolore eu. Claram anteposuerit litterarum formas humanitatis per seacula quarta decima et. Feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit. Zzril delenit augue duis dolore te feugait nulla facilisi nam? Processus dynamicus qui sequitur mutationem consuetudium lectorum mirum est notare quam. Vel eum iriure dolor in praesent luptatum liber tempor cum soluta nobis eleifend option congue. Quod ii legunt saepius claritas est etiam; littera gothica quam nunc putamus parum?
91
+
92
+ In iis qui facit eorum claritatem Investigationes demonstraverunt lectores legere me. Veniam quis nostrud exerci tation ullamcorper suscipit lobortis. Dolor sit amet consectetuer adipiscing elit sed diam, nonummy nibh euismod tincidunt ut laoreet! Iusto odio dignissim, qui blandit praesent luptatum zzril! Quod mazim placerat facer possim assum typi non habent claritatem insitam est usus legentis lius quod!
93
+
94
+ }.methodize
95
+ end
96
+ assert_equal "foo=", "foo =".methodize
97
+ assert_equal "fo_o=", "12345fo!!!!@@@@@@@@[[[]]]o%%%~~~`````=".methodize
98
+ assert_raise(NameError) { "!!!!!!!!!!!!!!!!".methodize }
99
+ assert_raise(NameError) { "????????????????".methodize }
100
+ assert_raise(NameError) { "1234567890".methodize }
101
+ assert_raise(NameError) { "".methodize }
102
+ end
103
+
104
+ end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ class SymbolTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def teardown
9
+ end
10
+
11
+ # replace this with tests of your own.
12
+ def test_truth
13
+ assert true
14
+ end
15
+ end
@@ -0,0 +1,6 @@
1
+ require "test/unit"
2
+
3
+ # place common methods, assertions, and other type things in this file so
4
+ # other tests will have access to them.
5
+
6
+ require File.join(File.dirname(__FILE__), "..", "lib", "mack_ruby_core_extensions.rb")
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ class InflectionTest < Test::Unit::TestCase
4
+
5
+ def test_pluralize
6
+ assert_equal "sheep", inflect.pluralize("sheep")
7
+ assert_equal "boats", inflect.pluralize("boat")
8
+ assert_equal "girls", inflect.pluralize("girl")
9
+ assert_equal "armies", inflect.pluralize("army")
10
+ assert_equal "people", inflect.pluralize("person")
11
+ assert_equal "equipment", inflect.pluralize("equipment")
12
+ end
13
+
14
+ def test_singularize
15
+ assert_equal "sheep", inflect.singularize("sheep")
16
+ assert_equal "boat", inflect.singularize("boats")
17
+ assert_equal "girl", inflect.singularize("girls")
18
+ assert_equal "army", inflect.singularize("armies")
19
+ assert_equal "person", inflect.singularize("people")
20
+ assert_equal "equipment", inflect.singularize("equipment")
21
+ end
22
+
23
+ def test_uncountable
24
+ assert_equal "equipment", inflect.singularize("equipment")
25
+ assert_equal "equipment", inflect.pluralize("equipment")
26
+ end
27
+
28
+ def inflect
29
+ Mack::Utils::Inflector.instance
30
+ end
31
+
32
+ end
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mack_ruby_core_extensions
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - markbates
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-03-25 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: "mack_ruby_core_extensions was developed by: markbates"
17
+ email: mark@mackframework.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README
24
+ files:
25
+ - lib/extensions/array.rb
26
+ - lib/extensions/class.rb
27
+ - lib/extensions/dir.rb
28
+ - lib/extensions/float.rb
29
+ - lib/extensions/hash.rb
30
+ - lib/extensions/kernel.rb
31
+ - lib/extensions/logger.rb
32
+ - lib/extensions/math.rb
33
+ - lib/extensions/method_not_implemented.rb
34
+ - lib/extensions/module.rb
35
+ - lib/extensions/nil.rb
36
+ - lib/extensions/object.rb
37
+ - lib/extensions/string.rb
38
+ - lib/extensions/symbol.rb
39
+ - lib/mack_ruby_core_extensions.rb
40
+ - lib/utils/inflections.rb
41
+ - lib/utils/inflector.rb
42
+ - README
43
+ - doc/classes/Array.html
44
+ - doc/classes/Class.html
45
+ - doc/classes/Dir.html
46
+ - doc/classes/Float.html
47
+ - doc/classes/Hash.html
48
+ - doc/classes/Kernel.html
49
+ - doc/classes/Mack/Utils/Inflector.html
50
+ - doc/classes/Mack/Utils.html
51
+ - doc/classes/Mack.html
52
+ - doc/classes/Math.html
53
+ - doc/classes/MethodNotImplemented.html
54
+ - doc/classes/Module.html
55
+ - doc/classes/NilClass.html
56
+ - doc/classes/Object.html
57
+ - doc/classes/String.html
58
+ - doc/classes/Symbol.html
59
+ - doc/created.rid
60
+ - doc/files/lib/extensions/array_rb.html
61
+ - doc/files/lib/extensions/class_rb.html
62
+ - doc/files/lib/extensions/dir_rb.html
63
+ - doc/files/lib/extensions/float_rb.html
64
+ - doc/files/lib/extensions/hash_rb.html
65
+ - doc/files/lib/extensions/kernel_rb.html
66
+ - doc/files/lib/extensions/logger_rb.html
67
+ - doc/files/lib/extensions/math_rb.html
68
+ - doc/files/lib/extensions/method_not_implemented_rb.html
69
+ - doc/files/lib/extensions/module_rb.html
70
+ - doc/files/lib/extensions/nil_rb.html
71
+ - doc/files/lib/extensions/object_rb.html
72
+ - doc/files/lib/extensions/string_rb.html
73
+ - doc/files/lib/extensions/symbol_rb.html
74
+ - doc/files/lib/mack_ruby_core_extensions_rb.html
75
+ - doc/files/lib/utils/inflections_rb.html
76
+ - doc/files/lib/utils/inflector_rb.html
77
+ - doc/files/README.html
78
+ - doc/fr_class_index.html
79
+ - doc/fr_file_index.html
80
+ - doc/fr_method_index.html
81
+ - doc/index.html
82
+ - doc/rdoc-style.css
83
+ has_rdoc: true
84
+ homepage: http://www.mackframework.com
85
+ post_install_message:
86
+ rdoc_options:
87
+ - --title
88
+ - Mack Ruby Core Extensions
89
+ - --main
90
+ - README
91
+ - --line-numbers
92
+ - --inline-source
93
+ require_paths:
94
+ - lib
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ version:
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: "0"
107
+ version:
108
+ requirements: []
109
+
110
+ rubyforge_project: magrathea
111
+ rubygems_version: 1.0.1
112
+ signing_key:
113
+ specification_version: 2
114
+ summary: mack_ruby_core_extensions
115
+ test_files:
116
+ - test/extensions
117
+ - test/extensions/array_test.rb
118
+ - test/extensions/class_test.rb
119
+ - test/extensions/dir_test.rb
120
+ - test/extensions/float_test.rb
121
+ - test/extensions/hash_test.rb
122
+ - test/extensions/kernel_test.rb
123
+ - test/extensions/logger_test.rb
124
+ - test/extensions/math_test.rb
125
+ - test/extensions/method_not_implemented_test.rb
126
+ - test/extensions/module_test.rb
127
+ - test/extensions/nil_test.rb
128
+ - test/extensions/object_test.rb
129
+ - test/extensions/string_test.rb
130
+ - test/extensions/symbol_test.rb
131
+ - test/test_helper.rb
132
+ - test/utils
133
+ - test/utils/inflection_test.rb