fullcontacter 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +53 -0
- data/.rspec +3 -0
- data/Gemfile +3 -0
- data/LICENSE.md +20 -0
- data/README.md +36 -0
- data/Rakefile +25 -0
- data/VERSION +1 -0
- data/bugs.txt +2 -0
- data/fullcontact.gemspec +34 -0
- data/lib/faraday/request/gateway.rb +18 -0
- data/lib/faraday/response/fullcontact_errors.rb +33 -0
- data/lib/faraday/response/raise_http_4xx.rb +45 -0
- data/lib/faraday/response/raise_http_5xx.rb +24 -0
- data/lib/fullcontact.rb +27 -0
- data/lib/fullcontact/api.rb +21 -0
- data/lib/fullcontact/client.rb +32 -0
- data/lib/fullcontact/client/batch_process.rb +35 -0
- data/lib/fullcontact/client/contact.rb +119 -0
- data/lib/fullcontact/client/contact_list.rb +84 -0
- data/lib/fullcontact/client/icon.rb +35 -0
- data/lib/fullcontact/client/name.rb +167 -0
- data/lib/fullcontact/client/person.rb +94 -0
- data/lib/fullcontact/client/provisioning.rb +28 -0
- data/lib/fullcontact/client/snapshot.rb +31 -0
- data/lib/fullcontact/client/subscription.rb +45 -0
- data/lib/fullcontact/client/user.rb +28 -0
- data/lib/fullcontact/configuration.rb +95 -0
- data/lib/fullcontact/connection.rb +36 -0
- data/lib/fullcontact/error.rb +35 -0
- data/lib/fullcontact/request.rb +43 -0
- data/lib/fullcontact/version.rb +3 -0
- data/spec/faraday/response_spec.rb +56 -0
- data/spec/fixtures/clear_contact_list.json +3 -0
- data/spec/fixtures/contact_history.json +16 -0
- data/spec/fixtures/create_contact_list.json +4 -0
- data/spec/fixtures/create_snapshot.json +7 -0
- data/spec/fixtures/create_subscription.json +4 -0
- data/spec/fixtures/deduce_by_email.json +13 -0
- data/spec/fixtures/deduce_by_username.json +13 -0
- data/spec/fixtures/delete_contact.json +4 -0
- data/spec/fixtures/delete_contact_list.json +3 -0
- data/spec/fixtures/delete_subscription.json +3 -0
- data/spec/fixtures/get_contact.json +20 -0
- data/spec/fixtures/get_contact_lists.json +11 -0
- data/spec/fixtures/get_contacts_in_a_list.json +41 -0
- data/spec/fixtures/get_enriched_contact.json +261 -0
- data/spec/fixtures/get_updates.json +252 -0
- data/spec/fixtures/has_enriched_updates.json +4 -0
- data/spec/fixtures/list_snapshots.json +7 -0
- data/spec/fixtures/list_subscriptions.json +10 -0
- data/spec/fixtures/normalize.json +27 -0
- data/spec/fixtures/parse.json +10 -0
- data/spec/fixtures/person.json +47 -0
- data/spec/fixtures/queue_contact_list_for_enrichment.json +3 -0
- data/spec/fixtures/save_enriched_contact.json +261 -0
- data/spec/fixtures/similarity.json +45 -0
- data/spec/fixtures/stats_by_family_name.json +12 -0
- data/spec/fixtures/stats_by_given_and_family_name.json +62 -0
- data/spec/fixtures/stats_by_given_name.json +57 -0
- data/spec/fixtures/stats_by_name.json +64 -0
- data/spec/fixtures/update_contact.json +9 -0
- data/spec/fullcontact/api_spec.rb +68 -0
- data/spec/fullcontact/client/contact_list_spec.rb +89 -0
- data/spec/fullcontact/client/contact_spec.rb +108 -0
- data/spec/fullcontact/client/icon_spec.rb +24 -0
- data/spec/fullcontact/client/name_spec.rb +121 -0
- data/spec/fullcontact/client/person_spec.rb +77 -0
- data/spec/fullcontact/client/snapshot_spec.rb +35 -0
- data/spec/fullcontact/client/subscription_spec.rb +47 -0
- data/spec/fullcontact/client_spec.rb +10 -0
- data/spec/fullcontact_spec.rb +114 -0
- data/spec/helper.rb +39 -0
- metadata +384 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
{
|
2
|
+
"status": 200,
|
3
|
+
"name": {
|
4
|
+
"value": "John",
|
5
|
+
"given": {
|
6
|
+
"count": 3499150,
|
7
|
+
"rank": 3,
|
8
|
+
"male": {
|
9
|
+
"count": 3484136,
|
10
|
+
"likelihood": 0.996,
|
11
|
+
"rank": 3,
|
12
|
+
"frequencyRatio": "0.026305137",
|
13
|
+
"age": {
|
14
|
+
"densityCurve": {
|
15
|
+
"mode": {
|
16
|
+
"count": 77174,
|
17
|
+
"modeAge":
|
18
|
+
[
|
19
|
+
47
|
20
|
+
]
|
21
|
+
},
|
22
|
+
"meanAge": 51.2,
|
23
|
+
"quartiles": {
|
24
|
+
"q1": 35.3,
|
25
|
+
"q2": 50.5,
|
26
|
+
"q3": 62.9
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"female": {
|
32
|
+
"count": 15015,
|
33
|
+
"likelihood": 0.004,
|
34
|
+
"rank": 928,
|
35
|
+
"frequencyRatio": "0.00011386",
|
36
|
+
"age": {
|
37
|
+
"densityCurve": {
|
38
|
+
"mode": {
|
39
|
+
"count": 297,
|
40
|
+
"modeAge":
|
41
|
+
[
|
42
|
+
43
|
43
|
+
]
|
44
|
+
},
|
45
|
+
"meanAge": 48.5,
|
46
|
+
"quartiles": {
|
47
|
+
"q1": 34.8,
|
48
|
+
"q2": 49.4,
|
49
|
+
"q3": 69.4
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
},
|
56
|
+
"region": "USA"
|
57
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"status": 200,
|
3
|
+
"name": {
|
4
|
+
"value": "John",
|
5
|
+
"given": {
|
6
|
+
"likelihood": 0.992,
|
7
|
+
"count": 3499150,
|
8
|
+
"rank": 3,
|
9
|
+
"male": {
|
10
|
+
"count": 3484136,
|
11
|
+
"likelihood": 0.996,
|
12
|
+
"rank": 3,
|
13
|
+
"frequencyRatio": "0.026305137",
|
14
|
+
"age": {
|
15
|
+
"densityCurve": {
|
16
|
+
"mode": {
|
17
|
+
"count": 77174,
|
18
|
+
"modeAge":
|
19
|
+
[
|
20
|
+
47
|
21
|
+
]
|
22
|
+
},
|
23
|
+
"meanAge": 51.2,
|
24
|
+
"quartiles": {
|
25
|
+
"q1": 35.3,
|
26
|
+
"q2": 50.5,
|
27
|
+
"q3": 62.9
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
},
|
32
|
+
"female": {
|
33
|
+
"count": 15015,
|
34
|
+
"likelihood": 0.004,
|
35
|
+
"rank": 928,
|
36
|
+
"frequencyRatio": "0.00011386",
|
37
|
+
"age": {
|
38
|
+
"densityCurve": {
|
39
|
+
"mode": {
|
40
|
+
"count": 297,
|
41
|
+
"modeAge":
|
42
|
+
[
|
43
|
+
43
|
44
|
+
]
|
45
|
+
},
|
46
|
+
"meanAge": 48.5,
|
47
|
+
"quartiles": {
|
48
|
+
"q1": 34.8,
|
49
|
+
"q2": 49.4,
|
50
|
+
"q3": 69.4
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
},
|
56
|
+
"family": {
|
57
|
+
"likelihood": 0.008,
|
58
|
+
"count": 27643,
|
59
|
+
"rank": 1161,
|
60
|
+
"frequencyRatio": "0.00011417"
|
61
|
+
}
|
62
|
+
},
|
63
|
+
"region": "USA"
|
64
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe FullContact::API do
|
4
|
+
before do
|
5
|
+
@keys = FullContact::Configuration::VALID_OPTIONS_KEYS
|
6
|
+
end
|
7
|
+
|
8
|
+
context "with module configuration" do
|
9
|
+
before do
|
10
|
+
FullContact.configure do |config|
|
11
|
+
@keys.each do |key|
|
12
|
+
config.send("#{key}=", key)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
after do
|
18
|
+
FullContact.reset
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should inherit module configuration" do
|
22
|
+
api = FullContact::API.new
|
23
|
+
@keys.each do |key|
|
24
|
+
api.send(key).should == key
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context "with class configuration" do
|
29
|
+
|
30
|
+
before do
|
31
|
+
@configuration = {
|
32
|
+
:access_token => '23234e23',
|
33
|
+
:account_key => 'account key',
|
34
|
+
:adapter => :typhoeus,
|
35
|
+
:api_key => 'api_key',
|
36
|
+
:endpoint => 'http://tumblr.com/',
|
37
|
+
:gateway => 'apigee-1111.apigee.com',
|
38
|
+
:get_request_url_only => false,
|
39
|
+
:format => :xml,
|
40
|
+
:proxy => 'http://erik:sekret@proxy.example.com:8080',
|
41
|
+
:user_agent => 'Custom User Agent',
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
context "during initialization"
|
46
|
+
|
47
|
+
it "should override module configuration" do
|
48
|
+
api = FullContact::API.new(@configuration)
|
49
|
+
@keys.each do |key|
|
50
|
+
api.send(key).should == @configuration[key]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "after initilization" do
|
55
|
+
|
56
|
+
it "should override module configuration after initialization" do
|
57
|
+
api = FullContact::API.new
|
58
|
+
@configuration.each do |key, value|
|
59
|
+
api.send("#{key}=", value)
|
60
|
+
end
|
61
|
+
@keys.each do |key|
|
62
|
+
api.send(key).should == @configuration[key]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'fullcontact'
|
3
|
+
|
4
|
+
describe FullContact::Client::ContactList do
|
5
|
+
|
6
|
+
before do
|
7
|
+
FullContact.configure do |config|
|
8
|
+
config.api_key = "api_key"
|
9
|
+
end
|
10
|
+
@client = FullContact::Client.new
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#create_contact_list" do
|
14
|
+
before do
|
15
|
+
stub_post("contactLists.json").
|
16
|
+
with(:query => { :apiKey => "api_key" }).
|
17
|
+
to_return(:body => fixture("create_contact_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
18
|
+
end
|
19
|
+
it "should send a post to contactLists" do
|
20
|
+
@client.create_contact_list
|
21
|
+
a_post("contactLists.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#delete_contact_list" do
|
26
|
+
before do
|
27
|
+
stub_delete("contactLists/12345.json").
|
28
|
+
with(:query => { :apiKey => "api_key"}).
|
29
|
+
to_return(:body => fixture("delete_contact_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should send a delete to contactLists" do
|
33
|
+
@client.delete_contact_list("12345")
|
34
|
+
a_delete("contactLists/12345.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "#get_contact_lists" do
|
39
|
+
before do
|
40
|
+
stub_get("contactLists.json").
|
41
|
+
with(:query => { :apiKey => "api_key"}).
|
42
|
+
to_return(:body => fixture("get_contact_lists.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should get the list of contact lists" do
|
46
|
+
@client.get_contact_lists
|
47
|
+
a_get("contactLists.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "#get_contacts_in_a_list" do
|
52
|
+
before do
|
53
|
+
stub_get("contactLists/12345.json").
|
54
|
+
with(:query => { :apiKey => "api_key"}).
|
55
|
+
to_return(:body => fixture("get_contacts_in_a_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should get the contacts in a list" do
|
59
|
+
@client.get_contacts_in_a_list(12345)
|
60
|
+
a_get("contactLists/12345.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "#queue_contact_list_for_enrichment" do
|
65
|
+
before do
|
66
|
+
stub_post("contactLists/12345/queue.json").
|
67
|
+
with(:query => { :apiKey => "api_key"}).
|
68
|
+
to_return(:body => fixture("queue_contact_list_for_enrichment.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should queue the contact list for enrichment" do
|
72
|
+
@client.queue_contact_list_for_enrichment("12345")
|
73
|
+
a_post("contactLists/12345/queue.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe "#clear_contact_list" do
|
78
|
+
before do
|
79
|
+
stub_post("contactLists/12345/clear.json").
|
80
|
+
with(:query => { :apiKey => "api_key"}).
|
81
|
+
to_return(:body => fixture("clear_contact_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should clear the contacts in a list" do
|
85
|
+
@client.clear_contact_list("12345")
|
86
|
+
a_post("contactLists/12345/clear.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'fullcontact'
|
3
|
+
|
4
|
+
describe FullContact::Client::Contact do
|
5
|
+
|
6
|
+
before do
|
7
|
+
FullContact.configure do |config|
|
8
|
+
config.api_key = "api_key"
|
9
|
+
end
|
10
|
+
@client = FullContact::Client.new
|
11
|
+
end
|
12
|
+
|
13
|
+
# describe "#update_contact" do
|
14
|
+
# before do
|
15
|
+
# stub_post("contactLists/12345.json").
|
16
|
+
# with(:query => { :apiKey => "api_key", :request_body => "", :content_type => "application/json") }, :headers => {'Accept'=>'application/json', 'Content-Length'=>'0', 'Content-Type'=>'application/json', 'User-Agent'=>'FullContact Ruby Gem'}).
|
17
|
+
# to_return(:body => fixture("update_contact.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
18
|
+
# end
|
19
|
+
# it "should send a post to contactLists" do
|
20
|
+
# @client.update_contact("12345", {:contact_data => {}})
|
21
|
+
# a_post("contactLists/12345.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
22
|
+
# end
|
23
|
+
# end
|
24
|
+
|
25
|
+
describe "#get_contact" do
|
26
|
+
before do
|
27
|
+
stub_get("contactLists/12345/54321.json").
|
28
|
+
with(:query => { :apiKey => "api_key" }).
|
29
|
+
to_return(:body => fixture("get_contact.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
30
|
+
end
|
31
|
+
it "should get the contact" do
|
32
|
+
@client.get_contact("12345", "54321")
|
33
|
+
a_get("contactLists/12345/54321.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#delete_contact" do
|
38
|
+
before do
|
39
|
+
stub_delete("contactLists/12345/54321.json").
|
40
|
+
with(:query => { :apiKey => "api_key" }).
|
41
|
+
to_return(:body => fixture("delete_contact.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
42
|
+
end
|
43
|
+
it "should delete the contact" do
|
44
|
+
@client.delete_contact("12345", "54321")
|
45
|
+
a_delete("contactLists/12345/54321.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#has_enriched_updates?" do
|
50
|
+
before do
|
51
|
+
stub_get("contactLists/12345/54321/hasUpdates.json").
|
52
|
+
with(:query => { :apiKey => "api_key" }).
|
53
|
+
to_return(:body => fixture("has_enriched_updates.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
54
|
+
end
|
55
|
+
it "should make a get to find whether or not there are enriched updates" do
|
56
|
+
@client.has_enriched_updates?("12345", "54321")
|
57
|
+
a_get("contactLists/12345/54321/hasUpdates.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "#get_updates" do
|
62
|
+
before do
|
63
|
+
stub_get("contactLists/12345/54321/updates.json").
|
64
|
+
with(:query => { :apiKey => "api_key" }).
|
65
|
+
to_return(:body => fixture("get_updates.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
66
|
+
end
|
67
|
+
it "should get the latest updates" do
|
68
|
+
@client.get_updates("12345", "54321")
|
69
|
+
a_get("contactLists/12345/54321/updates.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "#get_enriched_contact" do
|
74
|
+
before do
|
75
|
+
stub_get("contactLists/12345/54321/enriched.json").
|
76
|
+
with(:query => { :apiKey => "api_key" }).
|
77
|
+
to_return(:body => fixture("get_enriched_contact.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
78
|
+
end
|
79
|
+
it "should get the enriched contact" do
|
80
|
+
@client.get_enriched_contact("12345", "54321")
|
81
|
+
a_get("contactLists/12345/54321/enriched.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "#save_enriched_contact" do
|
86
|
+
before do
|
87
|
+
stub_post("contactLists/12345/54321/enriched.json").
|
88
|
+
with(:query => { :apiKey => "api_key" }).
|
89
|
+
to_return(:body => fixture("save_enriched_contact.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
90
|
+
end
|
91
|
+
it "should save the enriched contact" do
|
92
|
+
@client.save_enriched_contact("12345", "54321")
|
93
|
+
a_post("contactLists/12345/54321/enriched.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "#contact_history" do
|
98
|
+
before do
|
99
|
+
stub_get("contactLists/12345/54321/history.json").
|
100
|
+
with(:query => { :apiKey => "api_key" }).
|
101
|
+
to_return(:body => fixture("contact_history.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
102
|
+
end
|
103
|
+
it "should get the contact history" do
|
104
|
+
@client.contact_history("12345", "54321")
|
105
|
+
a_get("contactLists/12345/54321/history.json").with(:query => { :apiKey => "api_key" }).should have_been_made
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'fullcontact'
|
3
|
+
|
4
|
+
describe FullContact::Client::Name do
|
5
|
+
|
6
|
+
before do
|
7
|
+
FullContact.configure do |config|
|
8
|
+
config.api_key = "api_key"
|
9
|
+
end
|
10
|
+
@client = FullContact::Client.new
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#get_social_icon_url" do
|
14
|
+
before do
|
15
|
+
stub_get("icon/facebook/32/default").
|
16
|
+
with(:query => { :apiKey => "api_key"}).
|
17
|
+
to_return(:status => [302, "Moved Temporarily"])
|
18
|
+
end
|
19
|
+
it "should get an icon url with 302 redirect" do
|
20
|
+
@client.get_social_icon_url('facebook','32','default')
|
21
|
+
a_get("icon/facebook/32/default").with(:query => { :apiKey => "api_key"}).should have_been_made
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'fullcontact'
|
3
|
+
|
4
|
+
describe FullContact::Client::Name do
|
5
|
+
|
6
|
+
before do
|
7
|
+
FullContact.configure do |config|
|
8
|
+
config.api_key = "api_key"
|
9
|
+
end
|
10
|
+
@client = FullContact::Client.new
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#normalize" do
|
14
|
+
before do
|
15
|
+
stub_get("name/normalizer.json").
|
16
|
+
with(:query => { :apiKey => "api_key", :q => "John Smith" }).
|
17
|
+
to_return(:body => fixture("normalize.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
18
|
+
end
|
19
|
+
it "should get normalized name" do
|
20
|
+
@client.normalize('John Smith')
|
21
|
+
a_get("name/normalizer.json").with(:query => { :apiKey => "api_key", :q => "John Smith" }).should have_been_made
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#deduce_by_email" do
|
26
|
+
before do
|
27
|
+
stub_get("name/deducer.json").
|
28
|
+
with(:query => { :apiKey => "api_key", :email => "johnsmith@gmail.com" }).
|
29
|
+
to_return(:body => fixture("deduce_by_email.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
30
|
+
end
|
31
|
+
it "should get deduced name" do
|
32
|
+
@client.deduce_by_email('johnsmith@gmail.com')
|
33
|
+
a_get("name/deducer.json").with(:query => { :apiKey => "api_key", :email => "johnsmith@gmail.com" }).should have_been_made
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#deduce_by_username" do
|
38
|
+
before do
|
39
|
+
stub_get("name/deducer.json").
|
40
|
+
with(:query => { :apiKey => "api_key", :username => "johnsmith" }).
|
41
|
+
to_return(:body => fixture("deduce_by_username.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
42
|
+
end
|
43
|
+
it "should get deduced name" do
|
44
|
+
@client.deduce_by_username('johnsmith')
|
45
|
+
a_get("name/deducer.json").with(:query => { :apiKey => "api_key", :username => "johnsmith" }).should have_been_made
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#similarity" do
|
50
|
+
before do
|
51
|
+
stub_get("name/similarity.json").
|
52
|
+
with(:query => { :apiKey => "api_key", :q1 => "john", :q2 => "john smith" }).
|
53
|
+
to_return(:body => fixture("similarity.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
54
|
+
end
|
55
|
+
it "should get similarity" do
|
56
|
+
@client.similarity('john', 'john smith')
|
57
|
+
a_get("name/similarity.json").with(:query => { :apiKey => "api_key", :q1 => "john", :q2 => "john smith" }).should have_been_made
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "#stats_by_name" do
|
62
|
+
before do
|
63
|
+
stub_get("name/stats.json").
|
64
|
+
with(:query => { :apiKey => "api_key", :name => "john" }).
|
65
|
+
to_return(:body => fixture("stats_by_name.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
66
|
+
end
|
67
|
+
it "should get stats" do
|
68
|
+
@client.stats_by_name('john')
|
69
|
+
a_get("name/stats.json").with(:query => { :apiKey => "api_key", :name => "john" }).should have_been_made
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "#stats_by_given_name" do
|
74
|
+
before do
|
75
|
+
stub_get("name/stats.json").
|
76
|
+
with(:query => { :apiKey => "api_key", :givenName => "john" }).
|
77
|
+
to_return(:body => fixture("stats_by_given_name.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
78
|
+
end
|
79
|
+
it "should get stats" do
|
80
|
+
@client.stats_by_given_name('john')
|
81
|
+
a_get("name/stats.json").with(:query => { :apiKey => "api_key", :givenName => "john" }).should have_been_made
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "#stats_by_family_name" do
|
86
|
+
before do
|
87
|
+
stub_get("name/stats.json").
|
88
|
+
with(:query => { :apiKey => "api_key", :familyName => "smith" }).
|
89
|
+
to_return(:body => fixture("stats_by_family_name.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
90
|
+
end
|
91
|
+
it "should get stats" do
|
92
|
+
@client.stats_by_family_name('smith')
|
93
|
+
a_get("name/stats.json").with(:query => { :apiKey => "api_key", :familyName => "smith" }).should have_been_made
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "#stats_by_given_and_family_name" do
|
98
|
+
before do
|
99
|
+
stub_get("name/stats.json").
|
100
|
+
with(:query => { :apiKey => "api_key", :givenName => 'john', :familyName => "smith" }).
|
101
|
+
to_return(:body => fixture("stats_by_given_and_family_name.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
102
|
+
end
|
103
|
+
it "should get stats" do
|
104
|
+
@client.stats_by_given_and_family_name('john','smith')
|
105
|
+
a_get("name/stats.json").with(:query => { :apiKey => "api_key", :givenName => 'john', :familyName => "smith" }).should have_been_made
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
describe "#parse" do
|
110
|
+
before do
|
111
|
+
stub_get("name/parser.json").
|
112
|
+
with(:query => { :apiKey => "api_key", :q => 'Smith John' }).
|
113
|
+
to_return(:body => fixture("parse.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
114
|
+
end
|
115
|
+
it "should get parsed name" do
|
116
|
+
@client.parse('Smith John')
|
117
|
+
a_get("name/parser.json").with(:query => { :apiKey => "api_key", :q => 'Smith John' }).should have_been_made
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
end
|