getaround_utils 0.2.23 → 0.2.25
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 +4 -4
- data/Gemfile.lock +16 -9
- data/README.md +25 -0
- data/getaround_utils.gemspec +2 -1
- data/lib/getaround_utils/railties/dotenv.rb +22 -0
- data/lib/getaround_utils/railties/ougai.rb +19 -9
- data/lib/getaround_utils/version.rb +1 -1
- metadata +28 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f6dd68f18739dcc00d036bb09895bd7a9ea55cafb8b75c7b27f0fb1b9d0c9ed
|
4
|
+
data.tar.gz: 76fd9e2acedc062898d72a3f86f08c892157f3e36db8a5839025c346cd1e324e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d885550f6cc2d3d7f829696457a6cc29cc08be3118b0ab8daf66d680942d26d5ac4242bc22277c87d694f4666c215f78ae4dbf8b2a0fbb692010d82694325180
|
7
|
+
data.tar.gz: 96a3ab41e81e981db9ed51288d9bccd7fbf4f21255e80832c2fa5c924d328a660f332975b602867a7e35e7dbd4259faa42e2f9d9e2ea092a4a05fb1e88f0005f
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
getaround_utils (0.2.
|
4
|
+
getaround_utils (0.2.25)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -71,11 +71,15 @@ GEM
|
|
71
71
|
builder (3.2.4)
|
72
72
|
coderay (1.1.3)
|
73
73
|
concurrent-ruby (1.1.10)
|
74
|
-
connection_pool (2.
|
74
|
+
connection_pool (2.3.0)
|
75
75
|
crack (0.4.5)
|
76
76
|
rexml
|
77
77
|
crass (1.0.6)
|
78
78
|
diff-lcs (1.5.0)
|
79
|
+
dotenv (2.7.6)
|
80
|
+
dotenv-rails (2.7.6)
|
81
|
+
dotenv (= 2.7.6)
|
82
|
+
railties (>= 3.2)
|
79
83
|
erubi (1.10.0)
|
80
84
|
getaround-rubocop (0.2.7)
|
81
85
|
relaxed-rubocop (= 2.5)
|
@@ -116,7 +120,7 @@ GEM
|
|
116
120
|
method_source (~> 1.0)
|
117
121
|
public_suffix (4.0.6)
|
118
122
|
racc (1.6.0)
|
119
|
-
rack (2.2.
|
123
|
+
rack (2.2.5)
|
120
124
|
rack-test (1.1.0)
|
121
125
|
rack (>= 1.0, < 3)
|
122
126
|
rails (6.1.4.6)
|
@@ -147,7 +151,8 @@ GEM
|
|
147
151
|
thor (~> 1.0)
|
148
152
|
rainbow (3.1.1)
|
149
153
|
rake (13.0.6)
|
150
|
-
redis (
|
154
|
+
redis-client (0.12.0)
|
155
|
+
connection_pool
|
151
156
|
regexp_parser (2.2.1)
|
152
157
|
relaxed-rubocop (2.5)
|
153
158
|
request_store (1.5.1)
|
@@ -191,10 +196,11 @@ GEM
|
|
191
196
|
rubocop (~> 1.0)
|
192
197
|
rubocop-ast (>= 1.1.0)
|
193
198
|
ruby-progressbar (1.11.0)
|
194
|
-
sidekiq (
|
195
|
-
|
196
|
-
|
197
|
-
|
199
|
+
sidekiq (7.0.3)
|
200
|
+
concurrent-ruby (< 2)
|
201
|
+
connection_pool (>= 2.3.0)
|
202
|
+
rack (>= 2.2.4)
|
203
|
+
redis-client (>= 0.11.0)
|
198
204
|
sprockets (4.0.2)
|
199
205
|
concurrent-ruby (~> 1.0)
|
200
206
|
rack (> 1, < 3)
|
@@ -220,6 +226,7 @@ PLATFORMS
|
|
220
226
|
|
221
227
|
DEPENDENCIES
|
222
228
|
bundler (~> 2.0)
|
229
|
+
dotenv-rails (~> 2.7.6)
|
223
230
|
getaround-rubocop (= 0.2.7)
|
224
231
|
getaround_utils!
|
225
232
|
lograge (~> 0.12.0)
|
@@ -231,7 +238,7 @@ DEPENDENCIES
|
|
231
238
|
rspec (~> 3.9, >= 3.9.0)
|
232
239
|
rspec-rails (~> 5.0)
|
233
240
|
rubocop (= 1.25.1)
|
234
|
-
sidekiq (
|
241
|
+
sidekiq (> 6.0, < 8.0)
|
235
242
|
webmock (~> 3.7)
|
236
243
|
|
237
244
|
BUNDLED WITH
|
data/README.md
CHANGED
@@ -4,6 +4,31 @@ Backend shared utility classes
|
|
4
4
|
|
5
5
|
## Railties
|
6
6
|
|
7
|
+
### GetaroundUtils::Railties::Dotenv
|
8
|
+
|
9
|
+
Enable currated .env files loading
|
10
|
+
```
|
11
|
+
# config/application.rb
|
12
|
+
require 'getaround_utils/railties/dotenv'
|
13
|
+
|
14
|
+
GetaroundUtils::Railties::Dotenv.load
|
15
|
+
```
|
16
|
+
|
17
|
+
Additional files can be loaded with the highed precedence via the `DOTENVS` variable, ie:
|
18
|
+
```
|
19
|
+
DOTENVS=custom1,custom2 rails c
|
20
|
+
# Will `load` .env files in the following order:
|
21
|
+
# - `.env.custom1.local`
|
22
|
+
# - `.env.custom1`
|
23
|
+
# - `.env.custom2.local`
|
24
|
+
# - `.env.custom2`
|
25
|
+
# - `.env.<RAILS_ENV>.local`
|
26
|
+
# - `.env.<RAILS_ENV>`
|
27
|
+
# - `.env.all.local`
|
28
|
+
# - `.env.all`
|
29
|
+
# - `.env.local`
|
30
|
+
```
|
31
|
+
|
7
32
|
### GetaroundUtils::Railties::Lograge
|
8
33
|
|
9
34
|
Enables lograge (http logs) with favored default.
|
data/getaround_utils.gemspec
CHANGED
@@ -28,9 +28,10 @@ Gem::Specification.new do |gem|
|
|
28
28
|
gem.add_development_dependency 'webmock', '~> 3.7'
|
29
29
|
|
30
30
|
# Functional (optional) dependencies
|
31
|
+
gem.add_development_dependency 'dotenv-rails', '~> 2.7.6'
|
31
32
|
gem.add_development_dependency 'lograge', '~> 0.12.0'
|
32
33
|
gem.add_development_dependency 'ougai', '~> 2.0'
|
33
34
|
gem.add_development_dependency 'rails', '~> 6.0'
|
34
35
|
gem.add_development_dependency 'request_store_rails', '~> 2.0'
|
35
|
-
gem.add_development_dependency 'sidekiq', '
|
36
|
+
gem.add_development_dependency 'sidekiq', '> 6.0', "< 8.0"
|
36
37
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails/railtie'
|
4
|
+
|
5
|
+
module GetaroundUtils; end
|
6
|
+
|
7
|
+
module GetaroundUtils::Railties; end
|
8
|
+
|
9
|
+
class GetaroundUtils::Railties::Dotenv < Rails::Railtie
|
10
|
+
def load
|
11
|
+
if ENV['DOTENVS'].present?
|
12
|
+
overrides = ENV['DOTENVS'].split(',').map{ |n| [".env.#{n}.local", ".env.#{n}"] }.flatten
|
13
|
+
warn('=' * 100)
|
14
|
+
warn("⚠️ ENV is overriden with the following profiles: #{overrides}")
|
15
|
+
warn('=' * 100)
|
16
|
+
Dotenv.load(*overrides)
|
17
|
+
end
|
18
|
+
Dotenv::Railtie.load
|
19
|
+
Dotenv.load('.env.all', '.env.all.local')
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
end
|
@@ -13,7 +13,12 @@ module GetaroundUtils::Railties; end
|
|
13
13
|
# https://github.com/tilfin/ougai/wiki/Use-as-Rails-logger#define-a-custom-logger
|
14
14
|
class OugaiRailsLogger < Ougai::Logger
|
15
15
|
include ActiveSupport::LoggerThreadSafeLevel
|
16
|
-
include
|
16
|
+
include ActiveSupport::LoggerSilence
|
17
|
+
|
18
|
+
def initialize(*args)
|
19
|
+
super
|
20
|
+
after_initialize if respond_to?(:after_initialize) && ActiveSupport::VERSION::MAJOR < 6
|
21
|
+
end
|
17
22
|
end
|
18
23
|
|
19
24
|
# Patch for ActiveSupport::TaggedLogging
|
@@ -46,14 +51,14 @@ end
|
|
46
51
|
|
47
52
|
class GetaroundUtils::Railties::Ougai < Rails::Railtie
|
48
53
|
config.ougai_logger = OugaiRailsLogger.new($stdout)
|
49
|
-
config.ougai_logger.after_initialize if Rails::VERSION::MAJOR < 6
|
50
54
|
config.ougai_logger.formatter = GetaroundUtils::Ougai::JsonFormatter.new
|
55
|
+
|
51
56
|
config.ougai_logger.before_log = lambda do |data|
|
52
|
-
|
53
|
-
|
57
|
+
data.deep_merge!(RequestStore.store[:ougai]) \
|
58
|
+
if defined?(RequestStore) && RequestStore.store.key?(:ougai)
|
54
59
|
|
55
|
-
|
56
|
-
|
60
|
+
data.merge!(sidekiq: Thread.current[:sidekiq_context]) \
|
61
|
+
if defined?(Sidekiq) && Thread.current.key?(:sidekiq_context)
|
57
62
|
end
|
58
63
|
|
59
64
|
initializer :getaround_utils_ougai, before: :initialize_logger do |app|
|
@@ -61,16 +66,17 @@ class GetaroundUtils::Railties::Ougai < Rails::Railtie
|
|
61
66
|
end
|
62
67
|
|
63
68
|
initializer :getaround_utils_ougai_middleware do |app|
|
64
|
-
app.config.app_middleware.insert_after
|
69
|
+
app.config.app_middleware.insert_after(ActionDispatch::RequestId, OugaiRequestStoreMiddleware)
|
65
70
|
end
|
66
71
|
|
67
72
|
initializer :getaround_utils_ougai_activesupport do
|
68
|
-
ActiveSupport::TaggedLogging::Formatter.prepend
|
73
|
+
ActiveSupport::TaggedLogging::Formatter.prepend(OugaiTaggedLoggingFormatter)
|
69
74
|
end
|
70
75
|
|
71
76
|
initializer :getaround_utils_ougai_lograge do |app|
|
72
77
|
next unless defined?(Lograge)
|
73
78
|
|
79
|
+
# https://github.com/tilfin/ougai/wiki/Use-as-Rails-logger#with-lograge
|
74
80
|
app.config.lograge.logger = app.config.logger
|
75
81
|
app.config.lograge.formatter = Lograge::Formatters::Raw.new
|
76
82
|
end
|
@@ -79,9 +85,13 @@ class GetaroundUtils::Railties::Ougai < Rails::Railtie
|
|
79
85
|
next unless defined?(Sidekiq)
|
80
86
|
|
81
87
|
# https://github.com/tilfin/ougai/wiki/Customize-Sidekiq-logger
|
82
|
-
Sidekiq.
|
88
|
+
Sidekiq.configure_client do |config|
|
89
|
+
config.logger = Rails.application.config.logger
|
90
|
+
end
|
83
91
|
|
84
92
|
Sidekiq.configure_server do |config|
|
93
|
+
config.logger = Rails.application.config.logger
|
94
|
+
|
85
95
|
original_handler = config.error_handlers.shift
|
86
96
|
config.error_handlers << lambda do |ex, ctx|
|
87
97
|
if Sidekiq.logger.is_a?(Ougai::Logger)
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: getaround_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Drivy
|
8
8
|
- Laurent Humez
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -129,6 +129,20 @@ dependencies:
|
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '3.7'
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: dotenv-rails
|
134
|
+
requirement: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.7.6
|
139
|
+
type: :development
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.7.6
|
132
146
|
- !ruby/object:Gem::Dependency
|
133
147
|
name: lograge
|
134
148
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,16 +203,22 @@ dependencies:
|
|
189
203
|
name: sidekiq
|
190
204
|
requirement: !ruby/object:Gem::Requirement
|
191
205
|
requirements:
|
192
|
-
- - "
|
206
|
+
- - ">"
|
193
207
|
- !ruby/object:Gem::Version
|
194
208
|
version: '6.0'
|
209
|
+
- - "<"
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '8.0'
|
195
212
|
type: :development
|
196
213
|
prerelease: false
|
197
214
|
version_requirements: !ruby/object:Gem::Requirement
|
198
215
|
requirements:
|
199
|
-
- - "
|
216
|
+
- - ">"
|
200
217
|
- !ruby/object:Gem::Version
|
201
218
|
version: '6.0'
|
219
|
+
- - "<"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '8.0'
|
202
222
|
description: Shared base utility classes for Getaround Backend Applications.
|
203
223
|
email:
|
204
224
|
- oss@drivy.com
|
@@ -218,6 +238,7 @@ files:
|
|
218
238
|
- lib/getaround_utils/ougai.rb
|
219
239
|
- lib/getaround_utils/ougai/deep_key_value_formatter.rb
|
220
240
|
- lib/getaround_utils/ougai/json_formatter.rb
|
241
|
+
- lib/getaround_utils/railties/dotenv.rb
|
221
242
|
- lib/getaround_utils/railties/lograge.rb
|
222
243
|
- lib/getaround_utils/railties/ougai.rb
|
223
244
|
- lib/getaround_utils/utils.rb
|
@@ -227,7 +248,7 @@ homepage: https://github.com/drivy
|
|
227
248
|
licenses:
|
228
249
|
- MIT
|
229
250
|
metadata: {}
|
230
|
-
post_install_message:
|
251
|
+
post_install_message:
|
231
252
|
rdoc_options: []
|
232
253
|
require_paths:
|
233
254
|
- lib
|
@@ -243,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
264
|
version: '0'
|
244
265
|
requirements: []
|
245
266
|
rubygems_version: 3.1.6
|
246
|
-
signing_key:
|
267
|
+
signing_key:
|
247
268
|
specification_version: 4
|
248
269
|
summary: Backend shared utility classes
|
249
270
|
test_files: []
|