arkaan 0.10.23 → 0.10.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/arkaan.rb +1 -0
- data/lib/arkaan/decorators/gateway.rb +47 -9
- data/lib/arkaan/factories/gateways.rb +1 -1
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10054ec59c36dfb69ce43553469e07bb156c83f0
|
4
|
+
data.tar.gz: 21822cb99ab1c672e796096cda30ec9ccef4fb01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9077ac7f917c9a13257dff98cf3528a84e3bde30ea5af7ed045f434cb98eea760e9ace89a5ca226443d1b63b230aaba71403ad326cc876839693387d81e60747
|
7
|
+
data.tar.gz: fdc7509b41a13c14d279b7ff05ad76d19437b7ef69607b224e097a9dd5710553dadc478d33391ca975b26076b642e8936e77218f98216173eed6f786e1f7323e
|
data/lib/arkaan.rb
CHANGED
@@ -14,29 +14,67 @@ module Arkaan
|
|
14
14
|
@action = action
|
15
15
|
end
|
16
16
|
|
17
|
+
# Shortcut to make a DELETE request on the API.
|
18
|
+
# @param session [Arkaan::Authentication::Session] the session of the user requesting the API.
|
19
|
+
# @param url [String] the URL you want to reach on the service.
|
20
|
+
# @param params [Hash] the additional parameters to pass in the JSON body.
|
21
|
+
def delete(session:, url:, params:)
|
22
|
+
return make_request(verb: 'delete', session: session, url: url, params: params)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Shortcut to make a GET request on the API.
|
26
|
+
# @param session [Arkaan::Authentication::Session] the session of the user requesting the API.
|
27
|
+
# @param url [String] the URL you want to reach on the service.
|
28
|
+
# @param params [Hash] the additional parameters to pass in the JSON body.
|
29
|
+
def get(session:, url:, params:)
|
30
|
+
return make_request(verb: 'get', session: session, url: url, params: params)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Shortcut to make a POST request on the API.
|
34
|
+
# @param session [Arkaan::Authentication::Session] the session of the user requesting the API.
|
35
|
+
# @param url [String] the URL you want to reach on the service.
|
36
|
+
# @param params [Hash] the additional parameters to pass in the JSON body.
|
37
|
+
def post(session:, url:, params:)
|
38
|
+
return make_request(verb: 'post', session: session, url: url, params: params)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Shortcut to make a PUT request on the API.
|
42
|
+
# @param session [Arkaan::Authentication::Session] the session of the user requesting the API.
|
43
|
+
# @param url [String] the URL you want to reach on the service.
|
44
|
+
# @param params [Hash] the additional parameters to pass in the JSON body.
|
45
|
+
def put(session:, url:, params:)
|
46
|
+
return make_request(verb: 'put', session: session, url: url, params: params)
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
17
51
|
# Makes a POST request to the given service with the following steps :
|
18
52
|
# 1. Gets an active and running instance of the service to make the request.
|
19
53
|
# 2. Creates a Faraday connection to use it as a pipeline for the request.
|
20
54
|
# 3. Makes the actual request and returns an object with the status and body of the response.
|
21
55
|
#
|
22
|
-
# @param
|
23
|
-
# @param
|
56
|
+
# @param verb [String] the HTTP verb to use for this request.
|
57
|
+
# @param session [Arkaan::Authentication::Session] the session of the user requesting the API.
|
58
|
+
# @param url [String] the URL you want to reach on the service.
|
59
|
+
# @param params [Hash] the additional parameters to pass in the JSON body.
|
60
|
+
#
|
24
61
|
# @return [Hash, Boolean] FALSE if no instance are found, or an object with :status and :body keys correspding
|
25
62
|
# to the status and body of the response to the request
|
26
|
-
def
|
63
|
+
def make_request(verb:, session:, url:, params:)
|
27
64
|
if ENV['APP_KEY'].nil?
|
28
|
-
raise Arkaan::Decorators::Errors::EnvVariableMissing.new(action)
|
65
|
+
raise Arkaan::Decorators::Errors::EnvVariableMissing.new(action: action)
|
29
66
|
end
|
30
|
-
|
31
|
-
|
67
|
+
params[:app_key] = ENV['APP_KEY']
|
68
|
+
params[:session_d] = session.token
|
69
|
+
connection = Faraday.new(object.url) do |faraday|
|
32
70
|
faraday.request :url_encoded
|
33
71
|
faraday.response :logger
|
34
72
|
faraday.adapter Faraday.default_adapter
|
35
73
|
end
|
36
|
-
responde = connection.
|
37
|
-
req.url
|
74
|
+
responde = connection.send(verb) do |req|
|
75
|
+
req.url url
|
38
76
|
req.headers['Content-Type'] = 'application/json'
|
39
|
-
req.body =
|
77
|
+
req.body = params.to_json
|
40
78
|
end
|
41
79
|
return {
|
42
80
|
status: response.status,
|
@@ -10,7 +10,7 @@ module Arkaan
|
|
10
10
|
def self.random(action)
|
11
11
|
gateway = Arkaan::Monitoring::Gateway.where(active: true, running: true).first
|
12
12
|
if gateway.nil?
|
13
|
-
raise Arkaan::Factories::Errors::GatewayNotFound.new(action)
|
13
|
+
raise Arkaan::Factories::Errors::GatewayNotFound.new(action: action)
|
14
14
|
end
|
15
15
|
return Arkaan::Decorators::Gateway.new(action, gateway)
|
16
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arkaan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vincent Courtois
|
@@ -234,6 +234,20 @@ dependencies:
|
|
234
234
|
- - '='
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: 2.1.0
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: faraday
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
237
251
|
description: This gem holds the model layer for my table-top RPG games application.
|
238
252
|
email: courtois.vincent@outlook.com
|
239
253
|
executables: []
|