class Genderize::Io::Base
Constants
- DEFAULT_HOST
- HEADER_KEYS
Attributes
country_id[R]
data[R]
host[R]
language_id[R]
name[R]
request[R]
Public Class Methods
determine(name, host: DEFAULT_HOST, country_id: nil, language_id: nil)
click to toggle source
# File lib/genderize/io/base.rb, line 24 def self.determine(name, host: DEFAULT_HOST, country_id: nil, language_id: nil) instance = new(name, host: host, country_id: country_id, language_id: language_id) instance.determine instance end
new(name, host: DEFAULT_HOST, country_id: nil, language_id: nil)
click to toggle source
# File lib/genderize/io/base.rb, line 16 def initialize(name, host: DEFAULT_HOST, country_id: nil, language_id: nil) @name = name @host = host @country_id = country_id @language_id = language_id @request = nil end
Public Instance Methods
url()
click to toggle source
# File lib/genderize/io/base.rb, line 30 def url connector = @host.include?('?') ? '&' : '?' "#{@host}#{connector}#{param_name}#{param_country_id}#{param_language_id}" end
Private Instance Methods
generate_data()
click to toggle source
# File lib/genderize/io/base.rb, line 37 def generate_data return if @request.nil? Genderize::Io::Parser::Json.parse(@request.response_body) end
generate_headers()
click to toggle source
# File lib/genderize/io/base.rb, line 43 def generate_headers return if @request.nil? Genderize::Io::Parser::Header.parse(@request.response_headers) end
generate_rate_limits()
click to toggle source
# File lib/genderize/io/base.rb, line 49 def generate_rate_limits headers = generate_headers return if headers.nil? HEADER_KEYS.each_with_object({}) { |key, hash| hash[key] = headers.send(key).to_i } end
generate_request()
click to toggle source
# File lib/genderize/io/base.rb, line 56 def generate_request return @request unless @request.nil? Typhoeus.get(url, accept_encoding: 'gzip,deflate') end
param_country_id()
click to toggle source
# File lib/genderize/io/base.rb, line 62 def param_country_id "&country_id=#{@country_id}" unless @country_id.nil? end
param_language_id()
click to toggle source
# File lib/genderize/io/base.rb, line 66 def param_language_id "&language_id=#{@language_id}" unless @language_id.nil? end