name_splitter 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5179de0d3dcb07d9a00376991570dc609096abe
4
- data.tar.gz: 39d6fce6b5f109b70115deb86a08e6efc8995ac3
3
+ metadata.gz: 9842378513eb4b4d92498bcc0a91395fdfc01a7d
4
+ data.tar.gz: 70879753a52989acdc9bf82233c4031c8b8c0e69
5
5
  SHA512:
6
- metadata.gz: 6a0d9670c73445225974e3aaab21719ffae2932b8c8f980d4ae96e450612749a666e390573e647cb3d797d7495109f800cb17cdbefa2988c40525f6bee635595
7
- data.tar.gz: 9a1c80174499ee68a8271ccc82555971139a8f25e9db697a989b48a5819de76969bc3e761a7d27e49c2c144442b344da46a40b736c5cab070a2e5cacf081007c
6
+ metadata.gz: cab9ca693f6598f2e6a84961bb73458737724da8e960ae7d35f6d53304a8126115004f7f7b02c3d375ef7bd4dda9a6ee14c074045b02e800579f590b5596792b
7
+ data.tar.gz: 5721c6327dc15be767661b7c77d7634f22d53df23e7beef244f83e140256c310a97f937d97288b33d171f65ceb9f9c1c3feca2c65dbf1813920d1b97a1457f43
@@ -1,3 +1,3 @@
1
1
  module NameSplitter
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/name_splitter.rb CHANGED
@@ -30,7 +30,7 @@ module NameSplitter
30
30
  self.salutation = name_arr.shift
31
31
  self.last_name = name_arr.shift
32
32
  else
33
- self.salutation = name_arr.shift if contains_salutation(name_arr[0])
33
+ self.salutation = name_arr.shift(number_of_salutations(name_arr)).join(" ")
34
34
  self.first_name = name_arr.shift
35
35
  self.first_name = first_name + " " + name_arr.shift if is_second_first_name?(name_arr[0])
36
36
  self.first_name = first_name + " " + name_arr.shift + " " + name_arr.shift if anded_first_names?(name_arr[0])
@@ -59,16 +59,23 @@ module NameSplitter
59
59
  name_arr.length > 3
60
60
  end
61
61
 
62
- def is_second_first_name?(this_name)
63
- second_first_names.collect { |x| x.upcase }.include?(this_name.upcase)
62
+ def number_of_salutations(name_arr)
63
+ return 3 if contains_salutation(name_arr[0]) & anded_first_names?(name_arr[1]) & contains_salutation(name_arr[2])
64
+ return 1 if contains_salutation(name_arr[0])
65
+ return 0
64
66
  end
65
67
 
66
- def anded_first_names?(this_name)
67
- ["and", "&"].include?(this_name.to_s.strip)
68
+ def is_second_first_name?(_name)
69
+ second_first_names.collect { |x| x.upcase }.include?(_name.upcase)
68
70
  end
69
71
 
70
- def contains_salutation(this_name)
71
- salutations.collect { |x| x.upcase }.include?(this_name.gsub(/[.,;']+/, "").upcase)
72
+ def anded_first_names?(_name)
73
+ ["and", "&"].include?(_name.to_s.strip)
74
+ end
75
+
76
+ def contains_salutation(_name)
77
+ return false unless _name
78
+ salutations.collect { |x| x.upcase }.include?(_name.gsub(/[.,;']+/, "").upcase)
72
79
  end
73
80
 
74
81
  def contains_last_name_prefix(name_arr)
@@ -90,7 +97,7 @@ module NameSplitter
90
97
  end
91
98
 
92
99
  def salutations
93
- %w{Mr Mrs Ms Miss Dr Prof Rev Capt}
100
+ %w{Mr Mrs Ms Miss Dr Prof Rev Capt Sister Honorable Judge Chief}
94
101
  end
95
102
 
96
103
  def second_first_names
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: name_splitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Hoen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-18 00:00:00.000000000 Z
11
+ date: 2016-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler