Sha256: 4cfd4182b6a03533f356cf37e8d0b37306c56a3a58ce8f95f080a5809e8a8429

Contents?: true

Size: 645 Bytes

Versions: 2

Compression:

Stored size: 645 Bytes

Contents

class INE::Places::ProvincesCollection
  include Singleton

  def self.records
    @records ||= CSV.read("#{INE::Places::ROOT}/data/provinces.csv", headers: true, encoding: 'utf-8').map do |raw_data|
                   build_from_raw_data(raw_data)
                 end.sort_by(&:slug)
  end

  def self.build_from_raw_data(raw_data)
    INE::Places::Province.new({
      id: raw_data[0], name: raw_data[2],
      slug: raw_data[3], autonomous_region_id: raw_data[1],
      lon: raw_data[4], lat: raw_data[5],
      autonomous_region: INE::Places::AutonomousRegion.find(raw_data[1])
    })
  end
  private_class_method :build_from_raw_data

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ine-places-0.6.1 lib/ine/places/provinces_collection.rb
ine-places-0.6.0 lib/ine/places/provinces_collection.rb