bbk-utils 1.1.2.304819 → 1.1.4.347221

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: '049d051da4626f8c633a7ac067acaedd75f77f62345587c74f7a1fbd752af07e'
4
- data.tar.gz: 56bd4a0736bff72b6c3d54ca47585b41117ae0b05e44ebc353d0c5dfbc422bb2
3
+ metadata.gz: e601361c651d61761ffbe5cd14b0162a1478d8719040fe23e69f372a6e6e2f22
4
+ data.tar.gz: 6a2e93d96f97fd5686d6e1a66e57dc86ae918d92a0914154cd2f4f85ca725af3
5
5
  SHA512:
6
- metadata.gz: 398384ac2f5e39ad66f65fb6d225a605f647e3a6ef7075bf9e959d34fdb78bfefb70d59ab254b642f9946a1aa039ccc8675b18f6e9210365bccbeaeac872ee71
7
- data.tar.gz: 851de34e925bda605eb432bb212284303bd2af7172b588e1b81b1fd405df51899293b6dadf63719644ef2b41fa944d9ca74c8fa432ed421c280e229020dc90f2
6
+ metadata.gz: d0cb09b8b53016c4462a441bc640fdee4d9ff8bb0bf35c4d2c71c647b88643157788536f1689031beb42ec2b2dfdd4ef620aa3ac1489737820a6c4a83cf4f423
7
+ data.tar.gz: 17281a82684e76a490f8dd8140684648c4317dc9fbee6dfc9eaa3d9f75b019f828c48604de28b1399c8904f7aa8cb2be00ac2aea43cbd37f6014c3c8102c6b55
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bbk-utils (1.1.2.304819)
4
+ bbk-utils (1.1.4.347221)
5
5
  activesupport (>= 7.0)
6
6
  russian
7
7
  securerandom (~> 0.3.2)
@@ -9,7 +9,7 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (7.1.5.1)
12
+ activesupport (7.1.6)
13
13
  base64
14
14
  benchmark (>= 0.3)
15
15
  bigdecimal
@@ -30,19 +30,19 @@ GEM
30
30
  descendants_tracker (~> 0.0.4)
31
31
  ice_nine (~> 0.11.0)
32
32
  thread_safe (~> 0.3, >= 0.3.1)
33
- base64 (0.2.0)
34
- benchmark (0.4.0)
35
- bigdecimal (3.1.9)
33
+ base64 (0.3.0)
34
+ benchmark (0.5.0)
35
+ bigdecimal (3.3.1)
36
36
  byebug (11.1.3)
37
37
  coercible (1.0.0)
38
38
  descendants_tracker (~> 0.0.1)
39
39
  concurrent-ruby (1.2.2)
40
- connection_pool (2.5.3)
40
+ connection_pool (2.5.5)
41
41
  descendants_tracker (0.0.4)
42
42
  thread_safe (~> 0.3, >= 0.3.1)
43
43
  diff-lcs (1.6.0)
44
44
  docile (1.4.0)
45
- drb (2.2.1)
45
+ drb (2.2.3)
46
46
  equalizer (0.0.11)
47
47
  erubis (2.7.0)
48
48
  faker (2.19.0)
@@ -63,7 +63,7 @@ GEM
63
63
  launchy (2.5.0)
64
64
  addressable (~> 2.7)
65
65
  logger (1.7.0)
66
- minitest (5.25.5)
66
+ minitest (5.26.1)
67
67
  mutex_m (0.3.0)
68
68
  parallel (1.21.0)
69
69
  parser (3.0.3.1)
@@ -5,6 +5,7 @@ module BBK
5
5
  class Config
6
6
 
7
7
  PREFIX_SEP = '_'
8
+ FILTERED_VALUE = '[FILTERED]'
8
9
 
9
10
  attr_accessor :store, :name
10
11
  attr_reader :prefix, :env_prefix, :parent
@@ -78,7 +79,7 @@ module BBK
78
79
  }
79
80
  end
80
81
 
81
- def require(env, desc: nil, bool: false, type: nil, key: nil, rewrite: true)
82
+ def require(env, desc: nil, bool: false, type: nil, key: nil, rewrite: true, secure: false)
82
83
  raise ArgumentError.new('Specified type and bool') if bool && type.present?
83
84
 
84
85
  type = BBK::Config::BooleanCaster.singleton_method(:cast) if bool
@@ -91,11 +92,12 @@ module BBK
91
92
  required: true,
92
93
  desc: desc,
93
94
  bool: bool,
94
- type: type
95
+ type: type,
96
+ secure: secure
95
97
  }
96
98
  end
97
99
 
98
- def optional(env, default: nil, desc: nil, bool: false, type: nil, key: nil, rewrite: true)
100
+ def optional(env, default: nil, desc: nil, bool: false, type: nil, key: nil, rewrite: true, secure: false)
99
101
  raise ArgumentError.new('Specified type and bool') if bool && type.present?
100
102
 
101
103
  type = BBK::Utils::Config::BooleanCaster.singleton_method(:cast) if bool
@@ -109,7 +111,8 @@ module BBK
109
111
  default: default,
110
112
  desc: desc,
111
113
  bool: true,
112
- type: type
114
+ type: type,
115
+ secure: secure
113
116
  }
114
117
  end
115
118
 
@@ -313,15 +316,26 @@ module BBK
313
316
 
314
317
  def print_item(item, padding)
315
318
  line = padding + wrap_required(item)
316
- line += " (=#{item[:default]})" if item[:default].present?
319
+ if item[:default].present?
320
+ def_value = if item[:secure]
321
+ FILTERED_VALUE
322
+ else
323
+ item[:default]
324
+ end
325
+ line += " (=#{def_value})"
326
+ end
317
327
 
318
328
  line = if item[:desc].present?
319
329
  "#{line.ljust(50)} #{item[:desc]}"
320
330
  else
321
331
  line
322
332
  end
323
-
324
- "#{line}\n#{padding * 2}-> #{item[:value].inspect}"
333
+ value = if item[:secure]
334
+ FILTERED_VALUE
335
+ else
336
+ item[:value].inspect
337
+ end
338
+ "#{line}\n#{padding * 2}-> #{value}"
325
339
  end
326
340
 
327
341
  def wrap_required(item)
@@ -33,22 +33,24 @@ module BBK
33
33
  end
34
34
 
35
35
  def self.build_uri_with_defaults(env, prefix: DEFAULT_DATABASE_PREFIX)
36
- ::URI.parse(env[prefixed_key(prefix, 'URL')] || '').tap do |uri|
37
- uri.scheme = env.fetch(prefixed_key(prefix, 'ADAPTER'), uri.scheme) || 'postgresql'
38
- uri.user = env.fetch(prefixed_key(prefix, 'USER'), uri.user) || 'postgres'
39
- uri.password = env.fetch(prefixed_key(prefix, 'PASS'), uri.password)
40
- uri.hostname = env.fetch(prefixed_key(prefix, 'HOST'), uri.hostname) || 'db'
41
- uri.port = env.fetch(prefixed_key(prefix, 'PORT'), uri.port) || 5432
36
+ ::URI.parse(env[prefixed_key(prefix, 'URL')] || '').then do |uri|
37
+ result = uri.clone
38
+ result.scheme = env.fetch(prefixed_key(prefix, 'ADAPTER'), uri.scheme) || 'postgresql'
39
+ result.hostname = env.fetch(prefixed_key(prefix, 'HOST'), uri.hostname) || 'db'
40
+ result.port = env.fetch(prefixed_key(prefix, 'PORT'), uri.port) || 5432
41
+ result.user = env.fetch(prefixed_key(prefix, 'USER'), uri.user) || 'postgres'
42
+ result.password = env.fetch(prefixed_key(prefix, 'PASS'), uri.password)
42
43
 
43
44
  name = env.fetch(prefixed_key(prefix, 'NAME'), uri.path) || ''
44
45
  name = "/#{name}" unless name.start_with?('/')
45
- uri.path = name
46
+ result.path = name
46
47
 
47
48
  if uri.query
48
49
  params = URI.decode_www_form(uri.query).to_h
49
50
  params['pool'] = env.fetch(prefixed_key(prefix, 'POOL'), params['pool'])
50
- uri.query = URI.encode_www_form(params)
51
+ result.query = URI.encode_www_form(params)
51
52
  end
53
+ result
52
54
  end
53
55
  end
54
56
 
@@ -76,17 +78,19 @@ module BBK
76
78
  URI.parse(url).hostname || 'mq').split(/[;|]/)].flatten.select(&:present?).uniq
77
79
 
78
80
  hosts.map do |host|
79
- URI.parse(url).tap do |uri|
80
- uri.scheme = uri.scheme || 'amqps'
81
- uri.hostname = host
82
- uri.port = env.fetch('MQ_PORT', uri.port) || 5671
83
- uri.user = env.fetch('MQ_USER', uri.user)
84
- uri.password = env.fetch('MQ_PASS', uri.password)
81
+ URI.parse(url).then do |uri|
82
+ result = uri.clone
83
+ result.scheme = uri.scheme || 'amqps'
84
+ result.hostname = host
85
+ result.port = env.fetch('MQ_PORT', uri.port) || 5671
86
+ result.user = env.fetch('MQ_USER', uri.user)
87
+ result.password = env.fetch('MQ_PASS', uri.password)
85
88
 
86
89
  vhost = [env.fetch('MQ_VHOST', uri.path), '/'].find(&:present?)
87
90
  vhost = "/#{vhost}" unless vhost.start_with?('/')
88
91
 
89
- uri.path = vhost
92
+ result.path = vhost
93
+ result
90
94
  end
91
95
  end
92
96
  end
@@ -107,7 +111,6 @@ module BBK
107
111
  env['MQ_VHOST'] = vhost
108
112
  end
109
113
 
110
-
111
114
  def self.prefixed_key(prefix, name)
112
115
  [prefix, name].select(&:present?).join('_')
113
116
  end
@@ -3,7 +3,7 @@
3
3
  module BBK
4
4
  module Utils
5
5
 
6
- VERSION = '1.1.2'.freeze
6
+ VERSION = '1.1.4'
7
7
 
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bbk-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2.304819
4
+ version: 1.1.4.347221
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samoilenko Yuri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-05-20 00:00:00.000000000 Z
11
+ date: 2025-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport