runger_config 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -36
  3. data/README.md +83 -83
  4. data/lib/generators/{anyway → runger}/app_config/app_config_generator.rb +2 -2
  5. data/lib/generators/{anyway → runger}/config/config_generator.rb +3 -8
  6. data/lib/generators/{anyway → runger}/config/templates/config.rb.tt +0 -3
  7. data/lib/generators/{anyway → runger}/install/install_generator.rb +4 -4
  8. data/lib/generators/{anyway → runger}/install/templates/application_config.rb.tt +1 -1
  9. data/lib/{anyway → runger}/auto_cast.rb +1 -1
  10. data/lib/{anyway → runger}/config.rb +22 -22
  11. data/lib/{anyway → runger}/dynamic_config.rb +2 -2
  12. data/lib/{anyway → runger}/ejson_parser.rb +3 -3
  13. data/lib/{anyway → runger}/env.rb +3 -3
  14. data/lib/{anyway → runger}/ext/deep_dup.rb +1 -1
  15. data/lib/{anyway → runger}/ext/deep_freeze.rb +1 -1
  16. data/lib/{anyway → runger}/ext/flatten_names.rb +1 -1
  17. data/lib/{anyway → runger}/ext/hash.rb +1 -1
  18. data/lib/{anyway → runger}/ext/string_constantize.rb +1 -1
  19. data/lib/{anyway → runger}/loaders/base.rb +2 -2
  20. data/lib/{anyway → runger}/loaders/doppler.rb +2 -2
  21. data/lib/{anyway → runger}/loaders/ejson.rb +3 -3
  22. data/lib/{anyway → runger}/loaders/env.rb +2 -2
  23. data/lib/{anyway → runger}/loaders/yaml.rb +3 -3
  24. data/lib/{anyway → runger}/loaders.rb +6 -6
  25. data/lib/{anyway → runger}/option_parser_builder.rb +1 -1
  26. data/lib/{anyway → runger}/optparse_config.rb +6 -6
  27. data/lib/{anyway → runger}/rails/autoload.rb +5 -5
  28. data/lib/{anyway → runger}/rails/config.rb +3 -3
  29. data/lib/{anyway → runger}/rails/loaders/credentials.rb +2 -2
  30. data/lib/{anyway → runger}/rails/loaders/secrets.rb +3 -3
  31. data/lib/{anyway → runger}/rails/loaders/yaml.rb +2 -2
  32. data/lib/runger/rails/loaders.rb +5 -0
  33. data/lib/{anyway → runger}/rails/settings.rb +2 -2
  34. data/lib/runger/rails.rb +24 -0
  35. data/lib/{anyway → runger}/railtie.rb +7 -7
  36. data/lib/{anyway → runger}/rbs.rb +1 -1
  37. data/lib/{anyway → runger}/settings.rb +4 -4
  38. data/lib/{anyway → runger}/testing/helpers.rb +4 -4
  39. data/lib/{anyway → runger}/testing.rb +2 -2
  40. data/lib/{anyway → runger}/tracing.rb +4 -4
  41. data/lib/{anyway → runger}/type_casting.rb +4 -4
  42. data/lib/{anyway → runger}/utils/deep_merge.rb +2 -2
  43. data/lib/{anyway → runger}/utils/which.rb +1 -1
  44. data/lib/runger/version.rb +5 -0
  45. data/lib/{anyway.rb → runger.rb} +1 -1
  46. data/lib/runger_config.rb +49 -0
  47. data/sig/{anyway_config.rbs → runger_config.rbs} +1 -1
  48. metadata +51 -51
  49. data/lib/anyway/rails/loaders.rb +0 -5
  50. data/lib/anyway/rails.rb +0 -24
  51. data/lib/anyway/version.rb +0 -5
  52. data/lib/anyway_config.rb +0 -49
  53. /data/lib/generators/{anyway → runger}/app_config/USAGE +0 -0
  54. /data/lib/generators/{anyway → runger}/config/USAGE +0 -0
  55. /data/lib/generators/{anyway → runger}/config/templates/config.yml.tt +0 -0
  56. /data/lib/generators/{anyway → runger}/install/USAGE +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 769d4ae4e5cf48c70701615843b3e742d33512032bba7d3afa8ae11da226167d
4
- data.tar.gz: 907144a5f9e471c6b7acc9160c9190b7c233df2db0506e11b62c992078ba9db9
3
+ metadata.gz: 1b64cf53f84cf85e579523fa523e04afdd2c32dd75b219cf5a700df552368ded
4
+ data.tar.gz: 59459b83f4aff3789c5289a1ed5c33b686dd5012a73eff0ae4627e5eb2e3a3a2
5
5
  SHA512:
6
- metadata.gz: 2ae86779e72a7e88f0a1d74818204831569b6aed3f1a66962cd696c6681ecfd3a419304431da61fe843f68975bac8bd65db08969f123476d2825b2c8e4b57026
7
- data.tar.gz: e4ef30331ed5ea04a1503df074d27fadef00c94f1dff99540e5588d11f3152d49c09724acc8ad1b7042f7b608ba894ca3869e48a0090ea1251ee2176395bca9d
6
+ metadata.gz: f7b719cb241b1e1d5c4d7d12d1563179e38e68f7aa777142c4ae8d497d13542f1a07c3b17f9ac7c6c9b9117a5b2bb20cbaab5a8b46a07bbab239cda1f3b5703e
7
+ data.tar.gz: 6f2156c5baecc455d4747a70351844c5161e9bb266743ed372dcde9634b6a6054524c354f85629863094e56b9311aa1e706b914ac405412008bb2980ac645bc8
data/CHANGELOG.md CHANGED
@@ -1,4 +1,13 @@
1
- # Changelog
1
+ ## v4.0.0 (2023-11-19)
2
+
3
+ - [BREAKING] Rename from Anyway Config to Runger Config
4
+ - You will now need to `require 'runger_config'`, rather than `require 'anyway_config'`
5
+
6
+ ## v3.0.1 (2023-11-19)
7
+
8
+ - Fix specs broken by 3.0 release
9
+
10
+ - Suppress linting errors in docs
2
11
 
3
12
  ## v3.0.0 (2023-11-19)
4
13
 
@@ -34,19 +43,19 @@
34
43
 
35
44
  - Fix Rails detection. ([@palkan][])
36
45
 
37
- Fixes [#134](https://github.com/palkan/anyway_config/issues/134).
46
+ Fixes [#134](https://github.com/palkan/runger_config/issues/134).
38
47
 
39
48
  ## 2.5.0 (2023-07-24)
40
49
 
41
50
  - Generators: Add `config_name` to generated classes if name contains underscore. ([@palkan][])
42
51
 
43
- - Load Rails extensions even if Rails was loaded after Anyway Config. ([@palkan][])
52
+ - Load Rails extensions even if Rails was loaded after Runger Config. ([@palkan][])
44
53
 
45
54
  - Fix handling `config.credentials.content_path` provided as String. ([@palkan][])
46
55
 
47
56
  ## 2.4.2 (2023-06-07)
48
57
 
49
- - Use ANYWAY_ENV as the current environment if defined. ([@palkan][])
58
+ - Use RUNGER_ENV as the current environment if defined. ([@palkan][])
50
59
 
51
60
  It can be used to specify environment for configs independently of Rails environment.
52
61
 
@@ -63,11 +72,11 @@ It can be used to specify environment for configs independently of Rails environ
63
72
  - Added experimental support for sub-configs via coercion. ([@palkan][])
64
73
 
65
74
  ```ruby
66
- class AnotherConfig < Anyway::Config
75
+ class AnotherConfig < Runger::Config
67
76
  attr_config foo: "bar"
68
77
  end
69
78
 
70
- class MyConfig < Anyway::Config
79
+ class MyConfig < Runger::Config
71
80
  attr_config :another_config
72
81
 
73
82
  coerce_types another_config: "AnotherConfig"
@@ -86,7 +95,7 @@ MyConfig.new.another_config.foo #=> "baz"
86
95
  The API is inspired by Rails permitted params:
87
96
 
88
97
  ```ruby
89
- class AppConfig < Anyway::Config
98
+ class AppConfig < Runger::Config
90
99
  attr_config :assets_host, database: {host: nil, port: nil}
91
100
 
92
101
  required :assets_host, database: [:host, :port]
@@ -95,7 +104,7 @@ end
95
104
 
96
105
  - Add support for using `env_prefix ""` to load from unprefixed env vars. ([@palkan][])
97
106
 
98
- See [#118](https://github.com/palkan/anyway_config/issues/118).
107
+ See [#118](https://github.com/palkan/runger_config/issues/118).
99
108
 
100
109
  - Added EJSON support. ([@inner-whisper])
101
110
 
@@ -103,7 +112,7 @@ See [#118](https://github.com/palkan/anyway_config/issues/118).
103
112
 
104
113
  ## 2.3.1 (2023-01-17)
105
114
 
106
- - [Fixes [#110](https://github.com/palkan/anyway_config/issues/110)] Fix setting up autoloader for the same folder. ([@palkan][])
115
+ - [Fixes [#110](https://github.com/palkan/runger_config/issues/110)] Fix setting up autoloader for the same folder. ([@palkan][])
107
116
 
108
117
  - RBS: Now `.on_load` automatically pass block context type (instance), so no need to add annotations! ([@palkan][])
109
118
 
@@ -115,10 +124,10 @@ Steep 1.2+ is required. Read more about the [feature](https://hackmd.io/xLrYaqUt
115
124
 
116
125
  - Add ability to load configurations under specific environments in pure Ruby apps. ([@fargelus][]).
117
126
 
118
- Before loading environment configurations you need to specify variable `Anyway::Settings.current_environment`. In Rails apps this variable is same as `Rails.env` value.
127
+ Before loading environment configurations you need to specify variable `Runger::Settings.current_environment`. In Rails apps this variable is same as `Rails.env` value.
119
128
  After adding yaml loader will try to load params under this environment.
120
129
 
121
- Also required env option was added to `Anyway::Config`.
130
+ Also required env option was added to `Runger::Config`.
122
131
 
123
132
  ## 2.2.3 (2022-01-21)
124
133
 
@@ -126,8 +135,8 @@ Also required env option was added to `Anyway::Config`.
126
135
 
127
136
  - Add ability to set default key for environmental YAML files. ([@skryukov])
128
137
 
129
- Define a key for environmental yaml files to read default values from with `config.anyway_config.default_environmental_key = "default"`.
130
- This way Anyway Config will try to read settings under the `"default"` key and then merge environmental settings into them.
138
+ Define a key for environmental yaml files to read default values from with `config.runger_config.default_environmental_key = "default"`.
139
+ This way Runger Config will try to read settings under the `"default"` key and then merge environmental settings into them.
131
140
 
132
141
  ## 2.2.2 (2020-10-26)
133
142
 
@@ -141,7 +150,7 @@ This way Anyway Config will try to read settings under the `"default"` key and t
141
150
 
142
151
  - Add RBS signatures and generator. ([@palkan][])
143
152
 
144
- Anyway Config now ships with the basic RBS support. To use config types with Steep, add `library "anyway_config"` to your Steepfile.
153
+ Runger Config now ships with the basic RBS support. To use config types with Steep, add `library "runger_config"` to your Steepfile.
145
154
 
146
155
  We also provide an API to generate a signature for you config class: `MyConfig.to_rbs`. You can use this method to generate a scaffold for your config class.
147
156
 
@@ -150,7 +159,7 @@ We also provide an API to generate a signature for you config class: `MyConfig.t
150
159
  Example:
151
160
 
152
161
  ```ruby
153
- class CoolConfig < Anyway::Config
162
+ class CoolConfig < Runger::Config
154
163
  attr_config :port, :user
155
164
 
156
165
  coerce_types port: :string, user: {dob: :date}
@@ -177,28 +186,28 @@ You can also add `.disable_auto_cast!` to your config class to disable automatic
177
186
 
178
187
  Config setters no longer write instance variables.
179
188
 
180
- - Add `config.anyway_config.future` to allow enabling upcoming features. ([@palkan][])
189
+ - Add `config.runger_config.future` to allow enabling upcoming features. ([@palkan][])
181
190
 
182
191
  For smoother upgrades, we provide a mechanism to opt-out to the new defaults beforehand.
183
192
  Currently, only `:unwrap_known_environments` feature could be enabled (see below):
184
193
 
185
194
  ```ruby
186
- config.anyway_config.future.use :unwrap_known_environments
195
+ config.runger_config.future.use :unwrap_known_environments
187
196
  ```
188
197
 
189
198
  - Allow to skip environment keys completely (e.g., `development:`, `test:`) in a config YML when used with Rails. In that case same config is loaded in all known environments (same mechanism as for non-Rails applications)
190
199
 
191
- - Add the `known_environments` property to Anyway::Settings under Rails. Use `config.anyway_config.known_environments << "staging"` to make the gem aware of custom environments. ([@progapandist][])
200
+ - Add the `known_environments` property to Runger::Settings under Rails. Use `config.runger_config.known_environments << "staging"` to make the gem aware of custom environments. ([@progapandist][])
192
201
 
193
202
  - Make it possible to specify default YML configs directory. ([@palkan][])
194
203
 
195
204
  For example:
196
205
 
197
206
  ```ruby
198
- Anyway::Settings.default_config_path = "path/to/configs"
207
+ Runger::Settings.default_config_path = "path/to/configs"
199
208
 
200
209
  # or in Rails
201
- config.anyway_config.default_config_path = Rails.root.join("my/configs")
210
+ config.runger_config.default_config_path = Rails.root.join("my/configs")
202
211
  ```
203
212
 
204
213
  ## 2.0.6 (2020-07-7)
@@ -221,13 +230,13 @@ config.anyway_config.default_config_path = Rails.root.join("my/configs")
221
230
 
222
231
  - Make sure configs are eager loaded in Rails when `config.eager_load = true`. ([@palkan][])
223
232
 
224
- Fixes [#58](https://github.com/palkan/anyway_config/issues/58).
233
+ Fixes [#58](https://github.com/palkan/runger_config/issues/58).
225
234
 
226
235
  ## 2.0.1 (2020-04-15)
227
236
 
228
237
  - Fix loading Railtie when application has been already initialized. ([@palkan][])
229
238
 
230
- Fixes [#56](https://github.com/palkan/anyway_config/issues/56).
239
+ Fixes [#56](https://github.com/palkan/runger_config/issues/56).
231
240
 
232
241
  ## 2.0.0 (2020-04-14)
233
242
 
@@ -240,7 +249,7 @@ Fixes [#56](https://github.com/palkan/anyway_config/issues/56).
240
249
  For example:
241
250
 
242
251
  ```ruby
243
- class MyConfig < Anyway::Config
252
+ class MyConfig < Runger::Config
244
253
  attr_config :key, :secret, debug: false
245
254
  end
246
255
 
@@ -313,13 +322,13 @@ _dynamic_ (runtime) configs.
313
322
  you can set static configs path to `app/configs`:
314
323
 
315
324
  ```ruby
316
- config.anyway_config.autoload_static_config_path = "app/configs"
325
+ config.runger_config.autoload_static_config_path = "app/configs"
317
326
  ```
318
327
 
319
328
  You can do this by running the generator:
320
329
 
321
330
  ```sh
322
- rails g anyway:install --configs-path=app/configs
331
+ rails g runger:install --configs-path=app/configs
323
332
  ```
324
333
 
325
334
  - Add Rails generators. ([@palkan][])
@@ -377,20 +386,20 @@ You can specify some params as required, and the validation
377
386
  error would be raised if they're missing or empty (only for strings):
378
387
 
379
388
  ```ruby
380
- class MyConfig < Anyway::Config
389
+ class MyConfig < Runger::Config
381
390
  attr_config :api_key, :api_secret, :debug
382
391
 
383
392
  required :api_key, :api_secret
384
393
  end
385
394
 
386
- MyConfig.new(api_secret: "") #=> raises Anyway::Config::ValidationError
395
+ MyConfig.new(api_secret: "") #=> raises Runger::Config::ValidationError
387
396
  ```
388
397
 
389
398
  You can change the validation behaviour by overriding the `#validate!` method in your config class.
390
399
 
391
400
  - Validate config attribute names. ([@palkan][])
392
401
 
393
- Do not allow using reserved names (`Anyway::Config` method names).
402
+ Do not allow using reserved names (`Runger::Config` method names).
394
403
  Allow only alphanumeric names (matching `/^[a-z_]([\w]+)?$/`).
395
404
 
396
405
  - Add Loaders API. ([@palkan][])
@@ -416,7 +425,7 @@ Config.new(data)
416
425
 
417
426
  - Add Railtie. ([@palkan][])
418
427
 
419
- `Anyway::Railtie` provides `Anyway::Settings` access via `Rails.applicaiton.configuration.anyway_config`.
428
+ `Runger::Railtie` provides `Runger::Settings` access via `Rails.applicaiton.configuration.runger_config`.
420
429
 
421
430
  It also adds `app/configs` path to autoload paths (low-level, `ActiveSupport::Dependencies`) to
422
431
  make it possible to use configs in the app configuration files.
@@ -437,7 +446,7 @@ Now users can store their personal configurations in _local_ files:
437
446
  - `config/credentials/local.yml.enc` (for Rails 6).
438
447
 
439
448
  Local configs are meant for using in development and only loaded if
440
- `Anyway::Settings.use_local_files` is `true` (which is true by default if
449
+ `Runger::Settings.use_local_files` is `true` (which is true by default if
441
450
  `RACK_ENV` or `RAILS_ENV` env variable is equal to `"development"`).
442
451
 
443
452
  - Add Rails credentials support. ([@palkan][])
@@ -477,14 +486,14 @@ Now it's possible to extend config classes without breaking the original classes
477
486
 
478
487
  - Add OptionParse integration ([@jastkand][])
479
488
 
480
- See more [PR#18](https://github.com/palkan/anyway_config/pull/18).
489
+ See more [PR#18](https://github.com/palkan/runger_config/pull/18).
481
490
 
482
491
  - Use underscored config name as an env prefix. ([@palkan][])
483
492
 
484
493
  For a config class:
485
494
 
486
495
  ```ruby
487
- class MyApp < Anyway::Config
496
+ class MyApp < Runger::Config
488
497
  end
489
498
  ```
490
499
 
@@ -493,7 +502,7 @@ Before this change we use `MYAPP_` prefix, now it's `MY_APP_`.
493
502
  You can specify the prefix explicitly:
494
503
 
495
504
  ```ruby
496
- class MyApp < Anyway::Config
505
+ class MyApp < Runger::Config
497
506
  env_prefix "MYAPP_"
498
507
  end
499
508
  ```
@@ -502,7 +511,7 @@ end
502
511
 
503
512
  - Ruby 2.2 is no longer supported.
504
513
 
505
- - `Anyway::Config.env_prefix` method is introduced. ([@charlie-wasp][])
514
+ - `Runger::Config.env_prefix` method is introduced. ([@charlie-wasp][])
506
515
 
507
516
  ## 1.2.0 (2018-02-19)
508
517
 
@@ -523,7 +532,7 @@ Sniffer::Config.new(
523
532
  )
524
533
  ```
525
534
 
526
- See more [PR#10](https://github.com/palkan/anyway_config/pull/10).
535
+ See more [PR#10](https://github.com/palkan/runger_config/pull/10).
527
536
 
528
537
  ## 1.1.2 (2017-11-19)
529
538
 
@@ -537,7 +546,7 @@ See more [PR#10](https://github.com/palkan/anyway_config/pull/10).
537
546
 
538
547
  - Add `#to_h` method. ([@palkan][])
539
548
 
540
- See [#4](https://github.com/palkan/anyway_config/issues/4).
549
+ See [#4](https://github.com/palkan/runger_config/issues/4).
541
550
 
542
551
  - Make it possible to extend configuration parameters. ([@palkan][])
543
552