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.
- checksums.yaml +7 -0
- data/lib/genderize_wrapper.rb +44 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -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: []
|