labclient 0.4.0 → 0.4.2

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
2
  SHA256:
3
- metadata.gz: '038bb19b37338ea79eae25d376f49c470e3a3901e84d9f578e51da0ef78f9041'
4
- data.tar.gz: 8b7893bbcefc7fa4cbecdf1e3f1b3a21d0298678bb9ae8ed30cc2df13eee2e3f
3
+ metadata.gz: 2d1d2daf2bc113e0a5e74d3b2888dc20278bb18e5aab063a21919f9ab7ef4ca9
4
+ data.tar.gz: 40f0b1e58ba394663e4ab90f1ac9fd6e4734e718d6f1aac9f1394bc7c067afd3
5
5
  SHA512:
6
- metadata.gz: 17c52ea58baf3bda4bf70c9111000a823e9f0eac9fdc2cbece3be95c89162ed19b31e3ec39ce86ee504be590f600d9710afe1e0ce5efe11ef339f4fa9dec963e
7
- data.tar.gz: f4b66628ef3916cc5d431d36196d9abb278435fc98fba7b90ff6720cc159d3599ff6f0d87c5152b1ba0cf0d252fe4a3052a5344b28bdf8d26d8e59845f0f9d19
6
+ metadata.gz: 9d6e0a96ecd9eba62f3a38c89b621b6379cb1e63bb67a212acc7333dc0dc3ae6d3b58011bdbbb8b2b13c08959d144540e46698112dd1d91a6c613208abe541f3
7
+ data.tar.gz: 317e9e1290ccad1878af5f838842ab893879ed2306fcbcf0509ba9fa4372717a94b98ba37f038db86b01945dc7d2a95b18d8f158b1db64fc6884aa310bd14001
@@ -46,7 +46,7 @@ module LabClient
46
46
  self.retries += 1
47
47
 
48
48
  # Assume Retry After by Default
49
- logger.debug('Retry After', value: retry_after) if debug?
49
+ logger.debug('Retry After', value: retry_after, retry_header: retry_header) if debug?
50
50
  self.delay = retry_after if resp.headers.key? 'retry-after'
51
51
 
52
52
  self.delay += delay_factor
@@ -67,6 +67,9 @@ module LabClient
67
67
  # Save Client
68
68
  save_client
69
69
 
70
+ # Reset Delay/Retry Factor
71
+ retry_update if resp.success?
72
+
70
73
  # Exit on Max Retries
71
74
  raise LabClient::Error.new(resp), resp.friendly_error if retry_max?
72
75
 
@@ -74,9 +77,6 @@ module LabClient
74
77
 
75
78
  # Drop in raw path
76
79
  save_path
77
-
78
- # Reset Delay/Retry Factor
79
- retry_update
80
80
  end
81
81
 
82
82
  # Assume we want LabStruct if @klass is ever nil
@@ -94,7 +94,11 @@ module LabClient
94
94
 
95
95
  # Helper for Accessing the Retry Headers
96
96
  def retry_after
97
- resp.headers['retry-after'].to_i || 0
97
+ retry_header || delay_factor || 1
98
+ end
99
+
100
+ def retry_header
101
+ resp.headers['retry-after']&.to_i
98
102
  end
99
103
 
100
104
  # Handle Retry Logic
@@ -17,7 +17,7 @@ module LabClient
17
17
  # If nothing entered Prompt for Input
18
18
  def prompt_for_url
19
19
  print 'Enter GitLab URL (e.g. https://gitlab.com): '
20
- @settings[:url] = $stdin.gets.chomp
20
+ @settings[:url] = $stdin.gets&.chomp
21
21
  raise 'LabClient Error - Missing URL!' if @settings[:url].blank?
22
22
  end
23
23
 
@@ -35,7 +35,7 @@ module LabClient
35
35
  @settings[:debug] = false if @settings[:quiet].nil?
36
36
  @settings[:debug] = false if @settings[:debug].nil?
37
37
  @settings[:token_type] = 'Private-Token' if @settings[:token_type].nil?
38
- @settings[:retry] = { max: 5, delay_factor: 1, count: 0 } if @settings[:retry].nil?
38
+ @settings[:retry] = { max: 5, delay_factor: 10, count: 0 } if @settings[:retry].nil?
39
39
  end
40
40
 
41
41
  # Support for Named Profiles
@@ -1,3 +1,9 @@
1
+ # Overall version
1
2
  module LabClient
2
- VERSION = '0.4.0'.freeze
3
+ VERSION = '0.4.2'.freeze
4
+
5
+ # Make it easy to print version
6
+ def self.version
7
+ VERSION
8
+ end
3
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: labclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davin Walker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-27 00:00:00.000000000 Z
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport