X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ef7f3d800cbdd49b692df10d312e5fd880e2e938..dc2a2c8ebd1a11e4a64555fda22c6859a51defff:/lib/osm.rb diff --git a/lib/osm.rb b/lib/osm.rb index 1d0896417..3a0beccdf 100644 --- a/lib/osm.rb +++ b/lib/osm.rb @@ -1,14 +1,14 @@ # The OSM module provides support functions for OSM. module OSM - require 'time' - require 'rexml/parsers/sax2parser' - require 'rexml/text' - require 'xml/libxml' + require "time" + require "rexml/parsers/sax2parser" + require "rexml/text" + require "xml/libxml" if defined?(SystemTimer) Timer = SystemTimer else - require 'timeout' + require "timeout" Timer = Timeout end @@ -482,25 +482,25 @@ module OSM def get_xml_doc doc = XML::Document.new doc.encoding = XML::Encoding::UTF_8 - root = XML::Node.new 'osm' - root['version'] = API_VERSION.to_s - root['generator'] = GENERATOR - root['copyright'] = COPYRIGHT_OWNER - root['attribution'] = ATTRIBUTION_URL - root['license'] = LICENSE_URL + root = XML::Node.new "osm" + root["version"] = API_VERSION.to_s + root["generator"] = GENERATOR + root["copyright"] = COPYRIGHT_OWNER + root["attribution"] = ATTRIBUTION_URL + root["license"] = LICENSE_URL doc.root = root doc end end - def self.IPToCountry(ip_address) + def self.ip_to_country(ip_address) Timer.timeout(4) do ipinfo = Quova::IpInfo.new(ip_address) - if ipinfo.status == Quova::Success + if ipinfo.status == Quova::SUCCESS country = ipinfo.country_code else - Net::HTTP.start('api.hostip.info') do |http| + Net::HTTP.start("api.hostip.info") do |http| country = http.get("/country.php?ip=#{ip_address}").body country = "GB" if country == "UK" end @@ -510,12 +510,12 @@ module OSM end return nil - rescue Exception + rescue StandardError return nil end - def self.IPLocation(ip_address) - code = OSM.IPToCountry(ip_address) + def self.ip_location(ip_address) + code = OSM.ip_to_country(ip_address) if code && country = Country.find_by_code(code) return { :minlon => country.min_lon, :minlat => country.min_lat, :maxlon => country.max_lon, :maxlat => country.max_lat } @@ -533,8 +533,8 @@ module OSM # Construct a random token of a given length def self.make_token(length = 30) - chars = 'abcdefghijklmnopqrtuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' - token = '' + chars = "abcdefghijklmnopqrtuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + token = "" length.times do token += chars[(rand * chars.length).to_i].chr