Sha256: babd8a31791bccc2e03f339c4346dc273bf5e04eea2f3d24e3caceec456d8c3d

Contents?: true

Size: 760 Bytes

Versions: 3

Compression:

Stored size: 760 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

3 entries across 3 versions & 1 rubygems

Version Path
genderize-io-1.4.0 lib/genderize/io/lookup.rb
genderize-io-1.3.0 lib/genderize/io/lookup.rb
genderize-io-1.2.2 lib/genderize/io/lookup.rb