noble_names 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/lib/noble_names.rb +44 -5
- data/lib/noble_names/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 13ba2226740a52d259fe57676f0f6c1777ba3ab7
|
|
4
|
+
data.tar.gz: 9980b8da945a59d1ef21d001a7b0b28932749d75
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 25c51046e0c5dac382aa8ab952311e3e70c5b6769bce3fabb99a1ca28e19255b065a90789e937c5514d70ed6f57fa9e3c9f0c2fdd785cb68dcb7d23357024ed8
|
|
7
|
+
data.tar.gz: 372994cf60221fc9603da0e799aeac8c667685d6f1b6186c46a838793751ac4709b00a9b2b7c895cad72b841e6620a61d38f8d1065471c638d5acf4c8c3de5c5
|
data/lib/noble_names.rb
CHANGED
|
@@ -1,24 +1,63 @@
|
|
|
1
|
+
# Coding: UTF-8
|
|
1
2
|
require 'noble_names/version'
|
|
2
3
|
require 'noble_names/config'
|
|
3
4
|
require 'noble_names/initializer'
|
|
4
5
|
require 'noble_names/data'
|
|
5
6
|
|
|
6
|
-
#
|
|
7
|
+
# The main Module that has all necessary functions to
|
|
8
|
+
# process names.
|
|
7
9
|
module NobleNames
|
|
8
10
|
# Capitalizes a word if it needs to be capitalized.
|
|
9
11
|
# @param [String] word the word that needs to be capitalized.
|
|
10
|
-
# @
|
|
12
|
+
# @return [String] word the word either capitalized or not.
|
|
11
13
|
def self.noble_capitalize(word)
|
|
12
14
|
prefix = prefix?(word)
|
|
13
15
|
if in_particle_list?(word)
|
|
14
|
-
word
|
|
16
|
+
word.downcase
|
|
15
17
|
elsif prefix
|
|
16
|
-
prefix
|
|
18
|
+
capitalize(prefix) + capitalize(word.gsub(prefix, ''))
|
|
17
19
|
else
|
|
18
|
-
word
|
|
20
|
+
capitalize(word)
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
|
|
24
|
+
# Upcases the first small letters in each word,
|
|
25
|
+
# seperated by hyphons.
|
|
26
|
+
# But beware, words seperated by spaces stay small.
|
|
27
|
+
# @return [String] the capitalized word.
|
|
28
|
+
# @example
|
|
29
|
+
# capitalize('hans-ebert') #=> 'Hans-Ebert'
|
|
30
|
+
# capitalize('john') #=> 'John'
|
|
31
|
+
# capitalize('john james') #=> 'John james'
|
|
32
|
+
def self.capitalize(word)
|
|
33
|
+
word.gsub first_small_letters do |letter|
|
|
34
|
+
upcase(letter)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Upcases a letter even if it is a german mutated vowel.
|
|
39
|
+
# @return [String] letter the upcased letter.
|
|
40
|
+
# @example
|
|
41
|
+
# upcase('t') #=> 'T'
|
|
42
|
+
def self.upcase(letter)
|
|
43
|
+
match = letter.match(/ä|ö|ü/)
|
|
44
|
+
if match
|
|
45
|
+
case match.to_s
|
|
46
|
+
when 'ä' then 'Ä'
|
|
47
|
+
when 'ö' then 'Ö'
|
|
48
|
+
when 'ü' then 'Ü'
|
|
49
|
+
end
|
|
50
|
+
else letter.upcase
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# A Regex literal to find the first letter of a string
|
|
55
|
+
# as well as the first letter after a hyphon.
|
|
56
|
+
# @return [Regexp] first_small_letters the regexp in question
|
|
57
|
+
def self.first_small_letters
|
|
58
|
+
/((\A.|(?<=\-).))/
|
|
59
|
+
end
|
|
60
|
+
|
|
22
61
|
# Checks weither a word is in the nobility particle list.
|
|
23
62
|
# @param [String] word the word that is checked.
|
|
24
63
|
# @return [Boolean] `true` if `word` is in the particle_list,
|
data/lib/noble_names/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: noble_names
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Paul Martensen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-05-
|
|
11
|
+
date: 2016-05-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|