Module: GeonamesDump
- Defined in:
- lib/geonames_dump/railtie.rb,
lib/geonames_dump.rb,
lib/geonames_dump/blocks.rb,
lib/geonames_dump/version.rb,
lib/generators/geonames_dump/install_generator.rb
Overview
require ‘rails’
Defined Under Namespace
Modules: Generators Classes: Blocks, Railtie
Constant Summary collapse
- VERSION =
'0.0.7'
Class Method Summary collapse
Class Method Details
.search(query, options = {}) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/geonames_dump.rb', line 6 def self.search(query, = {}) ret = nil type = [:type] || :auto begin case type when :auto # return an array of features # city name ret = GeonamesCity.search(query) # alternate name ret = GeonamesAlternateName.search(query).map { |alternate| alternate.feature }.compact if ret.blank? # admin1 ret = GeonamesAdmin1.search(query) if ret.blank? # admin2 ret = GeonamesAdmin2.search(query) if ret.blank? # feature ret = GeonamesFeature.search(query) if ret.blank? else # country, or specific type model = "geonames_#{type.to_s}".camelcase.constantize ret = model.search(query) end rescue NameError => e raise $!, "Unknown type for GeonamesDump, #{$!}", $!.backtrace end ret end |