mack_ruby_core_extensions 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +3 -0
- data/doc/classes/Array.html +465 -0
- data/doc/classes/Class.html +181 -0
- data/doc/classes/Dir.html +190 -0
- data/doc/classes/Float.html +148 -0
- data/doc/classes/Hash.html +232 -0
- data/doc/classes/Kernel.html +182 -0
- data/doc/classes/Mack.html +111 -0
- data/doc/classes/Mack/Utils.html +111 -0
- data/doc/classes/Mack/Utils/Inflector.html +422 -0
- data/doc/classes/Math.html +188 -0
- data/doc/classes/MethodNotImplemented.html +155 -0
- data/doc/classes/Module.html +203 -0
- data/doc/classes/NilClass.html +151 -0
- data/doc/classes/Object.html +315 -0
- data/doc/classes/String.html +890 -0
- data/doc/classes/Symbol.html +148 -0
- data/doc/created.rid +1 -0
- data/doc/files/README.html +111 -0
- data/doc/files/lib/extensions/array_rb.html +101 -0
- data/doc/files/lib/extensions/class_rb.html +101 -0
- data/doc/files/lib/extensions/dir_rb.html +101 -0
- data/doc/files/lib/extensions/float_rb.html +101 -0
- data/doc/files/lib/extensions/hash_rb.html +101 -0
- data/doc/files/lib/extensions/kernel_rb.html +109 -0
- data/doc/files/lib/extensions/logger_rb.html +101 -0
- data/doc/files/lib/extensions/math_rb.html +101 -0
- data/doc/files/lib/extensions/method_not_implemented_rb.html +108 -0
- data/doc/files/lib/extensions/module_rb.html +101 -0
- data/doc/files/lib/extensions/nil_rb.html +101 -0
- data/doc/files/lib/extensions/object_rb.html +101 -0
- data/doc/files/lib/extensions/string_rb.html +108 -0
- data/doc/files/lib/extensions/symbol_rb.html +101 -0
- data/doc/files/lib/mack_ruby_core_extensions_rb.html +101 -0
- data/doc/files/lib/utils/inflections_rb.html +101 -0
- data/doc/files/lib/utils/inflector_rb.html +108 -0
- data/doc/fr_class_index.html +42 -0
- data/doc/fr_file_index.html +44 -0
- data/doc/fr_method_index.html +92 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/extensions/array.rb +101 -0
- data/lib/extensions/class.rb +19 -0
- data/lib/extensions/dir.rb +25 -0
- data/lib/extensions/float.rb +5 -0
- data/lib/extensions/hash.rb +47 -0
- data/lib/extensions/kernel.rb +30 -0
- data/lib/extensions/logger.rb +0 -0
- data/lib/extensions/math.rb +15 -0
- data/lib/extensions/method_not_implemented.rb +12 -0
- data/lib/extensions/module.rb +29 -0
- data/lib/extensions/nil.rb +8 -0
- data/lib/extensions/object.rb +103 -0
- data/lib/extensions/string.rb +261 -0
- data/lib/extensions/symbol.rb +7 -0
- data/lib/mack_ruby_core_extensions.rb +7 -0
- data/lib/utils/inflections.rb +62 -0
- data/lib/utils/inflector.rb +129 -0
- data/test/extensions/array_test.rb +15 -0
- data/test/extensions/class_test.rb +28 -0
- data/test/extensions/dir_test.rb +15 -0
- data/test/extensions/float_test.rb +15 -0
- data/test/extensions/hash_test.rb +34 -0
- data/test/extensions/kernel_test.rb +15 -0
- data/test/extensions/logger_test.rb +15 -0
- data/test/extensions/math_test.rb +15 -0
- data/test/extensions/method_not_implemented_test.rb +15 -0
- data/test/extensions/module_test.rb +57 -0
- data/test/extensions/nil_test.rb +15 -0
- data/test/extensions/object_test.rb +15 -0
- data/test/extensions/string_test.rb +104 -0
- data/test/extensions/symbol_test.rb +15 -0
- data/test/test_helper.rb +6 -0
- data/test/utils/inflection_test.rb +32 -0
- metadata +133 -0
@@ -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
|
data/test/test_helper.rb
ADDED
@@ -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
|