Class: WorldDb::Model::Name

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/worlddb/models/name.rb,
lib/worlddb/models/forward.rb

Class Method Summary collapse

Class Method Details

.parse(*args) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/worlddb/models/name.rb', line 12

def self.parse( *args )
  ## remove (extract) attribs hash (if last arg is a hash n present)
  more_attribs = args.last.is_a?(Hash) ? args.pop : {}  ## extract_options!
  chunks       = args

  names = NameParser.new.parse( chunks )
  recs = []

  names.each do |name|
    attribs = more_attribs.merge( name: name )  ## overwrite (default) attribs (lang, etc.) plus add name
    puts "[Name.parse] adding Name record:"
    puts "  #{attribs.inspect}"
    rec = Name.create!( attribs )
    recs << rec
  end

  recs # note: returns an array of name records
end