sift-partner 0.0.2 → 0.0.3
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 +5 -13
- data/.travis.yml +14 -0
- data/Gemfile.lock +24 -25
- data/README.rdoc +2 -2
- data/lib/sift-partner/client.rb +33 -5
- data/lib/sift-partner/version.rb +2 -1
- data/sift-partner.gemspec +6 -7
- data/spec/unit/client_spec.rb +69 -4
- metadata +36 -35
checksums.yaml
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
NWJkOGVlNjYxZTNhYzQ5ZTcxM2Q0ZDM4MDcxMDYyNjVhNjRhY2RhOA==
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 2ffbcc3b8821ea80e55772aec21ba849a5bc8c08
|
|
4
|
+
data.tar.gz: 0ad11555eaf96e0e6d8a60eb12b392ad72913d21
|
|
7
5
|
SHA512:
|
|
8
|
-
metadata.gz:
|
|
9
|
-
|
|
10
|
-
MmRmZjUyNjhlYzc5NGU2YTZmNzhjODllYTVjYmRlMjJiY2MxMzlkZDIyNjcy
|
|
11
|
-
ODFiZDMxYTMzNjFhNjQ2MzAwZTAwNDgzZGViZWIyMzIyMTRlYzM=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
YTMzOGExN2Q5ZjRiMjUwMTk4MjI3NjA2NmIyNmQzYzBlYzU4OWZiMDYxZTE3
|
|
14
|
-
Y2I2YjFmN2U3YmNhMTFhYmMwNGIyY2UxZDg0ZTE3ZTY5NGNhYzQ4OTc3YWI0
|
|
15
|
-
MWRlZDBmOWRhYTZjMjU3ZjdmM2VlYTAwZGZjY2YxMWUwM2Y2MDQ=
|
|
6
|
+
metadata.gz: 8e8146c86622681634be4cdc83e38b3f01fc071f500261c3b5da94024a41cafa8676d52fb9ba0aa9dc2cee8ff3e4d87897b425c177f28d5109360967ddbc242a
|
|
7
|
+
data.tar.gz: 5dbb787221a05ad9b8b9e7bb9cd268928c7afae0c3332a0d90c51012dab6d2d38636024c8fba599c82e5c3e70377270539666d29ea0633da967881f53f34719d
|
data/.travis.yml
ADDED
data/Gemfile.lock
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
sift-partner (0.0.
|
|
5
|
-
httparty (
|
|
6
|
-
multi_json (
|
|
7
|
-
sift (
|
|
4
|
+
sift-partner (0.0.3)
|
|
5
|
+
httparty (~> 0.13.1)
|
|
6
|
+
multi_json (~> 1.0)
|
|
7
|
+
sift (~> 1.1.7)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: http://rubygems.org/
|
|
@@ -13,27 +13,23 @@ GEM
|
|
|
13
13
|
crack (0.4.2)
|
|
14
14
|
safe_yaml (~> 1.0.0)
|
|
15
15
|
diff-lcs (1.2.5)
|
|
16
|
-
httparty (0.13.
|
|
16
|
+
httparty (0.13.7)
|
|
17
17
|
json (~> 1.8)
|
|
18
18
|
multi_xml (>= 0.5.2)
|
|
19
|
-
json (1.8.
|
|
20
|
-
multi_json (1.
|
|
19
|
+
json (1.8.3)
|
|
20
|
+
multi_json (1.12.1)
|
|
21
21
|
multi_xml (0.5.5)
|
|
22
|
-
rake (
|
|
23
|
-
rspec (
|
|
24
|
-
rspec-core (~>
|
|
25
|
-
rspec-expectations (~>
|
|
26
|
-
rspec-mocks (~>
|
|
27
|
-
rspec-core (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
rspec-support (~> 3.1.0)
|
|
34
|
-
rspec-support (3.1.0)
|
|
35
|
-
safe_yaml (1.0.3)
|
|
36
|
-
sift (1.1.6.2)
|
|
22
|
+
rake (11.1.2)
|
|
23
|
+
rspec (2.99.0)
|
|
24
|
+
rspec-core (~> 2.99.0)
|
|
25
|
+
rspec-expectations (~> 2.99.0)
|
|
26
|
+
rspec-mocks (~> 2.99.0)
|
|
27
|
+
rspec-core (2.99.2)
|
|
28
|
+
rspec-expectations (2.99.2)
|
|
29
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
|
30
|
+
rspec-mocks (2.99.4)
|
|
31
|
+
safe_yaml (1.0.4)
|
|
32
|
+
sift (1.1.7.3)
|
|
37
33
|
httparty (>= 0.11.0)
|
|
38
34
|
multi_json (>= 1.0)
|
|
39
35
|
webmock (1.18.0)
|
|
@@ -44,7 +40,10 @@ PLATFORMS
|
|
|
44
40
|
ruby
|
|
45
41
|
|
|
46
42
|
DEPENDENCIES
|
|
47
|
-
rake
|
|
48
|
-
rspec (
|
|
43
|
+
rake (~> 11.0)
|
|
44
|
+
rspec (~> 2.0)
|
|
49
45
|
sift-partner!
|
|
50
|
-
webmock (
|
|
46
|
+
webmock (~> 1.0)
|
|
47
|
+
|
|
48
|
+
BUNDLED WITH
|
|
49
|
+
1.12.5
|
data/README.rdoc
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
= Sift Science Partner Ruby bindings
|
|
1
|
+
= Sift Science Partner Ruby bindings {<img src="https://travis-ci.org/SiftScience/sift-partner-ruby.png?branch=master" alt="Build Status" />}[https://travis-ci.org/SiftScience/sift-partner-ruby]
|
|
2
2
|
|
|
3
3
|
== Requirements
|
|
4
4
|
|
|
5
5
|
* Ruby 1.8.7 or above. (Ruby 1.8.6 might work if you load ActiveSupport.)
|
|
6
|
-
* HTTParty, 0.
|
|
6
|
+
* HTTParty, 0.13.1 or greater
|
|
7
7
|
* Multi Json, 1.0 or greater
|
|
8
8
|
* sift, 1.1.6.2 or greater
|
|
9
9
|
|
data/lib/sift-partner/client.rb
CHANGED
|
@@ -22,6 +22,8 @@ module SiftPartner
|
|
|
22
22
|
# The account id of the partner
|
|
23
23
|
# (which may be found in the settings page of the console)
|
|
24
24
|
def initialize(api_key = Sift.api_key, id = Sift.account_id)
|
|
25
|
+
raise("api_key must be a non-empty string") unless valid_string?(api_key)
|
|
26
|
+
raise("partner must be a non-empty string") unless valid_string?(id)
|
|
25
27
|
@api_key = api_key
|
|
26
28
|
@id = id
|
|
27
29
|
end
|
|
@@ -40,6 +42,12 @@ module SiftPartner
|
|
|
40
42
|
# When successful, returns a including the new account id and credentials.
|
|
41
43
|
# When an error occurs, returns nil.
|
|
42
44
|
def new_account(site_url, site_email, analyst_email, password)
|
|
45
|
+
|
|
46
|
+
raise("site url must be a non-empty string") unless valid_string?(site_url)
|
|
47
|
+
raise("site email must be a non-empty string") unless valid_string?(site_email)
|
|
48
|
+
raise("analyst email must be a non-empty string") unless valid_string?(analyst_email)
|
|
49
|
+
raise("password must be a non-empty string") unless valid_string?(password)
|
|
50
|
+
|
|
43
51
|
reqBody = {:site_url => site_url, :site_email => site_email,
|
|
44
52
|
:analyst_email => analyst_email, :password => password}
|
|
45
53
|
begin
|
|
@@ -70,7 +78,10 @@ module SiftPartner
|
|
|
70
78
|
# The value of the notification_url will be a url containing the string '%s' exactly once.
|
|
71
79
|
# This allows the url to be used as a template, into which a merchant account id can be substituted.
|
|
72
80
|
# The notification threshold should be a floating point number between 0.0 and 1.0
|
|
73
|
-
def update_notification_config(cfg)
|
|
81
|
+
def update_notification_config(cfg = nil)
|
|
82
|
+
|
|
83
|
+
raise("configuration must be a hash") unless cfg.is_a? Hash
|
|
84
|
+
|
|
74
85
|
http_put(notification_config_url(), cfg)
|
|
75
86
|
end
|
|
76
87
|
|
|
@@ -79,12 +90,20 @@ module SiftPartner
|
|
|
79
90
|
URI("#{API_ENDPOINT}/partners/#{@id}/accounts")
|
|
80
91
|
end
|
|
81
92
|
|
|
93
|
+
def user_agent
|
|
94
|
+
"SiftScience/v#{API_VERSION} sift-partner-ruby/#{VERSION}"
|
|
95
|
+
end
|
|
96
|
+
|
|
82
97
|
def notification_config_url
|
|
83
98
|
URI("#{API_ENDPOINT}/accounts/#{@id}/config")
|
|
84
99
|
end
|
|
85
100
|
|
|
86
101
|
def safe_json(http_response)
|
|
87
|
-
response = Sift::Response.new(
|
|
102
|
+
response = Sift::Response.new(
|
|
103
|
+
http_response.body,
|
|
104
|
+
http_response.code,
|
|
105
|
+
http_response.response
|
|
106
|
+
)
|
|
88
107
|
if !response.nil? and response.ok?
|
|
89
108
|
response.json
|
|
90
109
|
else
|
|
@@ -100,23 +119,32 @@ module SiftPartner
|
|
|
100
119
|
end
|
|
101
120
|
|
|
102
121
|
def http_get(uri)
|
|
103
|
-
header = {"Authorization" => "Basic #{@api_key}"
|
|
122
|
+
header = {"Authorization" => "Basic #{@api_key}",
|
|
123
|
+
"User-Agent" => user_agent}
|
|
124
|
+
|
|
104
125
|
http_response = HTTParty.get(uri, :headers =>header)
|
|
105
126
|
safe_json(http_response)
|
|
106
127
|
end
|
|
107
128
|
|
|
108
129
|
def http_put(uri, bodyObj)
|
|
109
130
|
header = {"Content-Type" => "application/json",
|
|
110
|
-
"Authorization" => "Basic #{@api_key}"
|
|
131
|
+
"Authorization" => "Basic #{@api_key}",
|
|
132
|
+
"User-Agent" => user_agent}
|
|
133
|
+
|
|
111
134
|
http_response = HTTParty.put(uri, :body => bodyObj.to_json, :headers => header)
|
|
112
135
|
safe_json(http_response)
|
|
113
136
|
end
|
|
114
137
|
|
|
115
138
|
def http_post(uri, bodyObj)
|
|
116
139
|
header = {"Content-Type" => "application/json",
|
|
117
|
-
"Authorization" => "Basic #{@api_key}"
|
|
140
|
+
"Authorization" => "Basic #{@api_key}",
|
|
141
|
+
"User-Agent" => user_agent}
|
|
118
142
|
http_response = HTTParty.post(uri, :body => bodyObj.to_json, :headers => header)
|
|
119
143
|
safe_json(http_response)
|
|
120
144
|
end
|
|
145
|
+
|
|
146
|
+
def valid_string?(s)
|
|
147
|
+
s.is_a?(String) && !s.empty?
|
|
148
|
+
end
|
|
121
149
|
end
|
|
122
150
|
end
|
data/lib/sift-partner/version.rb
CHANGED
data/sift-partner.gemspec
CHANGED
|
@@ -20,13 +20,12 @@ Gem::Specification.new do |s|
|
|
|
20
20
|
s.require_paths = ["lib"]
|
|
21
21
|
|
|
22
22
|
# Gems that must be intalled for sift to compile and build
|
|
23
|
-
s.add_development_dependency "rspec", "
|
|
24
|
-
s.add_development_dependency "webmock", "
|
|
23
|
+
s.add_development_dependency "rspec", "~> 2.0"
|
|
24
|
+
s.add_development_dependency "webmock", "~> 1.0"
|
|
25
|
+
s.add_development_dependency("rake", "~> 11.0")
|
|
25
26
|
|
|
26
27
|
# Gems that must be intalled for sift to work
|
|
27
|
-
s.add_dependency "httparty", "
|
|
28
|
-
s.add_dependency "multi_json", "
|
|
29
|
-
s.add_dependency "sift", "
|
|
30
|
-
|
|
31
|
-
s.add_development_dependency("rake")
|
|
28
|
+
s.add_dependency "httparty", "~> 0.13.1"
|
|
29
|
+
s.add_dependency "multi_json", "~> 1.0"
|
|
30
|
+
s.add_dependency "sift", "~> 1.1.7"
|
|
32
31
|
end
|
data/spec/unit/client_spec.rb
CHANGED
|
@@ -3,6 +3,11 @@ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
|
|
|
3
3
|
describe SiftPartner::Client do
|
|
4
4
|
partner_id = "65653548"
|
|
5
5
|
partner_api_key = "98463454389754"
|
|
6
|
+
site_url = "merchant123.com"
|
|
7
|
+
site_email = "owner@merchant123.com"
|
|
8
|
+
analyst_email = "analyst+merchant123@partner.com"
|
|
9
|
+
password = "s0m3l0ngp455w0rd"
|
|
10
|
+
|
|
6
11
|
expected_account_body = {
|
|
7
12
|
"account_id" => "1234567890abcdef",
|
|
8
13
|
"production" => {
|
|
@@ -39,11 +44,63 @@ describe SiftPartner::Client do
|
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
46
|
|
|
47
|
+
it "Cannot instantiate client with nil, empty, or non-string api key" do
|
|
48
|
+
lambda { Sift::Client.new(nil, partner_id) }.should raise_error
|
|
49
|
+
lambda { Sift::Client.new("", partner_id) }.should raise_error
|
|
50
|
+
lambda { Sift::Client.new(123456, partner_id) }.should raise_error
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it "Cannot instantiate client with nil, empty, or non-string partner id" do
|
|
54
|
+
lambda { Sift::Client.new(partner_api_key, nil) }.should raise_error
|
|
55
|
+
lambda { Sift::Client.new(partner_api_key, "") }.should raise_error
|
|
56
|
+
lambda { Sift::Client.new(partner_api_key, 123456) }.should raise_error
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it "Can instantiate client with blank api key if Sift.api_key set" do
|
|
60
|
+
lambda { Sift::Client.new(partner_api_key, partner_id) }.should_not raise_error
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it "account creation fails with nil, empty, or non-string site url" do
|
|
64
|
+
partner_client = SiftPartner::Client.new(partner_api_key, partner_id)
|
|
65
|
+
lambda { partner_client.new_account(nil, site_email, analyst_email,
|
|
66
|
+
password) }.should raise_error
|
|
67
|
+
lambda { partner_client.new_account("", site_email, analyst_email,
|
|
68
|
+
password) }.should raise_error
|
|
69
|
+
lambda { partner_client.new_account(12345, site_email, analyst_email,
|
|
70
|
+
password) }.should raise_error
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "account creation fails with nil, empty, or non-string site email" do
|
|
74
|
+
partner_client = SiftPartner::Client.new(partner_api_key, partner_id)
|
|
75
|
+
lambda { partner_client.new_account(site_url, nil, analyst_email,
|
|
76
|
+
password) }.should raise_error
|
|
77
|
+
lambda { partner_client.new_account(site_url, "", analyst_email,
|
|
78
|
+
password) }.should raise_error
|
|
79
|
+
lambda { partner_client.new_account(site_url, 12345, analyst_email,
|
|
80
|
+
password) }.should raise_error
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
it "account creation fails with nil, empty, or non-string analyst email" do
|
|
84
|
+
partner_client = SiftPartner::Client.new(partner_api_key, partner_id)
|
|
85
|
+
lambda { partner_client.new_account(site_url, site_email, nil,
|
|
86
|
+
password) }.should raise_error
|
|
87
|
+
lambda { partner_client.new_account(site_url, site_email, "",
|
|
88
|
+
password) }.should raise_error
|
|
89
|
+
lambda { partner_client.new_account(site_url, site_email, 12345,
|
|
90
|
+
password) }.should raise_error
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
it "account creation fails with nil, empty, or non-string password" do
|
|
94
|
+
partner_client = SiftPartner::Client.new(partner_api_key, partner_id)
|
|
95
|
+
lambda { partner_client.new_account(site_url, site_email, analyst_email,
|
|
96
|
+
nil) }.should raise_error
|
|
97
|
+
lambda { partner_client.new_account(site_url, site_email, analyst_email,
|
|
98
|
+
"") }.should raise_error
|
|
99
|
+
lambda { partner_client.new_account(site_url, site_email, analyst_email,
|
|
100
|
+
12345) }.should raise_error
|
|
101
|
+
end
|
|
102
|
+
|
|
42
103
|
it "should march through create acct flow" do
|
|
43
|
-
site_url = "merchant123.com"
|
|
44
|
-
site_email = "owner@merchant123.com"
|
|
45
|
-
analyst_email = "analyst+merchant123@partner.com"
|
|
46
|
-
password = "s0m3l0ngp455w0rd"
|
|
47
104
|
# when we receive the mocked url, it will include the basic auth header encoded
|
|
48
105
|
# and regurgitated before the host name
|
|
49
106
|
stub_request(:post, /https:\/\/.*\@partner\.siftscience\.com\/v3\/partners\/#{partner_id}\/accounts/).
|
|
@@ -82,6 +139,14 @@ describe SiftPartner::Client do
|
|
|
82
139
|
response["totalResults"].should eq(1)
|
|
83
140
|
end
|
|
84
141
|
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
it "config update fails with nil, or non-hash notification threshold" do
|
|
145
|
+
partner_client = SiftPartner::Client.new(partner_api_key, partner_id)
|
|
146
|
+
lambda { partner_client.update_notification_config(nil) }.should raise_error
|
|
147
|
+
lambda { partner_client.update_notification_config("not_a_hash") }.should raise_error
|
|
148
|
+
end
|
|
149
|
+
|
|
85
150
|
it "should work through config update flow" do
|
|
86
151
|
stub_request(:put, /https:\/\/.*\@partner\.siftscience\.com\/v3\/accounts\/#{partner_id}\/config/).
|
|
87
152
|
with { |request|
|
metadata
CHANGED
|
@@ -1,99 +1,99 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sift-partner
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aaron Beppu
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-06-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 2.
|
|
19
|
+
version: '2.0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 2.
|
|
26
|
+
version: '2.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: webmock
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 1.
|
|
33
|
+
version: '1.0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 1.
|
|
40
|
+
version: '1.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rake
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- -
|
|
45
|
+
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0
|
|
48
|
-
type: :
|
|
47
|
+
version: '11.0'
|
|
48
|
+
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- -
|
|
52
|
+
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0
|
|
54
|
+
version: '11.0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: httparty
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
59
|
+
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
61
|
+
version: 0.13.1
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- -
|
|
66
|
+
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
68
|
+
version: 0.13.1
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: multi_json
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- -
|
|
73
|
+
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 1.
|
|
75
|
+
version: '1.0'
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- -
|
|
80
|
+
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 1.
|
|
82
|
+
version: '1.0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
84
|
+
name: sift
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
|
-
- -
|
|
87
|
+
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version:
|
|
90
|
-
type: :
|
|
89
|
+
version: 1.1.7
|
|
90
|
+
type: :runtime
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
|
-
- -
|
|
94
|
+
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version:
|
|
96
|
+
version: 1.1.7
|
|
97
97
|
description: Sift Science Ruby Partner API. Please see http://siftscience.com for
|
|
98
98
|
more details.
|
|
99
99
|
email:
|
|
@@ -102,6 +102,7 @@ executables: []
|
|
|
102
102
|
extensions: []
|
|
103
103
|
extra_rdoc_files: []
|
|
104
104
|
files:
|
|
105
|
+
- ".travis.yml"
|
|
105
106
|
- Gemfile
|
|
106
107
|
- Gemfile.lock
|
|
107
108
|
- LICENSE
|
|
@@ -122,17 +123,17 @@ require_paths:
|
|
|
122
123
|
- lib
|
|
123
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
124
125
|
requirements:
|
|
125
|
-
- -
|
|
126
|
+
- - ">="
|
|
126
127
|
- !ruby/object:Gem::Version
|
|
127
128
|
version: '0'
|
|
128
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
130
|
requirements:
|
|
130
|
-
- -
|
|
131
|
+
- - ">="
|
|
131
132
|
- !ruby/object:Gem::Version
|
|
132
133
|
version: '0'
|
|
133
134
|
requirements: []
|
|
134
135
|
rubyforge_project: sift-partner
|
|
135
|
-
rubygems_version: 2.
|
|
136
|
+
rubygems_version: 2.4.6
|
|
136
137
|
signing_key:
|
|
137
138
|
specification_version: 4
|
|
138
139
|
summary: Sift Science Ruby Partner API Gem
|