warrant 3.0.0 → 3.1.0
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/README.md +25 -2
- data/lib/warrant/api_operations.rb +9 -9
- data/lib/warrant/models/warrant.rb +1 -1
- data/lib/warrant/version.rb +1 -1
- data/lib/warrant/warrant_configuration.rb +3 -1
- data/lib/warrant.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eedc398b4f1277eabdabf8252acde068e1a1398f0b3752d217793ec1d22570b3
|
4
|
+
data.tar.gz: 035f98bda116c4177ead75b9895a86582b2b37fd7d04b1b2175e68f73c0adff5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5d81834bffb0ac19ed371259e6b321ca23aa42a8ab0dd1bcf8c720fec168910ed8dcfe620942d17d4d399834593856080dbe802f786d273466db347089b10b4
|
7
|
+
data.tar.gz: 717cce9e98093c01c7412323894e7eb9f87742ae412eac1564e8e91184a3cea327dbb76ee7d5131196389c8df7e6b5a112ed24a6ccbd270f75a0277f2356b651
|
data/README.md
CHANGED
@@ -44,13 +44,36 @@ You can also build the gem from source:
|
|
44
44
|
require 'warrant'
|
45
45
|
Warrant.api_key = 'api_test_f5dsKVeYnVSLHGje44zAygqgqXiLJBICbFzCiAg1E='
|
46
46
|
|
47
|
-
#
|
47
|
+
# Create a user
|
48
48
|
Warrant::User.create(user_id: "user123")
|
49
49
|
|
50
|
-
#
|
50
|
+
# Check whether user slp951 has view access to report 7asm24
|
51
51
|
Warrant::Warrant.is_authorized?(object_type: "report", object_id: "7asm24", relation: "viewer", subject: { object_id: "user", object_id: "slp951" })
|
52
52
|
```
|
53
53
|
|
54
|
+
## Configuring the API and Authorize Endpoints
|
55
|
+
---
|
56
|
+
The API and Authorize endpoints the SDK makes requests to is configurable via the `Warrant.api_base` and `Warrant.authorize_endpoint` attributes:
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
require 'warrant'
|
60
|
+
|
61
|
+
# Set api and authorize endpoints to http://localhost:8000
|
62
|
+
Warrant.api_base = 'http://localhost:8000'
|
63
|
+
Warrant.authorize_endpoint = 'http://localhost:8000'
|
64
|
+
```
|
65
|
+
|
66
|
+
## Configuring SSL
|
67
|
+
---
|
68
|
+
By default, the SDK will attempt to use SSL when making requests to the API. This setting is configurable via the `Warrant.use_ssl` attribute:
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
require 'warrant'
|
72
|
+
|
73
|
+
# Disable ssl
|
74
|
+
Warrant.use_ssl = false
|
75
|
+
```
|
76
|
+
|
54
77
|
|
55
78
|
We’ve used a random API key in these code examples. Replace it with your [actual publishable API keys](https://app.warrant.dev) to
|
56
79
|
test this code through your own Warrant account.
|
@@ -4,21 +4,21 @@ module Warrant
|
|
4
4
|
# @!visibility private
|
5
5
|
class APIOperations
|
6
6
|
class << self
|
7
|
-
def post(uri, params = {}
|
7
|
+
def post(uri, params = {})
|
8
8
|
http = Net::HTTP.new(uri.host, uri.port)
|
9
|
-
http.use_ssl = use_ssl
|
9
|
+
http.use_ssl = ::Warrant.config.use_ssl
|
10
10
|
headers = {
|
11
|
-
"Authorization": "ApiKey #{::Warrant.config.api_key}",
|
12
11
|
"User-Agent": "warrant-ruby/#{VERSION}"
|
13
12
|
}
|
13
|
+
headers["Authorization"] = "ApiKey #{::Warrant.config.api_key}" unless ::Warrant.config.api_key.empty?
|
14
14
|
http.post(uri.path, params.to_json, headers)
|
15
15
|
end
|
16
16
|
|
17
17
|
def delete(uri, params = {})
|
18
18
|
http = Net::HTTP.new(uri.host, uri.port)
|
19
|
-
http.use_ssl =
|
19
|
+
http.use_ssl = ::Warrant.config.use_ssl
|
20
20
|
request = Net::HTTP::Delete.new(uri.path)
|
21
|
-
request["Authorization"] = "ApiKey #{::Warrant.config.api_key}"
|
21
|
+
request["Authorization"] = "ApiKey #{::Warrant.config.api_key}" unless ::Warrant.config.api_key.empty?
|
22
22
|
request["User-Agent"] = "warrant-ruby/#{VERSION}"
|
23
23
|
|
24
24
|
http.request(request, params.to_json)
|
@@ -26,11 +26,11 @@ module Warrant
|
|
26
26
|
|
27
27
|
def get(uri, params = {})
|
28
28
|
http = Net::HTTP.new(uri.host, uri.port)
|
29
|
-
http.use_ssl =
|
29
|
+
http.use_ssl = ::Warrant.config.use_ssl
|
30
30
|
headers = {
|
31
|
-
"Authorization": "ApiKey #{::Warrant.config.api_key}",
|
32
31
|
"User-Agent": "warrant-ruby/#{VERSION}"
|
33
32
|
}
|
33
|
+
headers["Authorization"] = "ApiKey #{::Warrant.config.api_key}" unless ::Warrant.config.api_key.empty?
|
34
34
|
|
35
35
|
unless params.empty?
|
36
36
|
normalized_params = Util.normalize_params(params.compact)
|
@@ -42,11 +42,11 @@ module Warrant
|
|
42
42
|
|
43
43
|
def put(uri, params = {})
|
44
44
|
http = Net::HTTP.new(uri.host, uri.port)
|
45
|
-
http.use_ssl =
|
45
|
+
http.use_ssl = ::Warrant.config.use_ssl
|
46
46
|
headers = {
|
47
|
-
"Authorization": "ApiKey #{::Warrant.config.api_key}",
|
48
47
|
"User-Agent": "warrant-ruby/#{VERSION}"
|
49
48
|
}
|
49
|
+
headers["Authorization"] = "ApiKey #{::Warrant.config.api_key}" unless ::Warrant.config.api_key.empty?
|
50
50
|
http.put(uri.path, params.to_json, headers)
|
51
51
|
end
|
52
52
|
|
@@ -413,7 +413,7 @@ module Warrant
|
|
413
413
|
|
414
414
|
def self.edge_authorize?(params = {})
|
415
415
|
request_url = URI.parse("#{::Warrant.config.authorize_endpoint}/v2/authorize")
|
416
|
-
res = APIOperations.post(request_url, Util.normalize_params(params)
|
416
|
+
res = APIOperations.post(request_url, Util.normalize_params(params))
|
417
417
|
res_json = JSON.parse(res.body)
|
418
418
|
|
419
419
|
case res
|
data/lib/warrant/version.rb
CHANGED
@@ -3,14 +3,16 @@
|
|
3
3
|
module Warrant
|
4
4
|
# @!visibility private
|
5
5
|
class WarrantConfiguration
|
6
|
-
attr_accessor :api_key, :api_base, :authorize_endpoint
|
6
|
+
attr_accessor :api_key, :api_base, :authorize_endpoint, :use_ssl
|
7
7
|
|
8
8
|
attr_reader :self_service_dash_url_base
|
9
9
|
|
10
10
|
def initialize
|
11
|
+
@api_key = ""
|
11
12
|
@api_base = "https://api.warrant.dev"
|
12
13
|
@authorize_endpoint = "https://api.warrant.dev"
|
13
14
|
@self_service_dash_url_base = "https://self-serve.warrant.dev"
|
15
|
+
@use_ssl = true
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
data/lib/warrant.rb
CHANGED
@@ -31,6 +31,6 @@ module Warrant
|
|
31
31
|
|
32
32
|
attr_reader :config
|
33
33
|
|
34
|
-
def_delegators :@config, :api_key, :api_key=, :api_base, :api_base=, :authorize_endpoint, :authorize_endpoint=
|
34
|
+
def_delegators :@config, :api_key, :api_key=, :api_base, :api_base=, :authorize_endpoint, :authorize_endpoint=, :use_ssl, :use_ssl=
|
35
35
|
end
|
36
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Warrant
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby library for the Warrant API at https://warrant.dev.
|
14
14
|
email: hello@warrant.dev
|
@@ -50,7 +50,7 @@ metadata:
|
|
50
50
|
source_code_uri: https://github.com/warrant-dev/warrant-ruby
|
51
51
|
changelog_uri: https://github.com/warrant-dev/warrant-ruby/CHANGELOG.md
|
52
52
|
documentation_uri: https://docs.warrant.dev/
|
53
|
-
post_install_message:
|
53
|
+
post_install_message:
|
54
54
|
rdoc_options: []
|
55
55
|
require_paths:
|
56
56
|
- lib
|
@@ -65,8 +65,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '0'
|
67
67
|
requirements: []
|
68
|
-
rubygems_version: 3.2.
|
69
|
-
signing_key:
|
68
|
+
rubygems_version: 3.2.33
|
69
|
+
signing_key:
|
70
70
|
specification_version: 4
|
71
71
|
summary: Warrant Ruby Library
|
72
72
|
test_files: []
|