class Geolocal::Configuration
Constants
- OPTIONS
Public Class Methods
new()
click to toggle source
# File lib/geolocal/configuration.rb, line 6 def initialize # configuration defaults @provider = 'Geolocal::Provider::DB_IP' @module = 'Geolocal' @file = nil # default is computed @tmpdir = 'tmp/geolocal' @ipv4 = true @ipv6 = true @quiet = false @countries = {} end
Public Instance Methods
file()
click to toggle source
if not set, defaults to lib/module-name
# File lib/geolocal/configuration.rb, line 19 def file @file || "lib/#{module_file @module}.rb" end
load_provider()
click to toggle source
# File lib/geolocal/configuration.rb, line 33 def load_provider require_provider_file @provider.split('::').reduce(Module, :const_get) end
module_file(modname)
click to toggle source
# File lib/geolocal/configuration.rb, line 43 def module_file modname modname.gsub('::', '/').gsub(/([a-z])([A-Z])/, '\1_\2').downcase end
require_provider_file()
click to toggle source
# File lib/geolocal/configuration.rb, line 23 def require_provider_file begin # normal ruby/gem load path Kernel.require module_file(@provider) rescue LoadError # used when running source code locally Kernel.require "./lib/#{module_file(@provider)}.rb" end end
to_hash()
click to toggle source
# File lib/geolocal/configuration.rb, line 38 def to_hash # returned keys will always be symbols OPTIONS.reduce({}) { |a,v| a.merge! v => self.send(v) } end