Class: PersonName::ActiveRecordPersonName
- Inherits:
-
Object
- Object
- PersonName::ActiveRecordPersonName
- Defined in:
- lib/person_name/name.rb
Instance Method Summary collapse
- #full_last_name ⇒ Object
- #full_name ⇒ Object
- #full_name=(new_name) ⇒ Object
-
#initialize(naming_prefix, record) ⇒ ActiveRecordPersonName
constructor
A new instance of ActiveRecordPersonName.
- #short_name(include_middle_names = true) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(naming_prefix, record) ⇒ ActiveRecordPersonName
Returns a new instance of ActiveRecordPersonName.
4 5 6 7 |
# File 'lib/person_name/name.rb', line 4 def initialize(naming_prefix, record) @naming_prefix = naming_prefix @record = record end |
Instance Method Details
#full_last_name ⇒ Object
25 26 27 |
# File 'lib/person_name/name.rb', line 25 def full_last_name [:intercalation, :last_name, :suffix].collect { |p| self.send(p) }.compact.join " " end |
#full_name ⇒ Object
9 10 11 |
# File 'lib/person_name/name.rb', line 9 def full_name NameSplitter::NAME_PARTS.collect { |p| self.send(p) }.compact.join " " end |
#full_name=(new_name) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/person_name/name.rb', line 13 def full_name= new_name return if full_name == new_name # no changes old_values = {} NameSplitter::NAME_PARTS.collect { |p| old_values[p.to_sym] = self.send(p) } new_name = NameSplitter.split(new_name, old_values) # assignments NameSplitter::NAME_PARTS.each do |part| self.send "#{part}=", (new_name[part.to_sym] || "").blank? ? nil : new_name[part.to_sym] end end |
#short_name(include_middle_names = true) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/person_name/name.rb', line 29 def short_name include_middle_names = true parts = [] parts << "#{self.first_name[0,1].upcase}." if self.first_name if include_middle_names and self.middle_name names = self.middle_name.split(" ") names.each do |name| parts << "#{name[0,1].upcase}." end end [parts.join, full_last_name] * " " end |
#to_s ⇒ Object
51 52 53 |
# File 'lib/person_name/name.rb', line 51 def to_s full_name end |