lib/geocoder/results/ipregistry.rb
require 'geocoder/results/base' module Geocoder::Result class Ipregistry < Base def initialize(data) super @data = flatten_hash(data) end def flatten_hash(hash) hash.each_with_object({}) do |(k, v), h| if v.is_a? Hash flatten_hash(v).map do |h_k, h_v| h["#{k}_#{h_k}".to_s] = h_v end else h[k] = v end end end private :flatten_hash def city @data['location_city'] end def country @data['location_country_name'] end def country_code @data['location_country_code'] end def latitude @data['location_latitude'] end def longitude @data['location_longitude'] end def postal_code @data['location_postal'] end def state @data['location_region_name'] end def state_code @data['location_region_code'] end # methods for fields specific to Ipregistry def ip @data["ip"] end def type @data["type"] end def hostname @data["hostname"] end def carrier_name @data["carrier_name"] end def carrier_mcc @data["carrier_mcc"] end def carrier_mnc @data["carrier_mnc"] end def connection_asn @data["connection_asn"] end def connection_domain @data["connection_domain"] end def connection_organization @data["connection_organization"] end def connection_type @data["connection_type"] end def currency_code @data["currency_code"] end def currency_name @data["currency_name"] end def currency_plural @data["currency_plural"] end def currency_symbol @data["currency_symbol"] end def currency_symbol_native @data["currency_symbol_native"] end def currency_format_negative_prefix @data["currency_format_negative_prefix"] end def currency_format_negative_suffix @data["currency_format_negative_suffix"] end def currency_format_positive_prefix @data["currency_format_positive_prefix"] end def currency_format_positive_suffix @data["currency_format_positive_suffix"] end def location_continent_code @data["location_continent_code"] end def location_continent_name @data["location_continent_name"] end def location_country_area @data["location_country_area"] end def location_country_borders @data["location_country_borders"] end def location_country_calling_code @data["location_country_calling_code"] end def location_country_capital @data["location_country_capital"] end def location_country_code @data["location_country_code"] end def location_country_name @data["location_country_name"] end def location_country_population @data["location_country_population"] end def location_country_population_density @data["location_country_population_density"] end def location_country_flag_emoji @data["location_country_flag_emoji"] end def location_country_flag_emoji_unicode @data["location_country_flag_emoji_unicode"] end def location_country_flag_emojitwo @data["location_country_flag_emojitwo"] end def location_country_flag_noto @data["location_country_flag_noto"] end def location_country_flag_twemoji @data["location_country_flag_twemoji"] end def location_country_flag_wikimedia @data["location_country_flag_wikimedia"] end def location_country_languages @data["location_country_languages"] end def location_country_tld @data["location_country_tld"] end def location_region_code @data["location_region_code"] end def location_region_name @data["location_region_name"] end def location_city @data["location_city"] end def location_postal @data["location_postal"] end def location_latitude @data["location_latitude"] end def location_longitude @data["location_longitude"] end def location_language_code @data["location_language_code"] end def location_language_name @data["location_language_name"] end def location_language_native @data["location_language_native"] end def location_in_eu @data["location_in_eu"] end def security_is_bogon @data["security_is_bogon"] end def security_is_cloud_provider @data["security_is_cloud_provider"] end def security_is_tor @data["security_is_tor"] end def security_is_tor_exit @data["security_is_tor_exit"] end def security_is_proxy @data["security_is_proxy"] end def security_is_anonymous @data["security_is_anonymous"] end def security_is_abuser @data["security_is_abuser"] end def security_is_attacker @data["security_is_attacker"] end def security_is_threat @data["security_is_threat"] end def time_zone_id @data["time_zone_id"] end def time_zone_abbreviation @data["time_zone_abbreviation"] end def time_zone_current_time @data["time_zone_current_time"] end def time_zone_name @data["time_zone_name"] end def time_zone_offset @data["time_zone_offset"] end def time_zone_in_daylight_saving @data["time_zone_in_daylight_saving"] end end end