labclient 0.4.0 → 0.4.2

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 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