blackbox 4.0.3 → 4.0.4

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.
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'blackbox/version'
3
4
  require 'blackbox/crypto'
4
5
  require 'blackbox/string'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'openssl'
3
4
  require 'base64'
4
5
  require 'chronic_duration'
@@ -41,7 +42,7 @@ module BB
41
42
  cipher.key = key
42
43
  if iv.nil?
43
44
  iv_len = ciphertext.slice!(0).unpack('C')[0]
44
- cipher.iv = ciphertext.slice!(0..iv_len - 1) unless 0 == iv_len
45
+ cipher.iv = ciphertext.slice!(0..iv_len - 1) unless iv_len == 0
45
46
  else
46
47
  cipher.iv = iv
47
48
  end
@@ -127,9 +128,7 @@ module BB
127
128
  valid_until, op, *args = body.split("\x00")
128
129
  valid_until = valid_until.unpack('l<')[0]
129
130
  expired = Time.now.to_i > valid_until
130
- if expired && !force
131
- raise ArgumentError, "Token expired at #{Time.at(valid_until)} (#{ChronicDuration.output(Time.now.to_i - valid_until)} ago)"
132
- end
131
+ raise ArgumentError, "Token expired at #{Time.at(valid_until)} (#{ChronicDuration.output(Time.now.to_i - valid_until)} ago)" if expired && !force
133
132
  { valid_until: valid_until,
134
133
  op: op,
135
134
  args: args,
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'versionomy'
3
4
  module BB
4
5
  # Gem utilities.
@@ -59,7 +60,7 @@ module BB
59
60
  last_check_at = nil
60
61
  begin
61
62
  last_check_at = File.stat(statefile_path).mtime
62
- rescue
63
+ rescue StandardError
63
64
  last_check_at = Time.at(0)
64
65
  end
65
66
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module BB
3
4
  # Hash utilities.
4
5
  module Hash
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'blackbox/hash'
3
4
 
4
5
  module BB
5
6
  # String utilities.
6
7
  module Number
7
8
  class << self
8
- STORAGE_UNITS = %w(byte k M G T P E Z Y).freeze
9
+ STORAGE_UNITS = %w[byte k M G T P E Z Y].freeze
9
10
 
10
11
  ##
11
12
  # Formats the bytes in +number+ into a more understandable representation
@@ -46,7 +47,7 @@ module BB
46
47
  def to_human_size(number, args = {})
47
48
  begin
48
49
  Float(number)
49
- rescue
50
+ rescue StandardError
50
51
  return nil
51
52
  end
52
53
 
@@ -77,7 +78,7 @@ module BB
77
78
  delimiter: delimiter).sub(/(#{escaped_separator})(\d*[1-9])?0+\z/, '\1\2').sub(/#{escaped_separator}\z/, '')
78
79
  storage_units_format.gsub(/%n/, formatted_number).gsub(/%u/, unit)
79
80
  end
80
- rescue
81
+ rescue StandardError
81
82
  number
82
83
  end
83
84
  end
@@ -112,7 +113,7 @@ module BB
112
113
  def with_precision(number, args)
113
114
  begin
114
115
  Float(number)
115
- rescue
116
+ rescue StandardError
116
117
  return nil
117
118
  end
118
119
 
@@ -127,7 +128,7 @@ module BB
127
128
  with_delimiter("%01.#{precision}f" % rounded_number,
128
129
  separator: separator,
129
130
  delimiter: delimiter)
130
- rescue
131
+ rescue StandardError
131
132
  number
132
133
  end
133
134
  end
@@ -160,7 +161,7 @@ module BB
160
161
  def with_delimiter(number, args = {})
161
162
  begin
162
163
  Float(number)
163
- rescue
164
+ rescue StandardError
164
165
  return nil
165
166
  end
166
167
  options = BB::Hash.symbolize_keys(args)
@@ -172,7 +173,7 @@ module BB
172
173
  parts = number.to_s.split('.')
173
174
  parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delimiter}")
174
175
  parts.join(separator)
175
- rescue
176
+ rescue StandardError
176
177
  number
177
178
  end
178
179
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module BB
3
4
  # String utilities.
4
5
  module String
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'lolcat/lol'
3
- require 'thread'
4
4
  require 'open3'
5
5
  require 'pty'
6
6
  require 'rainbow/ext/string'
@@ -48,7 +48,7 @@ module BB
48
48
  i = 0
49
49
  loop do
50
50
  break if @minispin_last_char_at == :end
51
- if 0.23 > Time.now - @minispin_last_char_at || @minispin_disable
51
+ if Time.now - @minispin_last_char_at < 0.23 || @minispin_disable
52
52
  sleep 0.1
53
53
  next
54
54
  end
@@ -91,10 +91,10 @@ module BB
91
91
  @tspin = nil
92
92
  end
93
93
  else
94
- opts[:spinner].call(true) if opts[:spinner]
94
+ opts[:spinner]&.call(true)
95
95
  output, status = Open3.capture2e(line)
96
- opts[:spinner].call(false) if opts[:spinner]
97
- color = (status.exitstatus == 0) ? :green : :red
96
+ opts[:spinner]&.call(false)
97
+ color = status.exitstatus == 0 ? :green : :red
98
98
  if status.exitstatus != 0 || !opts[:quiet]
99
99
  puts "\n> ".color(color) + line.color(:black).bright
100
100
  puts output
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module BB
3
- VERSION = '4.0.3'
4
+ VERSION = '4.0.4'
4
5
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'blackbox/version'
4
5
 
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'blackbox/crypto'
4
5
  require 'base64'
5
6
 
6
- OPENSSL_CIPHERS = %w(aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc) +
7
- %w(aes-256-ecb bf bf-cbc bf-cfb) +
8
- %w(bf-ecb bf-ofb cast cast-cbc cast5-cbc) +
9
- %w(cast5-cfb cast5-ecb cast5-ofb des des-cbc) +
10
- %w(des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb) +
11
- %w(des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb) +
12
- %w(des-ofb des3 desx rc2 rc2-40-cbc) +
13
- %w(rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb) +
14
- %w(rc4 rc4-40)
7
+ OPENSSL_CIPHERS = %w[aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc] +
8
+ %w[aes-256-ecb bf bf-cbc bf-cfb] +
9
+ %w[bf-ecb bf-ofb cast cast-cbc cast5-cbc] +
10
+ %w[cast5-cfb cast5-ecb cast5-ofb des des-cbc] +
11
+ %w[des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb] +
12
+ %w[des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb] +
13
+ %w[des-ofb des3 desx rc2 rc2-40-cbc] +
14
+ %w[rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb] +
15
+ %w[rc4 rc4-40]
15
16
 
16
17
  CIPHER_KEY_IV_SIZE = {
17
18
  'aes-128-cbc': [16, 16],
@@ -65,9 +66,9 @@ TEST_TEXT_LONG = '[LONG_TEST]' * 8192
65
66
  describe BB::Crypto do
66
67
  OPENSSL_CIPHERS.each do |cipher|
67
68
  describe cipher.to_s do
68
- [[:encrypt, :decrypt],
69
- [:encrypt_base64, :decrypt_base64],
70
- [:encrypt_urlsafe_base64, :decrypt_urlsafe_base64]].each do |e|
69
+ [%i[encrypt decrypt],
70
+ %i[encrypt_base64 decrypt_base64],
71
+ %i[encrypt_urlsafe_base64 decrypt_urlsafe_base64]].each do |e|
71
72
  m_enc, m_dec = e
72
73
  describe "#{m_enc}, #{m_dec}" do
73
74
  it 'can decrypt what it encrypted (short string, random iv)' do
@@ -144,7 +145,7 @@ describe BB::Crypto do
144
145
  it 'decodes all elements of token payload as Strings' do
145
146
  v = subject.class.parse(subject.class.create('foo', ['a', 2, :c], 5, test_key), test_key)
146
147
  expect(v[:op]).to eq('foo')
147
- expect(v[:args]).to eq(%w(a 2 c))
148
+ expect(v[:args]).to eq(%w[a 2 c])
148
149
  expect(v[:expired]).to eq(false)
149
150
  end
150
151
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'timecop'
4
5
  require 'blackbox/gem'
@@ -44,7 +45,6 @@ describe BB::Gem do
44
45
  expect(retval).to include(
45
46
  next_check_for_update: Time.parse('2015-10-22 00:00'),
46
47
  gem_latest_version: :unknown
47
-
48
48
  )
49
49
  end
50
50
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'blackbox/hash'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'blackbox/number'
4
5
 
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'simplecov'
3
4
  SimpleCov.start do
4
5
  add_filter '/spec/'
5
6
  end
6
7
 
7
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
8
+ $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'blackbox/string'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require 'blackbox/unix'
4
5
 
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blackbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.3
4
+ version: 4.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-27 00:00:00.000000000 Z
11
+ date: 2018-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rake
14
+ name: bump
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
28
+ name: fuubar
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: simplecov
42
+ name: guard
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: redcarpet
56
+ name: guard-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: yard
70
+ name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: bump
84
+ name: redcarpet
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: guard
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: guard-rspec
112
+ name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: fuubar
126
+ name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: rubocop
154
+ name: yard
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,61 +165,61 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: gem_update_checker
168
+ name: chronic_duration
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.2.0
173
+ version: 0.10.6
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.2.0
180
+ version: 0.10.6
181
181
  - !ruby/object:Gem::Dependency
182
- name: lolcat
182
+ name: gem_update_checker
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 90.8.8
187
+ version: 0.2.0
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 90.8.8
194
+ version: 0.2.0
195
195
  - !ruby/object:Gem::Dependency
196
- name: rainbow
196
+ name: lolcat
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 2.2.0
201
+ version: 90.8.8
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 2.2.0
208
+ version: 90.8.8
209
209
  - !ruby/object:Gem::Dependency
210
- name: chronic_duration
210
+ name: rainbow
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 0.10.6
215
+ version: 3.0.0
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 0.10.6
222
+ version: 3.0.0
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: versionomy
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -380,7 +380,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
380
380
  version: '0'
381
381
  requirements: []
382
382
  rubyforge_project:
383
- rubygems_version: 2.6.8
383
+ rubygems_version: 2.7.6
384
384
  signing_key:
385
385
  specification_version: 4
386
386
  summary: Various little helpers
@@ -393,4 +393,3 @@ test_files:
393
393
  - spec/spec_helper.rb
394
394
  - spec/string_spec.rb
395
395
  - spec/unix_spec.rb
396
- has_rdoc: