Class: NameSearch::Name
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- NameSearch::Name
- Defined in:
- lib/name_search/models/name.rb
Constant Summary collapse
- @@excluded_values =
['and', 'or', '']
Class Method Summary collapse
- .find(*args) ⇒ Object
- .get_family_for_nick_names(names) ⇒ Object
- .scrub_and_split_name(name) ⇒ Object
Instance Method Summary collapse
Class Method Details
.find(*args) ⇒ Object
22 23 24 25 |
# File 'lib/name_search/models/name.rb', line 22 def self.find(*args) return Name.where(:value => args.first).first if args.first.kind_of?(String) super end |
.get_family_for_nick_names(names) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/name_search/models/name.rb', line 35 def self.get_family_for_nick_names(names) family = Name.where(:value => names.map(&:downcase)). where('nick_name_family_id IS NOT NULL'). first. try(:nick_name_family) family ||= NickNameFamily.create end |
.scrub_and_split_name(name) ⇒ Object
27 28 29 30 31 |
# File 'lib/name_search/models/name.rb', line 27 def self.scrub_and_split_name(name) scrubbed = name.downcase.gsub(/[^a-z0-9 -]/, '') split = scrubbed.split(/[ -]/).uniq split - @@excluded_values end |
Instance Method Details
#nick_name_values ⇒ Object
13 14 15 |
# File 'lib/name_search/models/name.rb', line 13 def nick_name_values() nick_names.map(&:value) end |
#nick_names ⇒ Object
9 10 11 |
# File 'lib/name_search/models/name.rb', line 9 def nick_names() nick_name_families.map(&:names).flatten end |