sorbet/rbi/gems/geocoder@1.8.1.rbi
# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `geocoder` gem.
# Please instead update this file by running `bin/tapioca gem geocoder`.
class ActionDispatch::Request
include ::Geocoder::Request
end
# source://geocoder//lib/geocoder/configuration_hash.rb#1
module Geocoder
class << self
# Look up the address of the given coordinates ([lat,lon])
# or IP address (string).
#
# source://geocoder//lib/geocoder.rb#38
def address(query, options = T.unsafe(nil)); end
# Read-only access to the singleton's config data.
#
# source://geocoder//lib/geocoder/configuration.rb#26
def config; end
# Read-only access to lookup-specific config data.
#
# source://geocoder//lib/geocoder/configuration.rb#33
def config_for_lookup(lookup_name); end
# Configuration options should be set by passing a hash:
#
# Geocoder.configure(
# :timeout => 5,
# :lookup => :yandex,
# :api_key => "2a9fsa983jaslfj982fjasd",
# :units => :km
# )
#
# source://geocoder//lib/geocoder/configuration.rb#17
def configure(options = T.unsafe(nil), &block); end
# Look up the coordinates of the given street or IP address.
#
# source://geocoder//lib/geocoder.rb#28
def coordinates(address, options = T.unsafe(nil)); end
# source://geocoder//lib/geocoder/logger.rb#5
def log(level, message); end
# Merge the given hash into a lookup's existing configuration.
#
# source://geocoder//lib/geocoder/configuration.rb#45
def merge_into_lookup_config(lookup_name, options); end
# Search for information about an address or a set of coordinates.
#
# source://geocoder//lib/geocoder.rb#20
def search(query, options = T.unsafe(nil)); end
end
end
# source://geocoder//lib/geocoder/cache.rb#4
class Geocoder::Cache
# @return [Cache] a new instance of Cache
#
# source://geocoder//lib/geocoder/cache.rb#6
def initialize(store, config); end
# Read from the Cache.
#
# source://geocoder//lib/geocoder/cache.rb#14
def [](url); end
# Write to the Cache.
#
# source://geocoder//lib/geocoder/cache.rb#23
def []=(url, value); end
# Delete cache entry for given URL,
# or pass <tt>:all</tt> to clear all URLs.
#
# source://geocoder//lib/geocoder/cache.rb#33
def expire(url); end
private
# source://geocoder//lib/geocoder/cache.rb#73
def expire_single_url(url); end
# Clean up value before returning. Namely, convert empty string to nil.
# (Some key/value stores return empty string instead of nil.)
#
# source://geocoder//lib/geocoder/cache.rb#69
def interpret(value); end
# Array of keys with the currently configured prefix
# that have non-nil values.
#
# source://geocoder//lib/geocoder/cache.rb#54
def keys; end
# source://geocoder//lib/geocoder/cache.rb#48
def store_service; end
# Array of cached URLs.
#
# source://geocoder//lib/geocoder/cache.rb#61
def urls; end
end
# source://geocoder//lib/geocoder/cache_stores/base.rb#1
module Geocoder::CacheStore; end
# source://geocoder//lib/geocoder/cache_stores/base.rb#2
class Geocoder::CacheStore::Base
# @return [Base] a new instance of Base
#
# source://geocoder//lib/geocoder/cache_stores/base.rb#3
def initialize(store, options); end
# Array of keys with the currently configured prefix
# that have non-nil values.
#
# source://geocoder//lib/geocoder/cache_stores/base.rb#12
def keys; end
# Array of cached URLs.
#
# source://geocoder//lib/geocoder/cache_stores/base.rb#19
def urls; end
protected
# source://geocoder//lib/geocoder/cache_stores/base.rb#27
def config; end
# Cache key for a given URL.
#
# source://geocoder//lib/geocoder/cache_stores/base.rb#32
def key_for(url); end
# source://geocoder//lib/geocoder/cache_stores/base.rb#25
def prefix; end
# source://geocoder//lib/geocoder/cache_stores/base.rb#26
def store; end
end
# source://geocoder//lib/geocoder/cache_stores/generic.rb#4
class Geocoder::CacheStore::Generic < ::Geocoder::CacheStore::Base
# source://geocoder//lib/geocoder/cache_stores/generic.rb#27
def keys; end
# source://geocoder//lib/geocoder/cache_stores/generic.rb#16
def read(url); end
# source://geocoder//lib/geocoder/cache_stores/generic.rb#31
def remove(key); end
# source://geocoder//lib/geocoder/cache_stores/generic.rb#5
def write(url, value); end
end
# source://geocoder//lib/geocoder/cache_stores/redis.rb#4
class Geocoder::CacheStore::Redis < ::Geocoder::CacheStore::Base
# @return [Redis] a new instance of Redis
#
# source://geocoder//lib/geocoder/cache_stores/redis.rb#5
def initialize(store, options); end
# source://geocoder//lib/geocoder/cache_stores/redis.rb#22
def keys; end
# source://geocoder//lib/geocoder/cache_stores/redis.rb#18
def read(url); end
# source://geocoder//lib/geocoder/cache_stores/redis.rb#26
def remove(key); end
# source://geocoder//lib/geocoder/cache_stores/redis.rb#10
def write(url, value, expire = T.unsafe(nil)); end
private
# source://geocoder//lib/geocoder/cache_stores/redis.rb#32
def expire; end
end
# source://geocoder//lib/geocoder/calculations.rb#2
module Geocoder::Calculations
extend ::Geocoder::Calculations
# Bearing between two points on Earth.
# Returns a number of degrees from due north (clockwise).
#
# See Geocoder::Calculations.distance_between for
# ways of specifying the points. Also accepts an options hash:
#
# * <tt>:method</tt> - <tt>:linear</tt> or <tt>:spherical</tt>;
# the spherical method is "correct" in that it returns the shortest path
# (one along a great circle) but the linear method is less confusing
# (returns due east or west when given two points with the same latitude).
# Use Geocoder.configure(:distances => ...) to configure calculation method.
#
# Based on: http://www.movable-type.co.uk/scripts/latlong.html
#
# source://geocoder//lib/geocoder/calculations.rb#118
def bearing_between(point1, point2, options = T.unsafe(nil)); end
# Returns coordinates of the southwest and northeast corners of a box
# with the given point at its center. The radius is the shortest distance
# from the center point to any side of the box (the length of each side
# is twice the radius).
#
# This is useful for finding corner points of a map viewport, or for
# roughly limiting the possible solutions in a geo-spatial search
# (ActiveRecord queries use it thusly).
#
# See Geocoder::Calculations.distance_between for
# ways of specifying the point. Also accepts an options hash:
#
# * <tt>:units</tt> - <tt>:mi</tt> or <tt>:km</tt>.
# Use Geocoder.configure(:units => ...) to configure default units.
#
# source://geocoder//lib/geocoder/calculations.rb#210
def bounding_box(point, radius, options = T.unsafe(nil)); end
# Translate a bearing (float) into a compass direction (string, eg "North").
#
# source://geocoder//lib/geocoder/calculations.rb#156
def compass_point(bearing, points = T.unsafe(nil)); end
# Returns true if all given arguments are valid latitude/longitude values.
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/calculations.rb#44
def coordinates_present?(*args); end
# Distance between two points on Earth (Haversine formula).
# Takes two points and an options hash.
# The points are given in the same way that points are given to all
# Geocoder methods that accept points as arguments. They can be:
#
# * an array of coordinates ([lat,lon])
# * a geocodable address (string)
# * a geocoded object (one which implements a +to_coordinates+ method
# which returns a [lat,lon] array
#
# The options hash supports:
#
# * <tt>:units</tt> - <tt>:mi</tt> or <tt>:km</tt>
# Use Geocoder.configure(:units => ...) to configure default units.
#
# source://geocoder//lib/geocoder/calculations.rb#84
def distance_between(point1, point2, options = T.unsafe(nil)); end
# source://geocoder//lib/geocoder/calculations.rb#319
def distance_to_radians(distance, units = T.unsafe(nil)); end
# Radius of the Earth in the given units (:mi or :km).
# Use Geocoder.configure(:units => ...) to configure default units.
#
# source://geocoder//lib/geocoder/calculations.rb#355
def earth_radius(units = T.unsafe(nil)); end
# Given a start point, heading (in degrees), and distance, provides
# an endpoint.
# The starting point is given in the same way that points are given to all
# Geocoder methods that accept points as arguments. It can be:
#
# * an array of coordinates ([lat,lon])
# * a geocodable address (string)
# * a geocoded object (one which implements a +to_coordinates+ method
# which returns a [lat,lon] array
#
# source://geocoder//lib/geocoder/calculations.rb#269
def endpoint(start, heading, distance, options = T.unsafe(nil)); end
# Takes an object which is a [lat,lon] array, a geocodable string,
# or an object that implements +to_coordinates+ and returns a
# [lat,lon] array. Note that if a string is passed this may be a slow-
# running method and may return nil.
#
# source://geocoder//lib/geocoder/calculations.rb#397
def extract_coordinates(point); end
# Compute the geographic center (aka geographic midpoint, center of
# gravity) for an array of geocoded objects and/or [lat,lon] arrays
# (can be mixed). Any objects missing coordinates are ignored. Follows
# the procedure documented at http://www.geomidpoint.com/calculation.html.
#
# source://geocoder//lib/geocoder/calculations.rb#167
def geographic_center(points); end
# Conversion factor: km to mi.
#
# source://geocoder//lib/geocoder/calculations.rb#362
def km_in_mi; end
# Conversion factor: km to nm.
#
# source://geocoder//lib/geocoder/calculations.rb#370
def km_in_nm; end
# Distance spanned by one degree of latitude in the given units.
#
# source://geocoder//lib/geocoder/calculations.rb#56
def latitude_degree_distance(units = T.unsafe(nil)); end
# Distance spanned by one degree of longitude at the given latitude.
# This ranges from around 69 miles at the equator to zero at the poles.
#
# source://geocoder//lib/geocoder/calculations.rb#64
def longitude_degree_distance(latitude, units = T.unsafe(nil)); end
# Conversion factor: mi to km.
#
# source://geocoder//lib/geocoder/calculations.rb#378
def mi_in_km; end
# Conversion factor: nm to km.
#
# source://geocoder//lib/geocoder/calculations.rb#386
def nm_in_km; end
# source://geocoder//lib/geocoder/calculations.rb#323
def radians_to_distance(radians, units = T.unsafe(nil)); end
# Random point within a circle of provided radius centered
# around the provided point
# Takes one point, one radius, and an options hash.
# The points are given in the same way that points are given to all
# Geocoder methods that accept points as arguments. They can be:
#
# * an array of coordinates ([lat,lon])
# * a geocodable address (string)
# * a geocoded object (one which implements a +to_coordinates+ method
# which returns a [lat,lon] array
#
# The options hash supports:
#
# * <tt>:units</tt> - <tt>:mi</tt> or <tt>:km</tt>
# Use Geocoder.configure(:units => ...) to configure default units.
# * <tt>:seed</tt> - The seed for the random number generator
#
# source://geocoder//lib/geocoder/calculations.rb#238
def random_point_near(center, radius, options = T.unsafe(nil)); end
# Convert radians to degrees.
# If an array (or multiple arguments) is passed,
# converts each value and returns array.
#
# source://geocoder//lib/geocoder/calculations.rb#310
def to_degrees(*args); end
# Convert miles to kilometers.
#
# source://geocoder//lib/geocoder/calculations.rb#330
def to_kilometers(mi); end
# Convert kilometers to miles.
#
# source://geocoder//lib/geocoder/calculations.rb#338
def to_miles(km); end
# Convert kilometers to nautical miles.
#
# source://geocoder//lib/geocoder/calculations.rb#346
def to_nautical_miles(km); end
# Convert degrees to radians.
# If an array (or multiple arguments) is passed,
# converts each value and returns array.
#
# source://geocoder//lib/geocoder/calculations.rb#296
def to_radians(*args); end
end
# Compass point names, listed clockwise starting at North.
#
# If you want bearings named using more, fewer, or different points
# override Geocoder::Calculations.COMPASS_POINTS with your own array.
#
# source://geocoder//lib/geocoder/calculations.rb#11
Geocoder::Calculations::COMPASS_POINTS = T.let(T.unsafe(nil), Array)
# Conversion factor: multiply by radians to get degrees.
#
# source://geocoder//lib/geocoder/calculations.rb#26
Geocoder::Calculations::DEGREES_PER_RADIAN = T.let(T.unsafe(nil), Float)
# Radius of the Earth, in kilometers.
# Value taken from: http://en.wikipedia.org/wiki/Earth_radius
#
# source://geocoder//lib/geocoder/calculations.rb#32
Geocoder::Calculations::EARTH_RADII = T.let(T.unsafe(nil), Hash)
# TODO: deprecate this constant (use `EARTH_RADII[:km]`)
#
# source://geocoder//lib/geocoder/calculations.rb#36
Geocoder::Calculations::EARTH_RADIUS = T.let(T.unsafe(nil), Float)
# Conversion factor: multiply by kilometers to get miles.
#
# source://geocoder//lib/geocoder/calculations.rb#16
Geocoder::Calculations::KM_IN_MI = T.let(T.unsafe(nil), Float)
# Conversion factor: multiply by nautical miles to get miles.
#
# source://geocoder//lib/geocoder/calculations.rb#21
Geocoder::Calculations::KM_IN_NM = T.let(T.unsafe(nil), Float)
# Not a number constant
#
# source://geocoder//lib/geocoder/calculations.rb#39
Geocoder::Calculations::NAN = T.let(T.unsafe(nil), Float)
# source://geocoder//lib/geocoder/configuration.rb#50
class Geocoder::Configuration
include ::Singleton
extend ::Singleton::SingletonClassMethods
# :nodoc
#
# @return [Configuration] a new instance of Configuration
#
# source://geocoder//lib/geocoder/configuration.rb#97
def initialize; end
# source://geocoder//lib/geocoder/configuration.rb#85
def always_raise; end
# source://geocoder//lib/geocoder/configuration.rb#88
def always_raise=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def api_key; end
# source://geocoder//lib/geocoder/configuration.rb#88
def api_key=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def basic_auth; end
# source://geocoder//lib/geocoder/configuration.rb#88
def basic_auth=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def cache; end
# source://geocoder//lib/geocoder/configuration.rb#88
def cache=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def cache_options; end
# source://geocoder//lib/geocoder/configuration.rb#88
def cache_options=(value); end
# source://geocoder//lib/geocoder/configuration.rb#93
def configure(options); end
# Returns the value of attribute data.
#
# source://geocoder//lib/geocoder/configuration.rb#74
def data; end
# Sets the attribute data
#
# @param value the value to set the attribute data to.
#
# source://geocoder//lib/geocoder/configuration.rb#74
def data=(_arg0); end
# source://geocoder//lib/geocoder/configuration.rb#85
def distances; end
# source://geocoder//lib/geocoder/configuration.rb#88
def distances=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def host; end
# source://geocoder//lib/geocoder/configuration.rb#88
def host=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def http_headers; end
# source://geocoder//lib/geocoder/configuration.rb#88
def http_headers=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def http_proxy; end
# source://geocoder//lib/geocoder/configuration.rb#88
def http_proxy=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def https_proxy; end
# source://geocoder//lib/geocoder/configuration.rb#88
def https_proxy=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def ip_lookup; end
# source://geocoder//lib/geocoder/configuration.rb#88
def ip_lookup=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def kernel_logger_level; end
# source://geocoder//lib/geocoder/configuration.rb#88
def kernel_logger_level=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def language; end
# source://geocoder//lib/geocoder/configuration.rb#88
def language=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def logger; end
# source://geocoder//lib/geocoder/configuration.rb#88
def logger=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def lookup; end
# source://geocoder//lib/geocoder/configuration.rb#88
def lookup=(value); end
# source://geocoder//lib/geocoder/configuration.rb#102
def set_defaults; end
# source://geocoder//lib/geocoder/configuration.rb#85
def timeout; end
# source://geocoder//lib/geocoder/configuration.rb#88
def timeout=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def units; end
# source://geocoder//lib/geocoder/configuration.rb#88
def units=(value); end
# source://geocoder//lib/geocoder/configuration.rb#85
def use_https; end
# source://geocoder//lib/geocoder/configuration.rb#88
def use_https=(value); end
class << self
def always_raise; end
def always_raise=(value); end
def api_key; end
def api_key=(value); end
def basic_auth; end
def basic_auth=(value); end
def cache; end
def cache=(value); end
def cache_options; end
def cache_options=(value); end
def distances; end
def distances=(value); end
def host; end
def host=(value); end
def http_headers; end
def http_headers=(value); end
def http_proxy; end
def http_proxy=(value); end
def https_proxy; end
def https_proxy=(value); end
def ip_lookup; end
def ip_lookup=(value); end
def kernel_logger_level; end
def kernel_logger_level=(value); end
def language; end
def language=(value); end
def logger; end
def logger=(value); end
def lookup; end
def lookup=(value); end
# source://geocoder//lib/geocoder/configuration.rb#76
def set_defaults; end
def timeout; end
def timeout=(value); end
def units; end
def units=(value); end
def use_https; end
def use_https=(value); end
private
def allocate; end
def new(*_arg0); end
end
end
# source://geocoder//lib/geocoder/configuration.rb#53
Geocoder::Configuration::OPTIONS = T.let(T.unsafe(nil), Array)
# source://geocoder//lib/geocoder/exceptions.rb#8
class Geocoder::ConfigurationError < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/configuration_hash.rb#2
class Geocoder::ConfigurationHash < ::Hash
# source://geocoder//lib/geocoder/configuration_hash.rb#3
def method_missing(meth, *args, &block); end
private
# @return [Boolean]
#
# source://geocoder//lib/geocoder/configuration_hash.rb#7
def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
end
# source://geocoder//lib/geocoder/exceptions.rb#5
class Geocoder::Error < ::StandardError; end
# source://geocoder//lib/geocoder/exceptions.rb#28
class Geocoder::InvalidApiKey < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/exceptions.rb#25
class Geocoder::InvalidRequest < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/ip_address.rb#3
class Geocoder::IpAddress < ::String
# @return [IpAddress] a new instance of IpAddress
#
# source://geocoder//lib/geocoder/ip_address.rb#10
def initialize(ip); end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/ip_address.rb#16
def internal?; end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/ip_address.rb#20
def loopback?; end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/ip_address.rb#24
def private?; end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/ip_address.rb#28
def valid?; end
end
# source://geocoder//lib/geocoder/ip_address.rb#4
Geocoder::IpAddress::PRIVATE_IPS = T.let(T.unsafe(nil), Array)
# source://geocoder//lib/geocoder/kernel_logger.rb#2
class Geocoder::KernelLogger
include ::Singleton
extend ::Singleton::SingletonClassMethods
# source://geocoder//lib/geocoder/kernel_logger.rb#5
def add(level, message); end
private
# @return [Boolean]
#
# source://geocoder//lib/geocoder/kernel_logger.rb#21
def log_message_at_level?(level); end
class << self
private
def allocate; end
def new(*_arg0); end
end
end
# source://geocoder//lib/geocoder/logger.rb#9
class Geocoder::Logger
include ::Singleton
extend ::Singleton::SingletonClassMethods
# source://geocoder//lib/geocoder/logger.rb#20
def log(level, message); end
private
# source://geocoder//lib/geocoder/logger.rb#35
def current_logger; end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/logger.rb#43
def valid_level?(level); end
class << self
private
def allocate; end
def new(*_arg0); end
end
end
# source://geocoder//lib/geocoder/logger.rb#12
Geocoder::Logger::SEVERITY = T.let(T.unsafe(nil), Hash)
# source://geocoder//lib/geocoder/lookups/base.rb#14
module Geocoder::Lookup
extend ::Geocoder::Lookup
# Array of valid Lookup service names.
#
# source://geocoder//lib/geocoder/lookup.rb#10
def all_services; end
# Array of valid Lookup service names, excluding :test.
#
# source://geocoder//lib/geocoder/lookup.rb#17
def all_services_except_test; end
# Array of valid Lookup service names, excluding any that do not build their own HTTP requests.
# For example, Amazon Location Service uses the AWS gem, not HTTP REST requests, to fetch data.
#
# source://geocoder//lib/geocoder/lookup.rb#25
def all_services_with_http_requests; end
# Retrieve a Lookup object from the store.
# Use this instead of Geocoder::Lookup::X.new to get an
# already-configured Lookup object.
#
# source://geocoder//lib/geocoder/lookup.rb#107
def get(name); end
# All IP address lookup services, default first.
#
# source://geocoder//lib/geocoder/lookup.rb#76
def ip_services; end
# Sets the attribute ip_services
#
# @param value the value to set the attribute ip_services to.
#
# source://geocoder//lib/geocoder/lookup.rb#100
def ip_services=(_arg0); end
# All street address lookup services, default first.
#
# source://geocoder//lib/geocoder/lookup.rb#32
def street_services; end
# Sets the attribute street_services
#
# @param value the value to set the attribute street_services to.
#
# source://geocoder//lib/geocoder/lookup.rb#100
def street_services=(_arg0); end
private
# Convert an "underscore" version of a name into a "class" version.
#
# source://geocoder//lib/geocoder/lookup.rb#133
def classify_name(filename); end
# Safely instantiate Lookup
#
# source://geocoder//lib/geocoder/lookup.rb#140
def instantiate_lookup(name); end
# Spawn a Lookup of the given name.
#
# source://geocoder//lib/geocoder/lookup.rb#119
def spawn(name); end
end
# source://geocoder//lib/geocoder/lookups/base.rb#16
class Geocoder::Lookup::Base
# @return [Base] a new instance of Base
#
# source://geocoder//lib/geocoder/lookups/base.rb#17
def initialize; end
# The working Cache object.
#
# source://geocoder//lib/geocoder/lookups/base.rb#85
def cache; end
# Symbol which is used in configuration to refer to this Lookup.
#
# source://geocoder//lib/geocoder/lookups/base.rb#31
def handle; end
# Return the URL for a map of the given coordinates.
#
# Not necessarily implemented by all subclasses as only some lookups
# also provide maps.
#
# source://geocoder//lib/geocoder/lookups/base.rb#59
def map_link_url(coordinates); end
# Human-readable name of the geocoding API.
#
# source://geocoder//lib/geocoder/lookups/base.rb#24
def name; end
# URL to use for querying the geocoding engine.
#
# Subclasses should not modify this method. Instead they should define
# base_query_url and url_query_string. If absolutely necessary to
# subclss this method, they must also subclass #cache_key.
#
# source://geocoder//lib/geocoder/lookups/base.rb#78
def query_url(query); end
# Array containing string descriptions of keys required by the API.
# Empty array if keys are optional or not required.
#
# source://geocoder//lib/geocoder/lookups/base.rb#67
def required_api_key_parts; end
# Query the geocoding API and return a Geocoder::Result object.
# Returns +nil+ on timeout or error.
#
# Takes a search string (eg: "Mississippi Coast Coliseumf, Biloxi, MS",
# "205.128.54.202") for geocoding, or coordinates (latitude, longitude)
# for reverse geocoding. Returns an array of <tt>Geocoder::Result</tt>s.
#
# source://geocoder//lib/geocoder/lookups/base.rb#44
def search(query, options = T.unsafe(nil)); end
# Array containing the protocols supported by the api.
# Should be set to [:http] if only HTTP is supported
# or [:https] if only HTTPS is supported.
#
# source://geocoder//lib/geocoder/lookups/base.rb#98
def supported_protocols; end
private
# String which, when concatenated with url_query_string(query)
# produces the full query URL. Should include the "?" a the end.
#
# source://geocoder//lib/geocoder/lookups/base.rb#108
def base_query_url(query); end
# Key to use for caching a geocoding result. Usually this will be the
# request URL, but in cases where OAuth is used and the nonce,
# timestamp, etc varies from one request to another, we need to use
# something else (like the URL before OAuth encoding).
#
# source://geocoder//lib/geocoder/lookups/base.rb#161
def cache_key(query); end
# source://geocoder//lib/geocoder/lookups/base.rb#165
def cache_key_params(query); end
# source://geocoder//lib/geocoder/lookups/base.rb#329
def check_api_key_configuration!(query); end
# source://geocoder//lib/geocoder/lookups/base.rb#274
def check_response_for_errors!(response); end
# An object with configuration data for this particular lookup.
#
# source://geocoder//lib/geocoder/lookups/base.rb#115
def configuration; end
# source://geocoder//lib/geocoder/lookups/base.rb#327
def configure_ssl!(client); end
# Returns a parsed search result (Ruby hash).
#
# source://geocoder//lib/geocoder/lookups/base.rb#195
def fetch_data(query); end
# Fetch a raw geocoding result (JSON string).
# The result might or might not be cached.
#
# source://geocoder//lib/geocoder/lookups/base.rb#244
def fetch_raw_data(query); end
# Simulate ActiveSupport's Object#to_query.
# Removes any keys with nil value.
#
# source://geocoder//lib/geocoder/lookups/base.rb#343
def hash_to_query(hash); end
# Object used to make HTTP requests.
#
# source://geocoder//lib/geocoder/lookups/base.rb#122
def http_client; end
# Make an HTTP(S) request to a geocoding API and
# return the response object.
#
# source://geocoder//lib/geocoder/lookups/base.rb#297
def make_api_request(query); end
# source://geocoder//lib/geocoder/lookups/base.rb#208
def parse_json(data); end
# Parses a raw search result (returns hash or array).
#
# source://geocoder//lib/geocoder/lookups/base.rb#224
def parse_raw_data(raw_data); end
# Protocol to use for communication with geocoding services.
# Set in configuration but not available for every service.
#
# source://geocoder//lib/geocoder/lookups/base.rb#232
def protocol; end
# source://geocoder//lib/geocoder/lookups/base.rb#145
def query_url_params(query); end
# Raise exception if configuration specifies it should be raised.
# Return false if exception not raised.
#
# source://geocoder//lib/geocoder/lookups/base.rb#183
def raise_error(error, message = T.unsafe(nil)); end
# Class of the result objects
#
# source://geocoder//lib/geocoder/lookups/base.rb#175
def result_class; end
# Geocoder::Result object or nil on timeout or other error.
#
# source://geocoder//lib/geocoder/lookups/base.rb#141
def results(query); end
# source://geocoder//lib/geocoder/lookups/base.rb#149
def url_query_string(query); end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/lookups/base.rb#317
def use_ssl?; end
# @return [Boolean]
#
# source://geocoder//lib/geocoder/lookups/base.rb#236
def valid_response?(response); end
end
# source://geocoder//lib/geocoder/lookups/test.rb#6
class Geocoder::Lookup::Test < ::Geocoder::Lookup::Base
# source://geocoder//lib/geocoder/lookups/test.rb#8
def name; end
private
# source://geocoder//lib/geocoder/lookups/test.rb#43
def results(query); end
class << self
# source://geocoder//lib/geocoder/lookups/test.rb#12
def add_stub(query_text, results); end
# source://geocoder//lib/geocoder/lookups/test.rb#32
def delete_stub(query_text); end
# source://geocoder//lib/geocoder/lookups/test.rb#20
def read_stub(query_text); end
# source://geocoder//lib/geocoder/lookups/test.rb#36
def reset; end
# source://geocoder//lib/geocoder/lookups/test.rb#16
def set_default_stub(results); end
# source://geocoder//lib/geocoder/lookups/test.rb#28
def stubs; end
end
end
# source://geocoder//lib/geocoder/exceptions.rb#34
class Geocoder::LookupTimeout < ::Timeout::Error; end
# Methods for invoking Geocoder in a model.
#
# source://geocoder//lib/geocoder/models/base.rb#6
module Geocoder::Model; end
# source://geocoder//lib/geocoder/models/active_record.rb#5
module Geocoder::Model::ActiveRecord
include ::Geocoder::Model::Base
# Set attribute names and include the Geocoder module.
#
# source://geocoder//lib/geocoder/models/active_record.rb#11
def geocoded_by(address_attr, options = T.unsafe(nil), &block); end
# Set attribute names and include the Geocoder module.
#
# source://geocoder//lib/geocoder/models/active_record.rb#29
def reverse_geocoded_by(latitude_attr, longitude_attr, options = T.unsafe(nil), &block); end
private
# source://geocoder//lib/geocoder/models/active_record.rb#47
def geocoder_file_name; end
# source://geocoder//lib/geocoder/models/active_record.rb#48
def geocoder_module_name; end
end
# source://geocoder//lib/geocoder/models/base.rb#7
module Geocoder::Model::Base
# source://geocoder//lib/geocoder/models/base.rb#19
def geocoded_by; end
# source://geocoder//lib/geocoder/models/base.rb#9
def geocoder_options; end
# source://geocoder//lib/geocoder/models/base.rb#23
def reverse_geocoded_by; end
private
# source://geocoder//lib/geocoder/models/base.rb#29
def geocoder_init(options); end
end
# source://geocoder//lib/geocoder/exceptions.rb#37
class Geocoder::NetworkError < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/exceptions.rb#11
class Geocoder::OverQueryLimitError < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/query.rb#2
class Geocoder::Query
# @return [Query] a new instance of Query
#
# source://geocoder//lib/geocoder/query.rb#5
def initialize(text, options = T.unsafe(nil)); end
# Is the Query blank? (ie, should we not bother searching?)
# A query is considered blank if its text is nil or empty string AND
# no URL parameters are specified.
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#52
def blank?; end
# Return the latitude/longitude coordinates specified in the query,
# or nil if none.
#
# source://geocoder//lib/geocoder/query.rb#104
def coordinates; end
# Does the given string look like latitude/longitude coordinates?
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#93
def coordinates?; end
# source://geocoder//lib/geocoder/query.rb#10
def execute; end
# Is the Query text a loopback or private IP address?
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#72
def internal_ip_address?; end
# Does the Query text look like an IP address?
#
# Does not check for actual validity, just the appearance of four
# dot-delimited numbers.
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#65
def ip_address?; end
# source://geocoder//lib/geocoder/query.rb#115
def language; end
# Get a Lookup object (which communicates with the remote geocoding API)
# appropriate to the Query text.
#
# source://geocoder//lib/geocoder/query.rb#34
def lookup; end
# Is the Query text a loopback IP address?
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#79
def loopback_ip_address?; end
# Returns the value of attribute options.
#
# source://geocoder//lib/geocoder/query.rb#3
def options; end
# Sets the attribute options
#
# @param value the value to set the attribute options to.
#
# source://geocoder//lib/geocoder/query.rb#3
def options=(_arg0); end
# Is the Query text a private IP address?
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#86
def private_ip_address?; end
# Should reverse geocoding be performed for this query?
#
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#111
def reverse_geocode?; end
# source://geocoder//lib/geocoder/query.rb#18
def sanitized_text; end
# Returns the value of attribute text.
#
# source://geocoder//lib/geocoder/query.rb#3
def text; end
# Sets the attribute text
#
# @param value the value to set the attribute text to.
#
# source://geocoder//lib/geocoder/query.rb#3
def text=(_arg0); end
# source://geocoder//lib/geocoder/query.rb#14
def to_s; end
# source://geocoder//lib/geocoder/query.rb#43
def url; end
private
# @return [Boolean]
#
# source://geocoder//lib/geocoder/query.rb#121
def params_given?; end
end
# source://geocoder//lib/geocoder/railtie.rb#6
class Geocoder::Railtie < ::Rails::Railtie
class << self
# source://geocoder//lib/geocoder/railtie.rb#20
def insert; end
end
end
# source://geocoder//lib/geocoder/request.rb#4
module Geocoder::Request
# source://geocoder//lib/geocoder/request.rb#46
def geocoder_spoofable_ip; end
# The location() method is vulnerable to trivial IP spoofing.
# Don't use it in authorization/authentication code, or any
# other security-sensitive application. Use safe_location
# instead.
#
# source://geocoder//lib/geocoder/request.rb#10
def location; end
# This safe_location() protects you from trivial IP spoofing.
# For requests that go through a proxy that you haven't
# whitelisted as trusted in your Rack config, you will get the
# location for the IP of the last untrusted proxy in the chain,
# not the original client IP. You WILL NOT get the location
# corresponding to the original client IP for any request sent
# through a non-whitelisted proxy.
#
# source://geocoder//lib/geocoder/request.rb#21
def safe_location; end
private
# source://geocoder//lib/geocoder/request.rb#98
def geocoder_reject_non_ipv4_addresses(ip_addresses); end
# use Rack's trusted_proxy?() method to filter out IPs that have
# been configured as trusted; includes private ranges by
# default. (we don't want every lookup to return the location
# of our own proxy/load balancer)
#
# source://geocoder//lib/geocoder/request.rb#79
def geocoder_reject_trusted_ip_addresses(ip_addresses); end
# source://geocoder//lib/geocoder/request.rb#83
def geocoder_remove_port_from_addresses(ip_addresses); end
# source://geocoder//lib/geocoder/request.rb#71
def geocoder_split_ip_addresses(ip_addresses); end
end
# There's a whole zoo of nonstandard headers added by various
# proxy softwares to indicate original client IP.
# ANY of these can be trivially spoofed!
# (except REMOTE_ADDR, which should by set by your server,
# and is included at the end as a fallback.
# Order does matter: we're following the convention established in
# ActionDispatch::RemoteIp::GetIp::calculate_ip()
# https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/remote_ip.rb
# where the forwarded_for headers, possibly containing lists,
# are arbitrarily preferred over headers expected to contain a
# single address.
#
# source://geocoder//lib/geocoder/request.rb#36
Geocoder::Request::GEOCODER_CANDIDATE_HEADERS = T.let(T.unsafe(nil), Array)
# source://geocoder//lib/geocoder/exceptions.rb#22
class Geocoder::RequestDenied < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/exceptions.rb#14
class Geocoder::ResponseParseError < ::Geocoder::Error
# @return [ResponseParseError] a new instance of ResponseParseError
#
# source://geocoder//lib/geocoder/exceptions.rb#17
def initialize(response); end
# Returns the value of attribute response.
#
# source://geocoder//lib/geocoder/exceptions.rb#15
def response; end
end
# source://geocoder//lib/geocoder/results/base.rb#2
module Geocoder::Result; end
# source://geocoder//lib/geocoder/results/base.rb#3
class Geocoder::Result::Base
# Takes a hash of data from a parsed geocoding service response.
#
# @return [Base] a new instance of Base
#
# source://geocoder//lib/geocoder/results/base.rb#15
def initialize(data); end
# A string in the given format.
#
# This default implementation dumbly follows the United States address
# format and will return incorrect results for most countries. Some APIs
# return properly formatted addresses and those should be funneled
# through this method.
#
# source://geocoder//lib/geocoder/results/base.rb#28
def address(format = T.unsafe(nil)); end
# true if result came from cache, false if from request to geocoding
# service; nil if cache is not configured
#
# source://geocoder//lib/geocoder/results/base.rb#10
def cache_hit; end
# true if result came from cache, false if from request to geocoding
# service; nil if cache is not configured
#
# source://geocoder//lib/geocoder/results/base.rb#10
def cache_hit=(_arg0); end
# A two-element array: [lat, lon].
#
# source://geocoder//lib/geocoder/results/base.rb#42
def coordinates; end
# source://geocoder//lib/geocoder/results/base.rb#70
def country; end
# source://geocoder//lib/geocoder/results/base.rb#74
def country_code; end
# data (hash) fetched from geocoding service
#
# source://geocoder//lib/geocoder/results/base.rb#6
def data; end
# data (hash) fetched from geocoding service
#
# source://geocoder//lib/geocoder/results/base.rb#6
def data=(_arg0); end
# source://geocoder//lib/geocoder/results/base.rb#46
def latitude; end
# source://geocoder//lib/geocoder/results/base.rb#50
def longitude; end
# source://geocoder//lib/geocoder/results/base.rb#58
def province; end
# source://geocoder//lib/geocoder/results/base.rb#66
def province_code; end
# source://geocoder//lib/geocoder/results/base.rb#54
def state; end
# source://geocoder//lib/geocoder/results/base.rb#62
def state_code; end
end
# source://geocoder//lib/geocoder/results/test.rb#5
class Geocoder::Result::Test < ::Geocoder::Result::Base
# @return [Test] a new instance of Test
#
# source://geocoder//lib/geocoder/results/test.rb#24
def initialize(data); end
# source://geocoder//lib/geocoder/results/test.rb#13
def address; end
# source://geocoder//lib/geocoder/results/test.rb#13
def city; end
# source://geocoder//lib/geocoder/results/test.rb#13
def coordinates; end
# source://geocoder//lib/geocoder/results/test.rb#13
def country; end
# source://geocoder//lib/geocoder/results/test.rb#13
def country_code; end
# source://geocoder//lib/geocoder/results/test.rb#13
def geometry; end
# source://geocoder//lib/geocoder/results/test.rb#13
def neighborhood; end
# source://geocoder//lib/geocoder/results/test.rb#13
def postal_code; end
# source://geocoder//lib/geocoder/results/test.rb#13
def province; end
# source://geocoder//lib/geocoder/results/test.rb#13
def province_code; end
# source://geocoder//lib/geocoder/results/test.rb#13
def route; end
# source://geocoder//lib/geocoder/results/test.rb#13
def state; end
# source://geocoder//lib/geocoder/results/test.rb#13
def state_code; end
# source://geocoder//lib/geocoder/results/test.rb#13
def street_address; end
# source://geocoder//lib/geocoder/results/test.rb#13
def street_number; end
# source://geocoder//lib/geocoder/results/test.rb#13
def sub_state; end
# source://geocoder//lib/geocoder/results/test.rb#13
def sub_state_code; end
class << self
# source://geocoder//lib/geocoder/results/test.rb#7
def add_result_attribute(attr); end
end
end
# source://geocoder//lib/geocoder/exceptions.rb#31
class Geocoder::ServiceUnavailable < ::Geocoder::Error; end
# source://geocoder//lib/geocoder/util.rb#4
module Geocoder::Util
class << self
# Recursive version of Hash#merge!
#
# Adds the contents of +h2+ to +h1+,
# merging entries in +h1+ with duplicate keys with those from +h2+.
#
# Compared with Hash#merge!, this method supports nested hashes.
# When both +h1+ and +h2+ contains an entry with the same key,
# it merges and returns the values from both hashes.
#
# h1 = {"a" => 100, "b" => 200, "c" => {"c1" => 12, "c2" => 14}}
# h2 = {"b" => 254, "c" => {"c1" => 16, "c3" => 94}}
# recursive_hash_merge(h1, h2) #=> {"a" => 100, "b" => 254, "c" => {"c1" => 16, "c2" => 14, "c3" => 94}}
#
# Simply using Hash#merge! would return
#
# h1.merge!(h2) #=> {"a" => 100, "b" = >254, "c" => {"c1" => 16, "c3" => 94}}
#
# source://geocoder//lib/geocoder/util.rb#23
def recursive_hash_merge(h1, h2); end
end
end
class Rack::Request
include ::Geocoder::Request
end