namecase 1.0.1 → 1.0.2
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.
- data/CHANGELOG.txt +12 -0
- data/{LICENSE → LICENSE.txt} +0 -0
- data/{README → README.txt} +10 -7
- data/lib/namecase.rb +9 -3
- data/lib/version.rb +1 -3
- data/test/test_all.rb +2 -0
- data/test/test_namecase.rb +15 -3
- metadata +29 -20
- data/CHANGELOG +0 -4
data/CHANGELOG.txt
ADDED
data/{LICENSE → LICENSE.txt}
RENAMED
File without changes
|
data/{README → README.txt}
RENAMED
@@ -1,14 +1,18 @@
|
|
1
|
-
|
1
|
+
= NameCase
|
2
2
|
|
3
|
-
|
3
|
+
http://namecase.rubyforge.org/
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
Version 1.0.2 - 2006/10/24
|
6
|
+
|
7
|
+
== DESCRIPTION
|
7
8
|
|
8
9
|
NameCase is a Ruby implementation of Lingua::EN::NameCase, a library for
|
9
|
-
converting strings to be properly cased.
|
10
|
+
converting strings to be properly cased. This is good for converting
|
10
11
|
denormalized data to human friendly data.
|
11
12
|
|
13
|
+
Original version by Mark Summerfield <http://search.cpan.org/~summer/>
|
14
|
+
Ruby port by Aaron Patterson <aaronp@rubyforge.org>
|
15
|
+
|
12
16
|
* Example Usage
|
13
17
|
|
14
18
|
NameCase is a subclass of Ruby's +String+, and can be used similarly:
|
@@ -31,9 +35,8 @@ Copyright (c) Mark Summerfield 1998-2002.
|
|
31
35
|
All Rights Reserved
|
32
36
|
|
33
37
|
Ruby Version:
|
34
|
-
Copyright (c) Aaron Patterson
|
38
|
+
Copyright (c) Aaron Patterson 2006
|
35
39
|
|
36
40
|
* License
|
37
41
|
|
38
42
|
NameCase is distributed under the GPL license. Please see the LICENSE file.
|
39
|
-
|
data/lib/namecase.rb
CHANGED
@@ -4,9 +4,15 @@ class NameCase < String
|
|
4
4
|
|
5
5
|
# Returns a new +String+ with the contents properly namecased
|
6
6
|
def nc
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
if respond_to?(:chars)
|
8
|
+
localstring = chars.downcase.to_s
|
9
|
+
localstring.gsub!(/\b\w/) { |first| first.chars.upcase }
|
10
|
+
localstring.gsub!(/\'\w\b/) { |c| c.chars.downcase } # Lowercase 's
|
11
|
+
else
|
12
|
+
localstring = downcase
|
13
|
+
localstring.gsub!(/\b\w/) { |first| first.upcase }
|
14
|
+
localstring.gsub!(/\'\w\b/) { |c| c.downcase } # Lowercase 's
|
15
|
+
end
|
10
16
|
|
11
17
|
if localstring =~ /\bMac[A-Za-z]{2,}[^aciozj]\b/ or localstring =~ /\bMc/
|
12
18
|
localstring.gsub!(/\b(Ma?c)([A-Za-z]+)/) { |match| $1 + $2.capitalize }
|
data/lib/version.rb
CHANGED
data/test/test_all.rb
ADDED
data/test/test_namecase.rb
CHANGED
@@ -9,10 +9,10 @@ class TestNameCase < Test::Unit::TestCase
|
|
9
9
|
@proper_names = [
|
10
10
|
"Keith", "Leigh-Williams", "McCarthy",
|
11
11
|
"O'Callaghan", "St. John", "von Streit",
|
12
|
-
"van Dyke", "Van",
|
13
|
-
"al Fahd",
|
12
|
+
"van Dyke", "Van", "ap Llwyd Dafydd",
|
13
|
+
"al Fahd", "Al",
|
14
14
|
"el Grecco",
|
15
|
-
"ben Gurion",
|
15
|
+
"ben Gurion", "Ben",
|
16
16
|
"da Vinci",
|
17
17
|
"di Caprio", "du Pont", "de Legate",
|
18
18
|
"del Crond", "der Sind", "van der Post",
|
@@ -42,4 +42,16 @@ class TestNameCase < Test::Unit::TestCase
|
|
42
42
|
assert_equal(name, nc_name.downcase.nc!)
|
43
43
|
end
|
44
44
|
end
|
45
|
+
|
46
|
+
def test_namecase_multibyte
|
47
|
+
String.class_eval { define_method(:chars) { self } }
|
48
|
+
|
49
|
+
$KCODE = 'u'
|
50
|
+
|
51
|
+
proper_cased = 'Iñtërnâtiônàlizætiøn'
|
52
|
+
nc_name = NameCase.new(proper_cased)
|
53
|
+
assert_equal(proper_cased, nc_name.downcase.nc!)
|
54
|
+
|
55
|
+
String.class_eval { undef_method :chars }
|
56
|
+
end
|
45
57
|
end
|
metadata
CHANGED
@@ -1,18 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.9.0
|
3
3
|
specification_version: 1
|
4
4
|
name: namecase
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2006-
|
6
|
+
version: 1.0.2
|
7
|
+
date: 2006-11-04 00:00:00 -08:00
|
8
8
|
summary: "NameCase is a Ruby implementation of Lingua::EN::NameCase, a library for
|
9
9
|
converting strings to be properly cased."
|
10
10
|
require_paths:
|
11
11
|
- lib
|
12
|
+
- test
|
12
13
|
email: aaronp@rubyforge.org
|
13
|
-
homepage: namecase.rubyforge.org
|
14
|
+
homepage: http://namecase.rubyforge.org/
|
14
15
|
rubyforge_project: namecase
|
15
|
-
description:
|
16
|
+
description: "NameCase is a Ruby implementation of Lingua::EN::NameCase, a library for
|
17
|
+
converting strings to be properly cased. This is good for converting
|
18
|
+
denormalized data to human friendly data."
|
16
19
|
autorequire:
|
17
20
|
default_executable:
|
18
21
|
bindir: bin
|
@@ -27,26 +30,32 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
27
30
|
platform: ruby
|
28
31
|
signing_key:
|
29
32
|
cert_chain:
|
33
|
+
post_install_message:
|
30
34
|
authors:
|
31
35
|
- Aaron Patterson
|
32
36
|
files:
|
33
|
-
-
|
37
|
+
- README.txt
|
38
|
+
- CHANGELOG.txt
|
39
|
+
- LICENSE.txt
|
34
40
|
- lib/namecase.rb
|
35
41
|
- lib/version.rb
|
36
|
-
|
37
|
-
-
|
38
|
-
-
|
39
|
-
|
40
|
-
rdoc_options:
|
41
|
-
|
42
|
-
- README
|
43
|
-
- "--title"
|
44
|
-
- "'NameCase RDoc'"
|
45
|
-
extra_rdoc_files:
|
46
|
-
- README
|
47
|
-
- CHANGELOG
|
48
|
-
- LICENSE
|
42
|
+
test_files:
|
43
|
+
- test/test_all.rb
|
44
|
+
- test/test_namecase.rb
|
45
|
+
- test/test_all.rb
|
46
|
+
rdoc_options: []
|
47
|
+
extra_rdoc_files: []
|
49
48
|
executables: []
|
50
49
|
extensions: []
|
51
50
|
requirements: []
|
52
|
-
dependencies:
|
51
|
+
dependencies:
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: hoe
|
54
|
+
version_requirement:
|
55
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
56
|
+
requirements:
|
57
|
+
-
|
58
|
+
- ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 1.1.2
|
61
|
+
version:
|
data/CHANGELOG
DELETED