englishext 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/englishext.rb +28 -20
- data/lib/englishext.rb~ +12 -7
- metadata +4 -3
data/lib/englishext.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# A collection of English-language specific utility methods.
|
2
2
|
module EnglishExtensions
|
3
|
-
Version = '0.1.
|
3
|
+
Version = '0.1.2'
|
4
4
|
end
|
5
5
|
|
6
6
|
class String
|
@@ -54,25 +54,33 @@ class String
|
|
54
54
|
# "macedonia, the former yugoslav republic of".proper_noun ->
|
55
55
|
# "Macedonia, the Former Yugoslav Republic of"
|
56
56
|
# "virgin islands, u.s.".proper_noun -> "Virgin Islands, U.S."
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
57
|
+
def proper_noun
|
58
|
+
proper_noun = ""
|
59
|
+
quote_seen = false
|
60
|
+
str = self.clone
|
61
|
+
while(matchIndex = str =~ /[\. \-\']/)
|
62
|
+
if matchIndex == 0
|
63
|
+
proper_noun += $&
|
64
|
+
str = str[matchIndex+1..str.length]
|
65
|
+
else
|
66
|
+
word = str[0..matchIndex-1]
|
67
|
+
unless [ 'and', 'the', 'of' ].include?(word) or
|
68
|
+
(quote_seen and word == 's')
|
69
|
+
word = word.capitalize
|
70
|
+
end
|
71
|
+
quote_seen = $& == "'"
|
72
|
+
proper_noun += word + $&
|
73
|
+
str = str[matchIndex+1..str.length]
|
74
|
+
end
|
75
|
+
end
|
76
|
+
word = str
|
77
|
+
unless [ 'and', 'the', 'of' ].include?(word) or
|
78
|
+
(quote_seen and word == 's')
|
79
|
+
word = word.capitalize
|
80
|
+
end
|
81
|
+
proper_noun += word
|
82
|
+
proper_noun
|
83
|
+
end
|
76
84
|
|
77
85
|
def singular
|
78
86
|
if self =~ /(.*)ies/
|
data/lib/englishext.rb~
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# A collection of English-language specific utility methods.
|
2
2
|
module EnglishExtensions
|
3
|
-
Version = '0.1.
|
3
|
+
Version = '0.1.1'
|
4
4
|
end
|
5
5
|
|
6
6
|
class String
|
@@ -53,15 +53,20 @@ class String
|
|
53
53
|
# "bosnia and herzegovina".proper_noun -> "Bosnia and Herzegovina"
|
54
54
|
# "macedonia, the former yugoslav republic of".proper_noun ->
|
55
55
|
# "Macedonia, the Former Yugoslav Republic of"
|
56
|
-
# "virgin islands, u.s.".proper_noun -> "Virgin Islands, U.S."
|
56
|
+
# "virgin islands, u.s.".proper_noun -> "Virgin Islands, U.S."
|
57
57
|
def proper_noun
|
58
58
|
proper_noun = ""
|
59
59
|
str = self.clone
|
60
|
-
while(matchIndex = str =~ /[\. ]/)
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
60
|
+
while(matchIndex = str =~ /[\. \-\']/)
|
61
|
+
if matchIndex == 0
|
62
|
+
proper_noun += $&
|
63
|
+
str = str[matchIndex+1..str.length]
|
64
|
+
else
|
65
|
+
word = str[0..matchIndex-1]
|
66
|
+
word = word.capitalize unless [ 'and', 'the', 'of' ].index(word) != nil
|
67
|
+
proper_noun += word + $&
|
68
|
+
str = str[matchIndex+1..str.length]
|
69
|
+
end
|
65
70
|
end
|
66
71
|
word = str
|
67
72
|
word = word.capitalize unless [ 'and', 'the', 'of' ].index(word) != nil
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.9.2
|
3
3
|
specification_version: 1
|
4
4
|
name: englishext
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date:
|
6
|
+
version: 0.1.2
|
7
|
+
date: 2008-05-02 00:00:00 -04:00
|
8
8
|
summary: EnglishExtensions contains a few convenience methods for String.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -25,6 +25,7 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
25
25
|
platform: ruby
|
26
26
|
signing_key:
|
27
27
|
cert_chain:
|
28
|
+
post_install_message:
|
28
29
|
authors:
|
29
30
|
- Francis Hwang
|
30
31
|
files:
|