whiplash-app 0.3.0 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 193d13b5243acadeaeaa29acbddfab95699b9ed6
4
- data.tar.gz: 745b79664dcf13199ddf31041074357c0a3b02a9
2
+ SHA256:
3
+ metadata.gz: 369384d86e1a0027cef90b9d5bea67045c893f536993f56be5da2f0175e3fb44
4
+ data.tar.gz: 6026a3632e9a147bd1dab24357764967f582681635b5e25ddd48c0d909b1bfe2
5
5
  SHA512:
6
- metadata.gz: 1911aec4369daf630a855b794180ae7ed8e9d1988f61d5aef881591a33b636b50af1349687867173f1cbfcfc8defc56167c2159cd1597992d274a833bed701d6
7
- data.tar.gz: 0f8e81b13812f1b7dbea5d56a3e7b36c1ac561a40ee283497421f94cf732c62f16a01ef7db94e0ab9c6927662bea25728d90e11bbbdf425b0cca2b8d45421df5
6
+ metadata.gz: 299b99f6deff5b2db76c6f43d3e1ba8ffe36b97cb778d6ff665cfe2dd1102a0c452f2183a80607510da51d3b31caae68430d177eb5aefee7cd112c95001fd210
7
+ data.tar.gz: '03359e08c25cf40976e93331b7b3519c1a5146ca44818bae79cd884ed7c7ca1e93dfe1eb01c0ce3a8350c3f835a8bb469473a4a35f2bc3d3cae935babd31a03a'
@@ -15,7 +15,7 @@ module Whiplash
15
15
  end
16
16
 
17
17
  def testing_url
18
- ENV["WHIPLASH_API_URL"] || "https://testing.getwhiplash.com"
18
+ ENV["WHIPLASH_API_URL"] || "https://sandbox.getwhiplash.com"
19
19
  end
20
20
 
21
21
  end
@@ -1,6 +1,7 @@
1
1
  module Whiplash
2
2
  module App
3
3
  module Connections
4
+ PER_PAGE_REQUEST_LIMIT = 50
4
5
 
5
6
  def app_request(options = {})
6
7
  if options[:params][:id]
@@ -8,38 +9,79 @@ module Whiplash
8
9
  else
9
10
  endpoint = options[:endpoint]
10
11
  end
11
- connection.send(options[:method],
12
- endpoint,
13
- options[:params],
14
- sanitize_headers(options[:headers]))
12
+
13
+ if options.dig(:options, :version)
14
+ version = options.dig(:options, :version)
15
+ else
16
+ version = "api/v2"
17
+ end
18
+
19
+ connection(version).send(options[:method],
20
+ endpoint,
21
+ options[:params],
22
+ sanitize_headers(options[:headers]))
23
+ end
24
+
25
+ def multi_page_get!(endpoint, params = {}, headers = nil)
26
+ results = []
27
+ page = 1
28
+ params[:per_page] = PER_PAGE_REQUEST_LIMIT
29
+
30
+ loop do
31
+ partial_results_request = app_request!(
32
+ method: :get,
33
+ endpoint: endpoint,
34
+ params: params,
35
+ headers: headers
36
+ ).body
37
+
38
+ results << partial_results_request
39
+ results.flatten!
40
+
41
+ page += 1
42
+ params[:page] = page
43
+
44
+ break if partial_results_request.size == 0
45
+ break if partial_results_request.size < PER_PAGE_REQUEST_LIMIT
46
+ end
47
+
48
+ results
15
49
  end
16
50
 
17
- def delete(endpoint, params = {}, headers = nil)
51
+ def delete(endpoint, params = {}, headers = nil, options = {})
18
52
  app_request(method: :delete,
19
53
  endpoint: endpoint,
20
54
  params: params,
21
- headers: headers)
55
+ headers: headers,
56
+ options: options
57
+ )
22
58
  end
23
59
 
24
- def get(endpoint, params = {}, headers = nil)
60
+ def get(endpoint, params = {}, headers = nil, options = {})
25
61
  app_request(method: :get,
26
62
  endpoint: endpoint,
27
63
  params: params,
28
- headers: headers)
64
+ headers: headers,
65
+ options: options
66
+ )
29
67
  end
30
68
 
31
- def post(endpoint, params = {}, headers = nil)
69
+ def post(endpoint, params = {}, headers = nil, options = {})
32
70
  app_request(method: :post,
33
71
  endpoint: endpoint,
34
72
  params: params,
35
- headers: headers)
73
+ headers: headers,
74
+ options: options
75
+ )
36
76
  end
37
77
 
38
- def put(endpoint, params = {}, headers = nil)
78
+ def put(endpoint, params = {}, headers = nil, options = {})
39
79
  app_request(method: :put,
40
80
  endpoint: endpoint,
41
81
  params: params,
42
- headers: headers)
82
+ headers: headers,
83
+ options: options
84
+ )
43
85
  end
44
86
 
45
87
  def sanitize_headers(headers)
@@ -1,5 +1,5 @@
1
1
  module Whiplash
2
2
  module App
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.3"
4
4
  end
5
5
  end
data/lib/whiplash/app.rb CHANGED
@@ -23,8 +23,8 @@ module Whiplash
23
23
  OAuth2::Client.new(ENV["WHIPLASH_CLIENT_ID"], ENV["WHIPLASH_CLIENT_SECRET"], site: api_url)
24
24
  end
25
25
 
26
- def connection
27
- out = Faraday.new [api_url, "api/v2"].join("/") do |conn|
26
+ def connection(version = "api/v2")
27
+ out = Faraday.new [api_url, version].join("/") do |conn|
28
28
  conn.request :oauth2, token, token_type: "bearer"
29
29
  conn.request :json
30
30
  conn.response :json, :content_type => /\bjson$/
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whiplash-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Don Sullivan, Mark Dickson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-23 00:00:00.000000000 Z
11
+ date: 2024-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -137,11 +137,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.4.5.1
140
+ rubygems_version: 3.4.6
142
141
  signing_key:
143
142
  specification_version: 4
144
143
  summary: this gem provides connectivity to the Whiplash API for authentication and
145
144
  REST requests.
146
145
  test_files: []
147
- has_rdoc: