mceachen/geonames_api

View on GitHub
lib/geonames_api.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'open-uri'
require 'json'
require 'csv'
require 'active_support/all'
require 'zip'

module GeoNamesAPI

  mattr_accessor :url
  self.url = 'http://api.geonames.org/'

  mattr_accessor :lang
  self.lang = :en
  
  mattr_accessor :username
  self.username = 'demo'

  mattr_accessor :token
  self.token = nil

  mattr_accessor :style
  self.style = :full

  mattr_accessor :logger
  self.logger = nil

  mattr_accessor :retries
  self.retries = 5

  mattr_accessor :max_sleep_time_between_retries
  self.max_sleep_time_between_retries = 10

  def self.params
    {
      lang: lang,
      username: username,
      token: token,
      style: style
    }.delete_if{ |k, v| v.blank? }
  end
    
end

Dir[File.dirname(__FILE__) + '/geonames_api/*.rb'].each do |file|
  tgt = File.basename(file, File.extname(file))
  GeoNamesAPI.autoload tgt.camelize, "geonames_api/#{tgt}"
end