Sha256: 7b8ad1c99eaa91dc632e971156f8677ca53eea26921fb914a4f86efd0e66785b
Contents?: true
Size: 1.64 KB
Versions: 44
Compression:
Stored size: 1.64 KB
Contents
# encoding: utf-8 module SportDb module Model ############################################################# # collect depreciated or methods for future removal here # - keep for now for compatibility (for old code) class Team def self.create_from_ary!( teams, more_values={} ) teams.each do |values| ## key & title required attr = { key: values[0] } ## title (split of optional synonyms) # e.g. FC Bayern Muenchen|Bayern Muenchen|Bayern titles = values[1].split('|') attr[ :title ] = titles[0] ## add optional synonyms attr[ :synonyms ] = titles[1..-1].join('|') if titles.size > 1 attr = attr.merge( more_values ) ## check for optional values values[2..-1].each do |value| if value.is_a? Country attr[ :country_id ] = value.id elsif value.is_a? City attr[ :city_id ] = value.id elsif value =~ /#{TEAM_CODE_PATTERN}/ ## assume its three letter code (e.g. ITA or S04 etc.) attr[ :code ] = value elsif value =~ /^city:/ ## city: value_city_key = value[5..-1] ## cut off city: prefix value_city = City.find_by_key!( value_city_key ) attr[ :city_id ] = value_city.id else attr[ :title2 ] = value end end ## check if exists team = Team.find_by_key( values[0] ) if team.present? puts "*** warning team with key '#{values[0]}' exists; skipping create" else Team.create!( attr ) end end # each team end end # class Team end # module Model end # module SportDb
Version data entries
44 entries across 44 versions & 2 rubygems