simple_model 0.1.8 → 0.1.9
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/lib/simple_model/extend_core.rb +25 -0
- data/lib/simple_model/version.rb +1 -1
- metadata +2 -2
@@ -114,7 +114,32 @@ module ExtendCore
|
|
114
114
|
def to_currency
|
115
115
|
to_f.to_currency
|
116
116
|
end
|
117
|
+
|
117
118
|
|
119
|
+
# Parse a full name into it's parts. http://pastie.org/867415
|
120
|
+
# Based on :http://artofmission.com/articles/2009/5/31/parse-full-names-with-ruby
|
121
|
+
#
|
122
|
+
# Options:
|
123
|
+
# +name+
|
124
|
+
# +seperate_middle_name+ defaults to true. if false, will combine middle name into last name.
|
125
|
+
|
126
|
+
def parse_name(seperate_middle_name=true)
|
127
|
+
parts = self.split # First, split the name into an array
|
128
|
+
|
129
|
+
parts.each_with_index do |part, i|
|
130
|
+
# If any part is "and", then put together the two parts around it
|
131
|
+
# For example, "Mr. and Mrs." or "Mickey and Minnie"
|
132
|
+
if part=~/^(and|&)$/i && i > 0
|
133
|
+
parts[i-1] = [parts.delete_at(i+1), parts.at(i).downcase, parts.delete_at(i-1)].reverse * " "
|
134
|
+
end
|
135
|
+
end if self=~/\s(and|&)\s/i # optimize
|
136
|
+
|
137
|
+
{ :prefix => (parts.shift if parts[0]=~/^\w+\./),
|
138
|
+
:first_name => parts.shift || "", # if name is "", then atleast first_name should be ""
|
139
|
+
:suffix => (parts.pop if parts[-1]=~/(\w+\.|[IVXLM]+|[A-Z]+\.)$/),
|
140
|
+
:last_name => (seperate_middle_name ? parts.pop : parts.slice!(0..-1) * " "),
|
141
|
+
:middle_name => (parts * " " unless parts.empty?) }
|
142
|
+
end
|
118
143
|
end
|
119
144
|
Fixnum.class_eval do
|
120
145
|
#Any value greater than 0 is true
|
data/lib/simple_model/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: simple_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.9
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Joshua T Mckinney
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-02-
|
13
|
+
date: 2011-02-21 00:00:00 -06:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|