env-conf 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -4
- data/lib/env-conf.rb +12 -0
- data/lib/env-conf/version.rb +1 -1
- data/test/config_test.rb +28 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c00969bbe2528704fd3247dcf352c9daf44acd0
|
4
|
+
data.tar.gz: 588806c188226ce34693aaf2bf629687b023cdf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10c18faff50a64c766d84c56f9bdfe37d757b20c42106606683edd775efbf9381a164aaacfea7490ea64e638920780f3f2f5e6d8529987df626f3776d6147287
|
7
|
+
data.tar.gz: ce4c1e12d0b7b4134ff83df500c386417e2ec55ed099386cc3630f3c707d2917c35ee254bfa9a86ba4eaac75fea81123e5ca2a9bd6af40aa22c66ed43fd46eea
|
data/README.md
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# env-conf
|
2
|
-
## a better `Config`
|
3
2
|
|
4
3
|
Provides a better way to configure the application than simply pulling
|
5
|
-
strings from `ENV
|
4
|
+
strings from `ENV` by overriding the deprecated `Config` class.
|
6
5
|
|
7
|
-
|
6
|
+
## Features
|
7
|
+
|
8
|
+
### defaults
|
8
9
|
|
9
10
|
```ruby
|
10
11
|
Config[:foo]
|
@@ -17,14 +18,18 @@ Config['FOO']
|
|
17
18
|
# => 'bar'
|
18
19
|
```
|
19
20
|
|
20
|
-
|
21
|
+
### type casts
|
21
22
|
|
22
23
|
Returns `nil` when undefined, otherwise casts to indicated type.
|
23
24
|
|
25
|
+
#### int
|
24
26
|
```ruby
|
25
27
|
Config.int(:max_connections)
|
28
|
+
#=> 10
|
26
29
|
```
|
27
30
|
|
31
|
+
|
32
|
+
|
28
33
|
## Installation
|
29
34
|
|
30
35
|
Add this line to your application's Gemfile:
|
data/lib/env-conf.rb
CHANGED
@@ -87,6 +87,11 @@ module Config
|
|
87
87
|
self['RACK_ENV'] == 'test'
|
88
88
|
end
|
89
89
|
|
90
|
+
# @return [Bool] True if the service is in development mode.
|
91
|
+
def self.development?
|
92
|
+
self['RACK_ENV'] == 'development'
|
93
|
+
end
|
94
|
+
|
90
95
|
# The `APP_NAME` env var is used to identify which codebase is
|
91
96
|
# running in librato. This usually matches the name of the repository.
|
92
97
|
#
|
@@ -104,6 +109,13 @@ module Config
|
|
104
109
|
env("APP_DEPLOY")
|
105
110
|
end
|
106
111
|
|
112
|
+
# The `RACK_ENV` env var is used to identify the app mode
|
113
|
+
#
|
114
|
+
# @return [Symbol] The environment of the app
|
115
|
+
def self.app_env
|
116
|
+
env!("RACK_ENV").to_sym
|
117
|
+
end
|
118
|
+
|
107
119
|
# The port to listen on for web requests.
|
108
120
|
#
|
109
121
|
# @return [Fixnum] The port to listen on for web requests.
|
data/lib/env-conf/version.rb
CHANGED
data/test/config_test.rb
CHANGED
@@ -9,20 +9,19 @@ require 'env-conf'
|
|
9
9
|
module EnvironmentHelpers
|
10
10
|
# Override an environment variable in the current test.
|
11
11
|
def set_env(key, value)
|
12
|
-
overrides[key] = ENV[key] unless overrides.has_key?(key)
|
12
|
+
@overrides[key] = ENV[key] unless @overrides.has_key?(key)
|
13
13
|
ENV[key] = value
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
def teardown
|
18
|
-
overrides.each { |key, value| ENV[key] = value }
|
16
|
+
def setup
|
19
17
|
super
|
18
|
+
@overrides = {}
|
20
19
|
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
# Restore the environment back to its state before tests ran.
|
22
|
+
def teardown
|
23
|
+
@overrides.each { |key, value| ENV[key] = value }
|
24
|
+
super
|
26
25
|
end
|
27
26
|
end
|
28
27
|
|
@@ -83,6 +82,14 @@ class ConfigTest < Minitest::Test
|
|
83
82
|
assert Config.production?
|
84
83
|
end
|
85
84
|
|
85
|
+
# Config.development? is true when RACK_ENV=production.
|
86
|
+
def test_development_mode
|
87
|
+
set_env 'RACK_ENV', nil
|
88
|
+
refute Config.development?
|
89
|
+
set_env 'RACK_ENV', 'development'
|
90
|
+
assert Config.development?
|
91
|
+
end
|
92
|
+
|
86
93
|
# Config.test? is true when RACK_ENV=test.
|
87
94
|
def test_test_mode
|
88
95
|
set_env 'RACK_ENV', nil
|
@@ -213,4 +220,17 @@ class ConfigTest < Minitest::Test
|
|
213
220
|
Config.default(:foo, false)
|
214
221
|
assert_equal(false, Config.bool?(:foo))
|
215
222
|
end
|
223
|
+
|
224
|
+
def test_app_env
|
225
|
+
set_env 'RACK_ENV', nil
|
226
|
+
assert_raises RuntimeError do
|
227
|
+
Config.app_env
|
228
|
+
end
|
229
|
+
set_env 'RACK_ENV', 'test'
|
230
|
+
assert_equal(:test, Config.app_env)
|
231
|
+
set_env 'RACK_ENV', 'development'
|
232
|
+
assert_equal(:development, Config.app_env)
|
233
|
+
set_env 'RACK_ENV', 'production'
|
234
|
+
assert_equal(:production, Config.app_env)
|
235
|
+
end
|
216
236
|
end
|