Class: LocalGeocoder::DataSource

Inherits:
Object
  • Object
show all
Defined in:
lib/local_geocoder/data_source.rb

Instance Method Summary collapse

Constructor Details

#initialize(dir) ⇒ DataSource

Returns a new instance of DataSource.



11
12
13
14
15
16
17
18
19
# File 'lib/local_geocoder/data_source.rb', line 11

def initialize(dir)
  @countries = load_data(dir, "countries/features.geo.json")
  @administrative_areas_level_1 = Hash.new do |h,k|
    h[k] = load_data(File.join(dir, "countries", k), "features.geo.json")
  end
  @administrative_areas_level_2 = Hash.new do |h,k|
    h[k] = load_data(File.join(dir, "countries", *k), "features.geo.json")
  end
end

Instance Method Details

#administrative_areas_level_1(country_id) ⇒ Object



25
26
27
28
# File 'lib/local_geocoder/data_source.rb', line 25

def administrative_areas_level_1(country_id)
  return nil if country_id.nil?      
  @administrative_areas_level_1[country_id]
end

#administrative_areas_level_2(country_id, aa1_id) ⇒ Object



30
31
32
33
# File 'lib/local_geocoder/data_source.rb', line 30

def administrative_areas_level_2(country_id, aa1_id)
  return nil if country_id.nil? || aa1_id.nil?
  @administrative_areas_level_2[[country_id, aa1_id]]
end

#countriesObject



21
22
23
# File 'lib/local_geocoder/data_source.rb', line 21

def countries
  @countries
end