environment_helpers 1.1.0 → 1.2.1
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/README.md +4 -1
- data/lib/environment_helpers/file_helpers.rb +12 -0
- data/lib/environment_helpers/version.rb +1 -1
- data/lib/environment_helpers.rb +6 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71bfb123e7f90d29f9e038849bc995207b9c11b166aae7e0938cf162e7ed70f5
|
4
|
+
data.tar.gz: bb88e8d31c0c343a54f7be6a6919af08446a2a9fff973868b9ba22a9f1fc3f9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9adafc223d6c2edff2c4179bb86d172e2febe28d8761a2d55b9b76db02d6076ce981229cd8f758c905c4e4e524ad4b6b6e589ff55ced624fbc510ad8a183ed1
|
7
|
+
data.tar.gz: 7d6ae5d630de28a2d5db1776d06ed7d2a6117a905b66c12aa61b2b7fe5c4dd64dd8cd5e764c450fcf846b077ee23c7f74f6bd393d3cec8b161f6365a27cd498b
|
data/README.md
CHANGED
@@ -30,12 +30,13 @@ methods onto `ENV` for your use.
|
|
30
30
|
|
31
31
|
## Usage
|
32
32
|
|
33
|
-
```
|
33
|
+
```shell
|
34
34
|
ENV.string("APP_NAME", default: "local")
|
35
35
|
ENV.symbol("BUSINESS_DOMAIN", default: :engineering, required: true)
|
36
36
|
ENV.boolean("ENABLE_FEATURE_FOO", default: false)
|
37
37
|
ENV.integer_range("ID_RANGE", default: (500..6000))
|
38
38
|
ENV.integer("MAX_THREAD_COUNT", default: 5)
|
39
|
+
ENV.file_path("FILE_PATH", default: "/some/path", required: true)
|
39
40
|
ENV.date("SCHEDULED_DATE", required: true, format: "%Y-%m-%d")
|
40
41
|
```
|
41
42
|
|
@@ -46,6 +47,7 @@ isn't present in the environment. If `required` is set to a truthy value, then i
|
|
46
47
|
present in the environment, an `EnvironmentHelpers::MissingVariableError` is raised.
|
47
48
|
|
48
49
|
The available methods added to `ENV`:
|
50
|
+
|
49
51
|
* `string` - environment values are already strings, so this is the simplest of the methods.
|
50
52
|
* `symbol` - produces a symbol, and enforces that the default value is either `nil` or a Symbol.
|
51
53
|
* `boolean` - produces `nil`, `true`, or `false` (and only allows those as defaults). Supports..
|
@@ -57,6 +59,7 @@ The available methods added to `ENV`:
|
|
57
59
|
* `integer` - produces an integer from the environment variable, by calling `to_i` on it (if it's
|
58
60
|
present). Note that this means that providing a value like "hello" means you'll get `0`, since
|
59
61
|
that's what ruby does when you call `"hello".to_i`.
|
62
|
+
* `file_path` - produces a `Pathname` initialized with the path specified by the environment variable.
|
60
63
|
* `date` - produces a `Date` object, using `Date.strptime`. The default format string is `%Y-%m-%d`,
|
61
64
|
which would parse a date like `2023-12-25`. It will handle invalid values (or format strings) like
|
62
65
|
the variable not being present, though if it's specified as `required`, you will see a different
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "pathname"
|
2
|
+
|
3
|
+
module EnvironmentHelpers
|
4
|
+
module FileHelpers
|
5
|
+
def file_path(name, default: nil, required: false)
|
6
|
+
check_default_type(:file_path, default, String)
|
7
|
+
path = fetch_value(name, required: required) || default
|
8
|
+
return nil if path.nil?
|
9
|
+
Pathname.new(path)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/environment_helpers.rb
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
+
# 'set' doesn't need requiring after ruby 3.2, but it won't hurt anything.
|
2
|
+
# And we're compatible back to 2.6
|
3
|
+
require "set" # rubocop:disable Lint/RedundantRequireStatement
|
4
|
+
|
1
5
|
require_relative "./environment_helpers/access_helpers"
|
2
6
|
require_relative "./environment_helpers/string_helpers"
|
3
7
|
require_relative "./environment_helpers/boolean_helpers"
|
4
8
|
require_relative "./environment_helpers/range_helpers"
|
5
9
|
require_relative "./environment_helpers/numeric_helpers"
|
10
|
+
require_relative "./environment_helpers/file_helpers"
|
6
11
|
require_relative "./environment_helpers/datetime_helpers"
|
7
12
|
|
8
13
|
module EnvironmentHelpers
|
@@ -21,6 +26,7 @@ module EnvironmentHelpers
|
|
21
26
|
include BooleanHelpers
|
22
27
|
include RangeHelpers
|
23
28
|
include NumericHelpers
|
29
|
+
include FileHelpers
|
24
30
|
include DatetimeHelpers
|
25
31
|
end
|
26
32
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: environment_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Mueller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -102,6 +102,7 @@ files:
|
|
102
102
|
- lib/environment_helpers/access_helpers.rb
|
103
103
|
- lib/environment_helpers/boolean_helpers.rb
|
104
104
|
- lib/environment_helpers/datetime_helpers.rb
|
105
|
+
- lib/environment_helpers/file_helpers.rb
|
105
106
|
- lib/environment_helpers/numeric_helpers.rb
|
106
107
|
- lib/environment_helpers/range_helpers.rb
|
107
108
|
- lib/environment_helpers/string_helpers.rb
|
@@ -127,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
128
|
- !ruby/object:Gem::Version
|
128
129
|
version: '0'
|
129
130
|
requirements: []
|
130
|
-
rubygems_version: 3.
|
131
|
+
rubygems_version: 3.3.26
|
131
132
|
signing_key:
|
132
133
|
specification_version: 4
|
133
134
|
summary: A set of convenience methods for accessing environment data
|