Sha256: 3423ab9fd3f135d464d15048b08a8b00c3119f9246251c9cb85bd079170f4ba4

Contents?: true

Size: 762 Bytes

Versions: 2

Compression:

Stored size: 762 Bytes

Contents

# frozen_string_literal: true

module Genderize
  module Io
    class Lookup < Genderize::Io::Base

      RESPONSE_KEYS ||= %w[
        count country_id error language_id gender probability
      ].freeze

      def initialize(name, host: DEFAULT_HOST, country_id: nil, language_id: nil)
        super

        @data = {}
      end

      def determine
        return @data unless @request.nil?

        @request = generate_request
        @data = generate_data.merge(generate_rate_limits)
      end

      HEADER_KEYS.each do |key|
        define_method(key) { @data[key] }
      end

      RESPONSE_KEYS.each do |key|
        define_method(key) { @data[key] }
      end

      private

      def param_name
        "name=#{@name}"
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
genderize-io-1.2.1 lib/genderize/io/lookup.rb
genderize-io-1.2.0 lib/genderize/io/lookup.rb