Sha256: 5bac60fb4f00db8e158e523f5b6dda32621bacbe511c194a7de33dfa0e95ae7e

Contents?: true

Size: 850 Bytes

Versions: 4

Compression:

Stored size: 850 Bytes

Contents

module SportDB::Models

class Region < ActiveRecord::Base

  belongs_to :country, :class_name => 'Country', :foreign_key => 'country_id'

  has_many :cities, :class_name => 'City', :foreign_key => 'region_id'
  has_many :teams, :through => :cities


  def self.create_from_ary!( regions, more_values={} )
    regions.each do |values|
            
      ## key & title & country required
      attr = {
        key:   values[0],
        title: values[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
        else
          # issue warning: unknown type for value
        end
      end
      
      Region.create!( attr )
    end # each region
  end

end # class Region


end # module Models::SportDB

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sportdb-0.6.0 lib/sportdb/models/region.rb
sportdb-0.5.6 lib/sportdb/models/region.rb
sportdb-0.5.5 lib/sportdb/models/region.rb
sportdb-0.5.4 lib/sportdb/models/region.rb