class GenderizeWrapper

Constants

SERVICE_BASE_URL

Public Class Methods

gender_of(names) click to toggle source
# File lib/genderize_wrapper.rb, line 10
def gender_of(names)
  return @@cache if names == @@previous_names
  @@previous_names= names
  @@cache = request(create_query_string(names))
end

Private Class Methods

create_query_string(params) click to toggle source
# File lib/genderize_wrapper.rb, line 18
def create_query_string(params)
  if params.is_a?(Array)
    multiple_name_param(params)
  else
    single_name_param(params)
  end
end
multiple_name_param(names) click to toggle source
# File lib/genderize_wrapper.rb, line 30
def multiple_name_param(names)
  query_string = ''
  names.each_with_index do |name, index|
    query_string << "name[#{index}]=#{name}&"
  end
  query_string
end
request(query_string) click to toggle source
# File lib/genderize_wrapper.rb, line 38
def request(query_string)
  uri = URI("#{SERVICE_BASE_URL}/?#{query_string}")
  response = Net::HTTP.get(uri)
  JSON.parse(response)
end
single_name_param(name) click to toggle source
# File lib/genderize_wrapper.rb, line 26
def single_name_param(name)
  "name=#{name}"
end