ravelin 0.1.25 → 0.1.26
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 +4 -4
- data/lib/ravelin.rb +1 -0
- data/lib/ravelin/client.rb +6 -5
- data/lib/ravelin/proxy_client.rb +26 -0
- data/lib/ravelin/version.rb +1 -1
- metadata +13 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1f41610ead5380b5bd446d0029bfaf0d4f1bc6f9781d792da6e78b324702eb83
|
|
4
|
+
data.tar.gz: e9f5dd2ad5e40345818305013a948cae9908f46de33155812eecfb8e3c7e3210
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9b033087792cdb6ddc94ab27fe3d9cc8b4307a823d6814d93a2706722c2b45d0f3774b8d79549365c352d9da65e2a2b42be8b94bff45a44a18094da1c92d1737
|
|
7
|
+
data.tar.gz: ca9e32eaf19d7fffcf050f1e75130c2609c299e1b2d50d20c2c8a66023ca7f0f8815574e8f612db47db699bf7bdb99dcb56ee6402b5eda44dba0331e1b7f3e07
|
data/lib/ravelin.rb
CHANGED
data/lib/ravelin/client.rb
CHANGED
|
@@ -13,6 +13,7 @@ module Ravelin
|
|
|
13
13
|
|
|
14
14
|
def initialize(api_key:, api_version: 2)
|
|
15
15
|
@api_key = api_key
|
|
16
|
+
@url_prefix = ''
|
|
16
17
|
|
|
17
18
|
raise ArgumentError.new("api_version must be 2 or 3") unless [2,3].include? api_version
|
|
18
19
|
@api_version = api_version
|
|
@@ -29,7 +30,7 @@ module Ravelin
|
|
|
29
30
|
|
|
30
31
|
score_param = score ? "?score=true" : nil
|
|
31
32
|
|
|
32
|
-
post("/v#{@api_version}/#{event.name}#{score_param}", event.serializable_hash)
|
|
33
|
+
post("#{@url_prefix}/v#{@api_version}/#{event.name}#{score_param}", event.serializable_hash)
|
|
33
34
|
end
|
|
34
35
|
|
|
35
36
|
def send_backfill_event(**args)
|
|
@@ -39,13 +40,13 @@ module Ravelin
|
|
|
39
40
|
|
|
40
41
|
event = Event.new(**args)
|
|
41
42
|
|
|
42
|
-
post("/v#{@api_version}/backfill/#{event.name}", event.serializable_hash)
|
|
43
|
+
post("#{@url_prefix}/v#{@api_version}/backfill/#{event.name}", event.serializable_hash)
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
def send_tag(**args)
|
|
46
47
|
tag = Tag.new(**args)
|
|
47
48
|
|
|
48
|
-
post("/v#{@api_version}/tag/customer", tag.serializable_hash)
|
|
49
|
+
post("#{@url_prefix}/v#{@api_version}/tag/customer", tag.serializable_hash)
|
|
49
50
|
end
|
|
50
51
|
|
|
51
52
|
def delete_tag(**args)
|
|
@@ -53,14 +54,14 @@ module Ravelin
|
|
|
53
54
|
customer_id = tag["customerId"]
|
|
54
55
|
tags = tag["tagNames"].join(",")
|
|
55
56
|
|
|
56
|
-
delete("/v#{@api_version}/tag/customer?customerId=#{customer_id}&tagName=#{tags}")
|
|
57
|
+
delete("#{@url_prefix}/v#{@api_version}/tag/customer?customerId=#{customer_id}&tagName=#{tags}")
|
|
57
58
|
end
|
|
58
59
|
|
|
59
60
|
def get_tag(**args)
|
|
60
61
|
tag = Tag.new(**args).serializable_hash
|
|
61
62
|
customer_id = tag["customerId"]
|
|
62
63
|
|
|
63
|
-
get("/v#{@api_version}/tag/customer/#{customer_id}")
|
|
64
|
+
get("#{@url_prefix}/v#{@api_version}/tag/customer/#{customer_id}")
|
|
64
65
|
end
|
|
65
66
|
|
|
66
67
|
private
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Ravelin
|
|
2
|
+
class ProxyClient < Client
|
|
3
|
+
def initialize(base_url:, username:, password:, api_version: 2)
|
|
4
|
+
|
|
5
|
+
raise ArgumentError, "api_version must be 2 or 3" unless [2,3].include? api_version
|
|
6
|
+
@api_version = api_version
|
|
7
|
+
@url_prefix = '/ravelinproxy'
|
|
8
|
+
|
|
9
|
+
@connection = Faraday.new(base_url, faraday_proxy_options) do |conn|
|
|
10
|
+
conn.response :json, context_type: /\bjson$/
|
|
11
|
+
conn.adapter Ravelin.faraday_adapter
|
|
12
|
+
conn.basic_auth(username, password)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def faraday_proxy_options
|
|
17
|
+
{
|
|
18
|
+
request: { timeout: Ravelin.faraday_timeout },
|
|
19
|
+
headers: {
|
|
20
|
+
'Content-Type' => 'application/json; charset=utf-8'.freeze,
|
|
21
|
+
'User-Agent' => "Ravelin Proxy RubyGem/#{Ravelin::VERSION}".freeze
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
data/lib/ravelin/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ravelin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.26
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sam Levy
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: exe
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2020-
|
|
14
|
+
date: 2020-05-06 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: faraday
|
|
@@ -19,28 +19,28 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - "~>"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '0.
|
|
22
|
+
version: '0.17'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '0.
|
|
29
|
+
version: '0.17'
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: faraday_middleware
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
|
34
34
|
- - "~>"
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: '0.
|
|
36
|
+
version: '0.14'
|
|
37
37
|
type: :runtime
|
|
38
38
|
prerelease: false
|
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
41
|
- - "~>"
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '0.
|
|
43
|
+
version: '0.14'
|
|
44
44
|
- !ruby/object:Gem::Dependency
|
|
45
45
|
name: bundler
|
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -75,28 +75,28 @@ dependencies:
|
|
|
75
75
|
requirements:
|
|
76
76
|
- - "~>"
|
|
77
77
|
- !ruby/object:Gem::Version
|
|
78
|
-
version: '3.
|
|
78
|
+
version: '3.9'
|
|
79
79
|
type: :development
|
|
80
80
|
prerelease: false
|
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
|
82
82
|
requirements:
|
|
83
83
|
- - "~>"
|
|
84
84
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: '3.
|
|
85
|
+
version: '3.9'
|
|
86
86
|
- !ruby/object:Gem::Dependency
|
|
87
87
|
name: webmock
|
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
|
89
89
|
requirements:
|
|
90
90
|
- - "~>"
|
|
91
91
|
- !ruby/object:Gem::Version
|
|
92
|
-
version: '
|
|
92
|
+
version: '2.3'
|
|
93
93
|
type: :development
|
|
94
94
|
prerelease: false
|
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
|
96
96
|
requirements:
|
|
97
97
|
- - "~>"
|
|
98
98
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: '
|
|
99
|
+
version: '2.3'
|
|
100
100
|
description: Ravelin is a fraud detection tool. See https://www.ravelin.com for details.
|
|
101
101
|
email:
|
|
102
102
|
- sam.levy@deliveroo.co.uk
|
|
@@ -129,6 +129,7 @@ files:
|
|
|
129
129
|
- lib/ravelin/password.rb
|
|
130
130
|
- lib/ravelin/payment_method.rb
|
|
131
131
|
- lib/ravelin/pre_transaction.rb
|
|
132
|
+
- lib/ravelin/proxy_client.rb
|
|
132
133
|
- lib/ravelin/ravelin_object.rb
|
|
133
134
|
- lib/ravelin/response.rb
|
|
134
135
|
- lib/ravelin/tag.rb
|
|
@@ -156,7 +157,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
156
157
|
- !ruby/object:Gem::Version
|
|
157
158
|
version: '0'
|
|
158
159
|
requirements: []
|
|
159
|
-
|
|
160
|
+
rubyforge_project:
|
|
161
|
+
rubygems_version: 2.7.6.2
|
|
160
162
|
signing_key:
|
|
161
163
|
specification_version: 4
|
|
162
164
|
summary: Ruby bindings for the Ravelin API
|