nvar 0.1.2 → 0.2.0

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: 5623fcf10c45adddb15aee26416afa566eeb57972db115b930913fb874b0e7d9
4
- data.tar.gz: 2b5d10f4fc45886002a0eccd0dde8d1709cf7e4d38b8e4e8e672509cef318eb8
3
+ metadata.gz: dcd99458bfe71f2186f552eb9c0759108c86ceeed9b9ed405edf34a758d2dfba
4
+ data.tar.gz: ec71795cc0dad1e4b8d5ba2e75dfa9c1f6e56d32df73e9244258f62615d67397
5
5
  SHA512:
6
- metadata.gz: 60ca286c6d6741804fcb8f31652db93a728764e9a03af2119075c03d804640bcb2802a428ae3042f0d0658453e79d1f629dce7e0b0c1c6a198a602b8ab48a732
7
- data.tar.gz: dfecc072b41861cb91ac42471460277deaefd5b12d468b0456038cea174247d61c81d3c309ba6ba98e4984e6abb008267f0b652b574722b801ea4e427e89e94c
6
+ metadata.gz: a1d1b2066a8f922f57a26aebba4c47f5b3a71475360e24899422c0bbb4650fe6ae928fc5c49190d401a43d3ce775f1e8ba91a13212ac22a011b207ddca4e6755
7
+ data.tar.gz: 1bb2f8a67579ed8a771c2f827fced75478c5a8db23dc68158ad168579c9b4292546ba6d364675ea983d2d3742c7cb6aaf04f7c578bf4d1a6e47dcd8b920c9a8d
@@ -26,7 +26,7 @@ jobs:
26
26
  bin/bundler-audit --update
27
27
  - name: Run linters
28
28
  run: |
29
- # bin/rubocop
29
+ bin/standardrb --no-fix
30
30
  - name: Run tests
31
31
  run: |
32
32
  bin/rspec
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.7.5
1
+ ruby 3.3.0
data/Gemfile CHANGED
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in nvar.gemspec
6
6
  gemspec
7
7
 
8
- gem 'rake', '~> 12.0'
9
- gem 'rspec', '~> 3.0'
8
+ gem "rake", "~> 12.0"
9
+ gem "rspec", "~> 3.0"
data/Gemfile.lock CHANGED
@@ -1,194 +1,273 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nvar (0.1.1)
4
+ nvar (0.2.0)
5
5
  activesupport (>= 5.0.0, < 8.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- actioncable (6.1.4.4)
11
- actionpack (= 6.1.4.4)
12
- activesupport (= 6.1.4.4)
10
+ actioncable (7.1.3.2)
11
+ actionpack (= 7.1.3.2)
12
+ activesupport (= 7.1.3.2)
13
13
  nio4r (~> 2.0)
14
14
  websocket-driver (>= 0.6.1)
15
- actionmailbox (6.1.4.4)
16
- actionpack (= 6.1.4.4)
17
- activejob (= 6.1.4.4)
18
- activerecord (= 6.1.4.4)
19
- activestorage (= 6.1.4.4)
20
- activesupport (= 6.1.4.4)
15
+ zeitwerk (~> 2.6)
16
+ actionmailbox (7.1.3.2)
17
+ actionpack (= 7.1.3.2)
18
+ activejob (= 7.1.3.2)
19
+ activerecord (= 7.1.3.2)
20
+ activestorage (= 7.1.3.2)
21
+ activesupport (= 7.1.3.2)
21
22
  mail (>= 2.7.1)
22
- actionmailer (6.1.4.4)
23
- actionpack (= 6.1.4.4)
24
- actionview (= 6.1.4.4)
25
- activejob (= 6.1.4.4)
26
- activesupport (= 6.1.4.4)
23
+ net-imap
24
+ net-pop
25
+ net-smtp
26
+ actionmailer (7.1.3.2)
27
+ actionpack (= 7.1.3.2)
28
+ actionview (= 7.1.3.2)
29
+ activejob (= 7.1.3.2)
30
+ activesupport (= 7.1.3.2)
27
31
  mail (~> 2.5, >= 2.5.4)
28
- rails-dom-testing (~> 2.0)
29
- actionpack (6.1.4.4)
30
- actionview (= 6.1.4.4)
31
- activesupport (= 6.1.4.4)
32
- rack (~> 2.0, >= 2.0.9)
32
+ net-imap
33
+ net-pop
34
+ net-smtp
35
+ rails-dom-testing (~> 2.2)
36
+ actionpack (7.1.3.2)
37
+ actionview (= 7.1.3.2)
38
+ activesupport (= 7.1.3.2)
39
+ nokogiri (>= 1.8.5)
40
+ racc
41
+ rack (>= 2.2.4)
42
+ rack-session (>= 1.0.1)
33
43
  rack-test (>= 0.6.3)
34
- rails-dom-testing (~> 2.0)
35
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
- actiontext (6.1.4.4)
37
- actionpack (= 6.1.4.4)
38
- activerecord (= 6.1.4.4)
39
- activestorage (= 6.1.4.4)
40
- activesupport (= 6.1.4.4)
44
+ rails-dom-testing (~> 2.2)
45
+ rails-html-sanitizer (~> 1.6)
46
+ actiontext (7.1.3.2)
47
+ actionpack (= 7.1.3.2)
48
+ activerecord (= 7.1.3.2)
49
+ activestorage (= 7.1.3.2)
50
+ activesupport (= 7.1.3.2)
51
+ globalid (>= 0.6.0)
41
52
  nokogiri (>= 1.8.5)
42
- actionview (6.1.4.4)
43
- activesupport (= 6.1.4.4)
53
+ actionview (7.1.3.2)
54
+ activesupport (= 7.1.3.2)
44
55
  builder (~> 3.1)
45
- erubi (~> 1.4)
46
- rails-dom-testing (~> 2.0)
47
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
- activejob (6.1.4.4)
49
- activesupport (= 6.1.4.4)
56
+ erubi (~> 1.11)
57
+ rails-dom-testing (~> 2.2)
58
+ rails-html-sanitizer (~> 1.6)
59
+ activejob (7.1.3.2)
60
+ activesupport (= 7.1.3.2)
50
61
  globalid (>= 0.3.6)
51
- activemodel (6.1.4.4)
52
- activesupport (= 6.1.4.4)
53
- activerecord (6.1.4.4)
54
- activemodel (= 6.1.4.4)
55
- activesupport (= 6.1.4.4)
56
- activestorage (6.1.4.4)
57
- actionpack (= 6.1.4.4)
58
- activejob (= 6.1.4.4)
59
- activerecord (= 6.1.4.4)
60
- activesupport (= 6.1.4.4)
61
- marcel (~> 1.0.0)
62
- mini_mime (>= 1.1.0)
63
- activesupport (6.1.4.4)
62
+ activemodel (7.1.3.2)
63
+ activesupport (= 7.1.3.2)
64
+ activerecord (7.1.3.2)
65
+ activemodel (= 7.1.3.2)
66
+ activesupport (= 7.1.3.2)
67
+ timeout (>= 0.4.0)
68
+ activestorage (7.1.3.2)
69
+ actionpack (= 7.1.3.2)
70
+ activejob (= 7.1.3.2)
71
+ activerecord (= 7.1.3.2)
72
+ activesupport (= 7.1.3.2)
73
+ marcel (~> 1.0)
74
+ activesupport (7.1.3.2)
75
+ base64
76
+ bigdecimal
64
77
  concurrent-ruby (~> 1.0, >= 1.0.2)
78
+ connection_pool (>= 2.2.5)
79
+ drb
65
80
  i18n (>= 1.6, < 2)
66
81
  minitest (>= 5.1)
82
+ mutex_m
67
83
  tzinfo (~> 2.0)
68
- zeitwerk (~> 2.3)
69
84
  ast (2.4.2)
85
+ base64 (0.2.0)
86
+ bigdecimal (3.1.6)
70
87
  builder (3.2.4)
71
- bundler-audit (0.9.0.1)
88
+ bundler-audit (0.9.1)
72
89
  bundler (>= 1.2.0, < 3)
73
90
  thor (~> 1.0)
74
91
  byebug (11.1.3)
75
- climate_control (1.0.1)
76
- concurrent-ruby (1.1.9)
92
+ climate_control (1.2.0)
93
+ concurrent-ruby (1.2.3)
94
+ connection_pool (2.4.1)
77
95
  crass (1.0.6)
78
- diff-lcs (1.4.4)
96
+ date (3.3.4)
97
+ diff-lcs (1.5.1)
79
98
  docile (1.4.0)
80
- erubi (1.10.0)
81
- globalid (1.0.0)
82
- activesupport (>= 5.0)
83
- i18n (1.8.11)
99
+ drb (2.2.0)
100
+ ruby2_keywords
101
+ erubi (1.12.0)
102
+ globalid (1.2.1)
103
+ activesupport (>= 6.1)
104
+ i18n (1.14.1)
84
105
  concurrent-ruby (~> 1.0)
85
- loofah (2.13.0)
106
+ io-console (0.7.2)
107
+ irb (1.11.2)
108
+ rdoc
109
+ reline (>= 0.4.2)
110
+ json (2.7.1)
111
+ language_server-protocol (3.17.0.3)
112
+ lint_roller (1.1.0)
113
+ loofah (2.22.0)
86
114
  crass (~> 1.0.2)
87
- nokogiri (>= 1.5.9)
88
- mail (2.7.1)
115
+ nokogiri (>= 1.12.0)
116
+ mail (2.8.1)
89
117
  mini_mime (>= 0.1.1)
118
+ net-imap
119
+ net-pop
120
+ net-smtp
90
121
  marcel (1.0.2)
91
- method_source (1.0.0)
92
- mini_mime (1.1.2)
93
- mini_portile2 (2.6.1)
94
- minitest (5.15.0)
95
- nio4r (2.5.8)
96
- nokogiri (1.12.5)
97
- mini_portile2 (~> 2.6.1)
122
+ mini_mime (1.1.5)
123
+ minitest (5.22.2)
124
+ mutex_m (0.2.0)
125
+ net-imap (0.4.10)
126
+ date
127
+ net-protocol
128
+ net-pop (0.1.2)
129
+ net-protocol
130
+ net-protocol (0.2.2)
131
+ timeout
132
+ net-smtp (0.4.0.1)
133
+ net-protocol
134
+ nio4r (2.7.0)
135
+ nokogiri (1.16.2-aarch64-linux)
136
+ racc (~> 1.4)
137
+ nokogiri (1.16.2-arm-linux)
138
+ racc (~> 1.4)
139
+ nokogiri (1.16.2-arm64-darwin)
140
+ racc (~> 1.4)
141
+ nokogiri (1.16.2-x86-linux)
98
142
  racc (~> 1.4)
99
- parallel (1.21.0)
100
- parser (3.0.3.2)
143
+ nokogiri (1.16.2-x86_64-darwin)
144
+ racc (~> 1.4)
145
+ nokogiri (1.16.2-x86_64-linux)
146
+ racc (~> 1.4)
147
+ parallel (1.24.0)
148
+ parser (3.3.0.5)
101
149
  ast (~> 2.4.1)
102
- racc (1.6.0)
103
- rack (2.2.3)
104
- rack-test (1.1.0)
105
- rack (>= 1.0, < 3)
106
- rails (6.1.4.4)
107
- actioncable (= 6.1.4.4)
108
- actionmailbox (= 6.1.4.4)
109
- actionmailer (= 6.1.4.4)
110
- actionpack (= 6.1.4.4)
111
- actiontext (= 6.1.4.4)
112
- actionview (= 6.1.4.4)
113
- activejob (= 6.1.4.4)
114
- activemodel (= 6.1.4.4)
115
- activerecord (= 6.1.4.4)
116
- activestorage (= 6.1.4.4)
117
- activesupport (= 6.1.4.4)
150
+ racc
151
+ psych (5.1.2)
152
+ stringio
153
+ racc (1.7.3)
154
+ rack (3.0.9.1)
155
+ rack-session (2.0.0)
156
+ rack (>= 3.0.0)
157
+ rack-test (2.1.0)
158
+ rack (>= 1.3)
159
+ rackup (2.1.0)
160
+ rack (>= 3)
161
+ webrick (~> 1.8)
162
+ rails (7.1.3.2)
163
+ actioncable (= 7.1.3.2)
164
+ actionmailbox (= 7.1.3.2)
165
+ actionmailer (= 7.1.3.2)
166
+ actionpack (= 7.1.3.2)
167
+ actiontext (= 7.1.3.2)
168
+ actionview (= 7.1.3.2)
169
+ activejob (= 7.1.3.2)
170
+ activemodel (= 7.1.3.2)
171
+ activerecord (= 7.1.3.2)
172
+ activestorage (= 7.1.3.2)
173
+ activesupport (= 7.1.3.2)
118
174
  bundler (>= 1.15.0)
119
- railties (= 6.1.4.4)
120
- sprockets-rails (>= 2.0.0)
121
- rails-dom-testing (2.0.3)
122
- activesupport (>= 4.2.0)
175
+ railties (= 7.1.3.2)
176
+ rails-dom-testing (2.2.0)
177
+ activesupport (>= 5.0.0)
178
+ minitest
123
179
  nokogiri (>= 1.6)
124
- rails-html-sanitizer (1.4.2)
125
- loofah (~> 2.3)
126
- railties (6.1.4.4)
127
- actionpack (= 6.1.4.4)
128
- activesupport (= 6.1.4.4)
129
- method_source
130
- rake (>= 0.13)
131
- thor (~> 1.0)
132
- rainbow (3.0.0)
180
+ rails-html-sanitizer (1.6.0)
181
+ loofah (~> 2.21)
182
+ nokogiri (~> 1.14)
183
+ railties (7.1.3.2)
184
+ actionpack (= 7.1.3.2)
185
+ activesupport (= 7.1.3.2)
186
+ irb
187
+ rackup (>= 1.0.0)
188
+ rake (>= 12.2)
189
+ thor (~> 1.0, >= 1.2.2)
190
+ zeitwerk (~> 2.6)
191
+ rainbow (3.1.1)
133
192
  rake (12.3.3)
134
- regexp_parser (2.2.0)
135
- rexml (3.2.5)
136
- rspec (3.10.0)
137
- rspec-core (~> 3.10.0)
138
- rspec-expectations (~> 3.10.0)
139
- rspec-mocks (~> 3.10.0)
140
- rspec-core (3.10.1)
141
- rspec-support (~> 3.10.0)
142
- rspec-expectations (3.10.1)
193
+ rdoc (6.6.2)
194
+ psych (>= 4.0.0)
195
+ regexp_parser (2.9.0)
196
+ reline (0.4.3)
197
+ io-console (~> 0.5)
198
+ rexml (3.2.6)
199
+ rspec (3.13.0)
200
+ rspec-core (~> 3.13.0)
201
+ rspec-expectations (~> 3.13.0)
202
+ rspec-mocks (~> 3.13.0)
203
+ rspec-core (3.13.0)
204
+ rspec-support (~> 3.13.0)
205
+ rspec-expectations (3.13.0)
143
206
  diff-lcs (>= 1.2.0, < 2.0)
144
- rspec-support (~> 3.10.0)
145
- rspec-mocks (3.10.2)
207
+ rspec-support (~> 3.13.0)
208
+ rspec-mocks (3.13.0)
146
209
  diff-lcs (>= 1.2.0, < 2.0)
147
- rspec-support (~> 3.10.0)
148
- rspec-support (3.10.3)
149
- rubocop (1.12.1)
210
+ rspec-support (~> 3.13.0)
211
+ rspec-support (3.13.1)
212
+ rubocop (1.60.2)
213
+ json (~> 2.3)
214
+ language_server-protocol (>= 3.17.0)
150
215
  parallel (~> 1.10)
151
- parser (>= 3.0.0.0)
216
+ parser (>= 3.3.0.2)
152
217
  rainbow (>= 2.2.2, < 4.0)
153
218
  regexp_parser (>= 1.8, < 3.0)
154
- rexml
155
- rubocop-ast (>= 1.2.0, < 2.0)
219
+ rexml (>= 3.2.5, < 4.0)
220
+ rubocop-ast (>= 1.30.0, < 2.0)
156
221
  ruby-progressbar (~> 1.7)
157
- unicode-display_width (>= 1.4.0, < 3.0)
158
- rubocop-ast (1.15.0)
159
- parser (>= 3.0.1.1)
160
- rubocop-rake (0.6.0)
161
- rubocop (~> 1.0)
162
- rubocop-rspec (2.4.0)
163
- rubocop (~> 1.0)
164
- rubocop-ast (>= 1.1.0)
165
- ruby-progressbar (1.11.0)
166
- simplecov (0.21.2)
222
+ unicode-display_width (>= 2.4.0, < 3.0)
223
+ rubocop-ast (1.30.0)
224
+ parser (>= 3.2.1.0)
225
+ rubocop-performance (1.20.2)
226
+ rubocop (>= 1.48.1, < 2.0)
227
+ rubocop-ast (>= 1.30.0, < 2.0)
228
+ ruby-progressbar (1.13.0)
229
+ ruby2_keywords (0.0.5)
230
+ simplecov (0.22.0)
167
231
  docile (~> 1.1)
168
232
  simplecov-html (~> 0.11)
169
233
  simplecov_json_formatter (~> 0.1)
170
234
  simplecov-html (0.12.3)
171
- simplecov_json_formatter (0.1.3)
172
- sprockets (4.0.2)
173
- concurrent-ruby (~> 1.0)
174
- rack (> 1, < 3)
175
- sprockets-rails (3.4.2)
176
- actionpack (>= 5.2)
177
- activesupport (>= 5.2)
178
- sprockets (>= 3.0.0)
179
- tempfile (0.1.2)
180
- thor (1.1.0)
181
- tzinfo (2.0.4)
235
+ simplecov_json_formatter (0.1.4)
236
+ standard (1.34.0)
237
+ language_server-protocol (~> 3.17.0.2)
238
+ lint_roller (~> 1.0)
239
+ rubocop (~> 1.60)
240
+ standard-custom (~> 1.0.0)
241
+ standard-performance (~> 1.3)
242
+ standard-custom (1.0.2)
243
+ lint_roller (~> 1.0)
244
+ rubocop (~> 1.50)
245
+ standard-performance (1.3.1)
246
+ lint_roller (~> 1.1)
247
+ rubocop-performance (~> 1.20.2)
248
+ standardrb (1.0.1)
249
+ standard
250
+ stringio (3.1.0)
251
+ tempfile (0.2.1)
252
+ thor (1.3.1)
253
+ timeout (0.4.1)
254
+ tzinfo (2.0.6)
182
255
  concurrent-ruby (~> 1.0)
183
- unicode-display_width (2.1.0)
184
- vcr (6.0.0)
185
- websocket-driver (0.7.5)
256
+ unicode-display_width (2.5.0)
257
+ vcr (6.2.0)
258
+ webrick (1.8.1)
259
+ websocket-driver (0.7.6)
186
260
  websocket-extensions (>= 0.1.0)
187
261
  websocket-extensions (0.1.5)
188
- zeitwerk (2.5.1)
262
+ zeitwerk (2.6.13)
189
263
 
190
264
  PLATFORMS
191
- ruby
265
+ aarch64-linux
266
+ arm-linux
267
+ arm64-darwin
268
+ x86-linux
269
+ x86_64-darwin
270
+ x86_64-linux
192
271
 
193
272
  DEPENDENCIES
194
273
  bundler-audit
@@ -198,12 +277,10 @@ DEPENDENCIES
198
277
  rails
199
278
  rake (~> 12.0)
200
279
  rspec (~> 3.0)
201
- rubocop (~> 1.12.0)
202
- rubocop-rake
203
- rubocop-rspec
204
280
  simplecov
281
+ standardrb
205
282
  tempfile
206
283
  vcr
207
284
 
208
285
  BUNDLED WITH
209
- 2.1.4
286
+ 2.5.6
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
data/bin/standardrb ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'standardrb' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("standard", "standardrb")
data/lib/nvar/engine.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails'
4
- require_relative './environment_variable'
3
+ require "rails"
4
+ require_relative "environment_variable"
5
5
 
6
6
  module Nvar
7
7
  class Engine < Rails::Engine # :nodoc:
@@ -21,7 +21,7 @@ module Nvar
21
21
  end
22
22
 
23
23
  rake_tasks do
24
- load 'nvar/rails/tasks/verify_environment_file.rake'
24
+ load "nvar/rails/tasks/verify_environment_file.rake"
25
25
  end
26
26
  end
27
27
  end
@@ -2,16 +2,16 @@
2
2
 
3
3
  # Wrapper for retrieval of environment variables. See
4
4
  # config/initializers/environment_variable_loader.rb to check out how it's used.
5
- require 'active_support/core_ext/hash/keys'
6
- require 'active_support/core_ext/object/blank'
7
- require 'yaml'
5
+ require "active_support/core_ext/hash/keys"
6
+ require "active_support/core_ext/object/blank"
7
+ require "yaml"
8
8
 
9
9
  module Nvar
10
10
  # Wrapper for loading environment variables, used across relevant Rake tasks
11
11
  class EnvironmentVariable
12
12
  attr_reader :name, :type, :value, :required, :defined
13
13
 
14
- def initialize(name:, type: 'String', filter_from_requests: nil, **args)
14
+ def initialize(name:, type: "String", filter_from_requests: nil, **args)
15
15
  @name = name
16
16
  @type = type
17
17
  @required = args[:required].nil? ? true : args[:required]
@@ -40,7 +40,7 @@ module Nvar
40
40
  def add_to_env_file
41
41
  return if present_in_env_file?
42
42
 
43
- File.write(Nvar.env_file_path, to_env_assign, mode: 'a')
43
+ File.write(Nvar.env_file_path, to_env_assign, mode: "a")
44
44
  end
45
45
 
46
46
  def filter_from_vcr_cassettes(config)
@@ -50,7 +50,7 @@ module Nvar
50
50
  # :nocov:
51
51
  case @filter_from_requests
52
52
  when :alone_as_basic_auth_password
53
- Base64.encode64(['', @value].join(':')).delete("\n")
53
+ Base64.encode64(["", @value].join(":")).delete("\n")
54
54
  when true
55
55
  @value
56
56
  end
@@ -76,7 +76,7 @@ module Nvar
76
76
  end
77
77
 
78
78
  def fetch_value(passthrough: false, default_value: nil)
79
- return (default_value || name) if ENV['RAILS_ENV'] == 'test' && !passthrough
79
+ return default_value || name if ENV["RAILS_ENV"] == "test" && !passthrough
80
80
 
81
81
  required ? ENV.fetch(name.to_s) : ENV[name.to_s]
82
82
  end
data/lib/nvar/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nvar
4
- VERSION = '0.1.2'
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/nvar.rb CHANGED
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'nvar/version'
4
- require 'nvar/environment_variable'
5
- require 'nvar/engine' if defined?(Rails)
6
- require 'active_support/core_ext/module/attribute_accessors'
3
+ require "nvar/version"
4
+ require "nvar/environment_variable"
5
+ require "nvar/engine" if defined?(Rails)
6
+ require "active_support/core_ext/module/attribute_accessors"
7
7
 
8
8
  # Centralized configuration for required environment variables in your Ruby app.
9
9
  module Nvar
10
- mattr_accessor :config_file_path, default: File.expand_path('config/environment_variables.yml')
11
- mattr_accessor :env_file_path, default: File.expand_path('.env')
10
+ mattr_accessor :config_file_path, default: File.expand_path("config/environment_variables.yml")
11
+ mattr_accessor :env_file_path, default: File.expand_path(".env")
12
12
 
13
13
  # Comments in .env files must have a leading '#' symbol. This cannot be
14
14
  # followed by a space.
15
- ENV_COMMENT = <<~'COMMENT'
15
+ ENV_COMMENT = <<~COMMENT
16
16
  #Environment variables are managed through this file (.env). The Scripts to
17
17
  #Rule Them All (in script/) load the environment from here, and the app warns
18
18
  #on startup if any required environment variables are missing. You can see the
@@ -33,16 +33,16 @@ module Nvar
33
33
  end
34
34
 
35
35
  def message
36
- "The following variables are unset or blank: #{vars.map(&:name).join(', ')}"
36
+ "The following variables are unset or blank: #{vars.map(&:name).join(", ")}"
37
37
  end
38
38
  end
39
39
 
40
40
  class << self
41
41
  def configure_for_rails(app)
42
- self.config_file_path = app.root.join('config/environment_variables.yml')
43
- self.env_file_path = app.root.join('.env')
42
+ self.config_file_path = app.root.join("config/environment_variables.yml")
43
+ self.env_file_path = app.root.join(".env")
44
44
  [config_file_path, env_file_path].each do |path|
45
- File.open(path, 'w') {} unless path.exist? # rubocop:disable Lint/EmptyBlock
45
+ File.open(path, "w") {} unless path.exist? # rubocop:disable Lint/EmptyBlock
46
46
  end
47
47
  end
48
48
 
@@ -62,19 +62,20 @@ module Nvar
62
62
 
63
63
  def all
64
64
  variables.map do |variable_name, config|
65
+ # TODO: Passthrough from environment behaviour might need to go here?
65
66
  EnvironmentVariable.new(**(config || {}).merge(name: variable_name))
66
67
  end.partition(&:set?)
67
68
  end
68
69
 
69
70
  def touch_env
70
- File.write(env_file_path, ENV_COMMENT, mode: 'w') unless File.exist?(env_file_path)
71
+ File.write(env_file_path, ENV_COMMENT, mode: "w") unless File.exist?(env_file_path)
71
72
  end
72
73
 
73
74
  def verify_env(write_to_file: true)
74
75
  _set, unset = all
75
76
  return true if all_required_env_variables_set?
76
77
 
77
- puts 'Please update .env with values for each environment variable:'
78
+ puts "Please update .env with values for each environment variable:"
78
79
  touch_env if write_to_file
79
80
  unset.each do |variable|
80
81
  variable.add_to_env_file if write_to_file
@@ -88,11 +89,11 @@ module Nvar
88
89
  private
89
90
 
90
91
  def all_required_env_variables_set?
91
- all[1].none? || ENV['RAILS_ENV'] == 'test'
92
+ all[1].none? || ENV["RAILS_ENV"] == "test"
92
93
  end
93
94
 
94
95
  def variables
95
- (YAML.safe_load(File.read(config_file_path)) || {}).deep_symbolize_keys
96
+ (YAML.safe_load_file(config_file_path) || {}).deep_symbolize_keys
96
97
  end
97
98
  end
98
99
  end
data/nvar.gemspec CHANGED
@@ -1,45 +1,43 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/nvar/version'
3
+ require_relative "lib/nvar/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'nvar'
7
- spec.version = Nvar::VERSION
8
- spec.authors = ['Simon Fish']
9
- spec.email = ['si@mon.fish']
6
+ spec.name = "nvar"
7
+ spec.version = Nvar::VERSION
8
+ spec.authors = ["Simon Fish"]
9
+ spec.email = ["si@mon.fish"]
10
10
 
11
- spec.summary = 'Manage environment variables in Ruby'
12
- spec.description = 'Manage environment variables in Ruby'
13
- spec.homepage = 'https://github.com/boardfish/nvar'
14
- spec.license = 'MIT'
15
- spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0')
11
+ spec.summary = "Manage environment variables in Ruby"
12
+ spec.description = "Manage environment variables in Ruby"
13
+ spec.homepage = "https://github.com/boardfish/nvar"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 3")
16
16
 
17
- spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
17
+ spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
18
18
 
19
- spec.metadata['homepage_uri'] = spec.homepage
20
- spec.metadata['source_code_uri'] = spec.homepage
21
- spec.metadata['changelog_uri'] = spec.homepage
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = spec.homepage
21
+ spec.metadata["changelog_uri"] = spec.homepage
22
22
 
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
25
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
26
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
27
27
  end
28
- spec.bindir = 'exe'
29
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
- spec.require_paths = ['lib']
31
- spec.add_runtime_dependency 'activesupport', ['>= 5.0.0', '< 8.0']
32
- spec.add_development_dependency 'bundler-audit'
33
- spec.add_development_dependency 'byebug'
34
- spec.add_development_dependency 'climate_control'
35
- spec.add_development_dependency 'rails'
36
- spec.add_development_dependency 'rubocop', '~> 1.12.0'
37
- spec.add_development_dependency 'rubocop-rake'
38
- spec.add_development_dependency 'rubocop-rspec'
39
- spec.add_development_dependency 'simplecov'
40
- spec.add_development_dependency 'tempfile'
41
- spec.add_development_dependency 'vcr'
28
+ spec.bindir = "exe"
29
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ["lib"]
31
+ spec.add_runtime_dependency "activesupport", [">= 5.0.0", "< 8.0"]
32
+ spec.add_development_dependency "bundler-audit"
33
+ spec.add_development_dependency "byebug"
34
+ spec.add_development_dependency "climate_control"
35
+ spec.add_development_dependency "rails"
36
+ spec.add_development_dependency "simplecov"
37
+ spec.add_development_dependency "standardrb"
38
+ spec.add_development_dependency "tempfile"
39
+ spec.add_development_dependency "vcr"
42
40
  spec.metadata = {
43
- 'rubygems_mfa_required' => 'true'
41
+ "rubygems_mfa_required" => "true"
44
42
  }
45
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nvar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Fish
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-06 00:00:00.000000000 Z
11
+ date: 2024-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -87,35 +87,7 @@ dependencies:
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  - !ruby/object:Gem::Dependency
90
- name: rubocop
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 1.12.0
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: 1.12.0
103
- - !ruby/object:Gem::Dependency
104
- name: rubocop-rake
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: rubocop-rspec
90
+ name: simplecov
119
91
  requirement: !ruby/object:Gem::Requirement
120
92
  requirements:
121
93
  - - ">="
@@ -129,7 +101,7 @@ dependencies:
129
101
  - !ruby/object:Gem::Version
130
102
  version: '0'
131
103
  - !ruby/object:Gem::Dependency
132
- name: simplecov
104
+ name: standardrb
133
105
  requirement: !ruby/object:Gem::Requirement
134
106
  requirements:
135
107
  - - ">="
@@ -203,6 +175,7 @@ files:
203
175
  - bin/rspec
204
176
  - bin/rubocop
205
177
  - bin/setup
178
+ - bin/standardrb
206
179
  - lib/nvar.rb
207
180
  - lib/nvar/engine.rb
208
181
  - lib/nvar/environment_variable.rb
@@ -215,7 +188,7 @@ licenses:
215
188
  - MIT
216
189
  metadata:
217
190
  rubygems_mfa_required: 'true'
218
- post_install_message:
191
+ post_install_message:
219
192
  rdoc_options: []
220
193
  require_paths:
221
194
  - lib
@@ -223,15 +196,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
223
196
  requirements:
224
197
  - - ">="
225
198
  - !ruby/object:Gem::Version
226
- version: 2.7.0
199
+ version: '3'
227
200
  required_rubygems_version: !ruby/object:Gem::Requirement
228
201
  requirements:
229
202
  - - ">="
230
203
  - !ruby/object:Gem::Version
231
204
  version: '0'
232
205
  requirements: []
233
- rubygems_version: 3.1.6
234
- signing_key:
206
+ rubygems_version: 3.5.5
207
+ signing_key:
235
208
  specification_version: 4
236
209
  summary: Manage environment variables in Ruby
237
210
  test_files: []