genderize_wrapper 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/genderize_wrapper.rb +44 -0
  3. metadata +44 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e5541cbf77c5ff9dd95fb63a49ba5caa149888c1
4
+ data.tar.gz: 41bf652ca08f6dc6e659128612c1e2289f748a57
5
+ SHA512:
6
+ metadata.gz: 7857c99164c8389ba13e3846ad41d9c136552f02b626b6ebd61bd3cb4f25e713d23cf3af4a0982b8f8277eab7047e4373bc6112de320e5de1e1fc253cec576bb
7
+ data.tar.gz: e6269694526bc8a2165021bc1f13ed72254806fe363d11a005b418f5f9eb8b4dc71545bd849bdeb91d8d9299989820adf54159a7a5e951ea3609857dd84a9b58
@@ -0,0 +1,44 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
4
+ class GenderizeWrapper
5
+ class << self
6
+ SERVICE_BASE_URL = 'https://api.genderize.io'
7
+ @@cache = nil
8
+ @@previous_names = nil
9
+
10
+ def gender_of(names)
11
+ return @@cache if names == @@previous_names
12
+ @@previous_names= names
13
+ @@cache = request(create_query_string(names))
14
+ end
15
+
16
+ private
17
+
18
+ def create_query_string(params)
19
+ if params.is_a?(Array)
20
+ multiple_name_param(params)
21
+ else
22
+ single_name_param(params)
23
+ end
24
+ end
25
+
26
+ def single_name_param(name)
27
+ "name=#{name}"
28
+ end
29
+
30
+ def multiple_name_param(names)
31
+ query_string = ''
32
+ names.each_with_index do |name, index|
33
+ query_string << "name[#{index}]=#{name}&"
34
+ end
35
+ query_string
36
+ end
37
+
38
+ def request(query_string)
39
+ uri = URI("#{SERVICE_BASE_URL}/?#{query_string}")
40
+ response = Net::HTTP.get(uri)
41
+ JSON.parse(response)
42
+ end
43
+ end
44
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: genderize_wrapper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Danilo Barion Nogueira
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-10-18 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Get gender info from first name using Genderize.io API.
14
+ email: danilo.barion@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/genderize_wrapper.rb
20
+ homepage: http://rubygems.org/gems/genderize_wrapper
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '1.9'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.6.13
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Wrapper for Genderize.io
44
+ test_files: []