dotenv-beefy 0.1.0 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0940177158b8cafdb9741367801dc0616fceea23
4
- data.tar.gz: 87f51d57a317c2900fc5e8b52ce65453c320619c
2
+ SHA256:
3
+ metadata.gz: 5a4c8b463884a8ad3e870e16e30f258433e1c74d798b23b17af69a2c7af3287a
4
+ data.tar.gz: 1575ec043960938399ef443a2219af3ac40794fb6ed90125cb2f3c2a1c1b967d
5
5
  SHA512:
6
- metadata.gz: bc13ed51c436dd7d2bf0982a1ab6586703437ed6ff88d554d8cade160e8e3b4b67123038a24f875fffc97e5be7efeb7602eb421a96a34d2abfc303e665a39a9f
7
- data.tar.gz: a2b043963a5c8c93147fb2ad7b12d25a7cc3923a7dc087f6d4797f114ed37e2136bc002bd5c552808345121c3a2c87562b6cad6d25c39479a34d0070ed8fcffb
6
+ metadata.gz: b217caf86240a9e053a80483255ff11a74ec54661145a4b055cc6f6d0f6d0519b3e502dc7acdd0d030ee27d3d44c450d5057381b808175801c017087c827d3dc
7
+ data.tar.gz: 67a3b50aba25540c6bf850a6c9b3de0ca41861e2cc33ece153eb7f34f2ff23703b4a91842d576409738230cdd7cae1843beab835b3c3f20892ede357b3932d7d
@@ -0,0 +1,18 @@
1
+ name: Run RSpec tests
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ runs-on: ubuntu-latest
6
+ env:
7
+ RAILS_ENV: test
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ - name: Set up Ruby
11
+ uses: ruby/setup-ruby@v1.190.0
12
+ with:
13
+ # Not needed with a .ruby-version file
14
+ ruby-version: 3.3.0
15
+ bundler-cache: true
16
+ - name: Run tests
17
+ run: |
18
+ bundle exec rspec
data/.gitignore CHANGED
@@ -8,6 +8,7 @@
8
8
  /test/tmp/
9
9
  /test/version_tmp/
10
10
  /tmp/
11
+ Gemfile.lock
11
12
 
12
13
  ## Specific to RubyMotion:
13
14
  .dat*
data/README.md CHANGED
@@ -5,12 +5,16 @@
5
5
  Similar to dotenv-rails, but better ;)
6
6
 
7
7
  ## Features
8
- Automatically loads dotfiles for environment configuration with the following
9
- precedence (highest precedence first):
10
- * .env.local - local customizations
11
- * .env.<RAILS_ENV> - Rails environment settings (ex: development, test, production, etc)
12
- * .env.<HOST_FAMILY> - OS settings (ex: darwin, nix, cygwin)
13
- * .env - Global defaults
8
+ Automatically loads dotfiles for environment configuration with the following precedence (higher files' values are NOT overwritten by files loaded after).
9
+
10
+ * `.env.RAILS_ENV.local` - Local customizations for a given Rails environment (usually not committed to your git repo)
11
+ * `.env.HOST_FAMILY.local` - Local OS settings for a given OS (usually not committed to your git repo)
12
+ * `.env.local` - local customizations. NOT loaded when `Rails.env.test?` is true (a [dotenv-rails default](https://github.com/bkeepers/dotenv/blob/master/lib/dotenv/rails.rb#L69))
13
+ * `.env.RAILS_ENV` - Rails environment settings (ex: development, test, production, etc)
14
+ * `.env.HOST_FAMILY` - OS settings (ex: darwin, nix, cygwin)
15
+ * `.env` - Global defaults
16
+
17
+ The files listed first will have the final say on what the final values of each ENV variable is set to, so only set the value in `*.local` files if you really want to override it.
14
18
 
15
19
  ## Installation
16
20
 
data/dotenv-beefy.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = %q{Load all the application environments }
13
13
  spec.description = %q{Load all relevant .env files to boot usable application environment}
14
- spec.homepage = ""
14
+ spec.homepage = "https://github.com/betterup/dotenv-beefy"
15
15
  spec.license = "MIT"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -20,7 +20,9 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_runtime_dependency 'dotenv'
23
+ spec.add_runtime_dependency 'rails', '>= 5.0'
23
24
 
24
- spec.add_development_dependency "bundler", "~> 1.9"
25
- spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "bundler", "~> 2.1"
26
+ spec.add_development_dependency "rake", ">= 12.3.3"
27
+ spec.add_development_dependency "rspec", ">= 3.4.0"
26
28
  end
@@ -3,18 +3,42 @@ require 'rbconfig'
3
3
 
4
4
  module Dotenv
5
5
  module Beefy
6
- class Railtie < Rails::Railtie
6
+ class Railtie < ::Rails::Railtie
7
7
  config.before_configuration { load_environments }
8
8
 
9
+ # Load environment dotfiles in the following order (e.g. if in "test" environment on "darwin")
10
+ # 1. .env.test.local
11
+ # 2. .env.darwin.local
12
+ # 3. .env.local
13
+ # 4. .env.test
14
+ # 5. .env.darwin
15
+ # 6. .env
16
+ #
17
+ # The order matters, because the files loaded first will "lock in" the value for that ENV var.
18
+ # Dotenv.load memoizes each ENV value, and if the value is set, it cannot be updated later.
19
+ # If you want to update ENV values as new values come in, you need to use Dotenv.overload(*files)
9
20
  def load_environments
10
- files = environments.map { |env| ".env.#{env}" }
21
+ files = []
22
+
23
+ environments.each do |env|
24
+ files << ".env.#{env}.local"
25
+ end
26
+
27
+ # This is a dotenv-rails convention to ignore `.env.local` in a test environment
28
+ # @see https://github.com/bkeepers/dotenv/blob/c237d6d6291c898d8affb290b510c7aac49aed71/lib/dotenv/rails.rb#L66-L73
29
+ files << '.env.local' unless Rails.env.test?
30
+
31
+ environments.each do |env|
32
+ files << ".env.#{env}"
33
+ end
34
+
11
35
  files << '.env'
36
+
12
37
  Dotenv.load(*files)
13
38
  end
14
39
 
15
40
  def environments
16
41
  [
17
- 'local',
18
42
  Rails.env,
19
43
  host_family
20
44
  ]
@@ -1,5 +1,5 @@
1
1
  module Dotenv
2
2
  module Beefy
3
- VERSION = "0.1.0"
3
+ VERSION = '0.2.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dotenv-beefy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - BetterUp Developers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-10 00:00:00.000000000 Z
11
+ date: 2024-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -24,34 +24,62 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '1.9'
47
+ version: '2.1'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.9'
54
+ version: '2.1'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: '10.0'
61
+ version: 12.3.3
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 12.3.3
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 3.4.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
53
81
  - !ruby/object:Gem::Version
54
- version: '10.0'
82
+ version: 3.4.0
55
83
  description: Load all relevant .env files to boot usable application environment
56
84
  email:
57
85
  - developers@betterup.co
@@ -59,6 +87,7 @@ executables: []
59
87
  extensions: []
60
88
  extra_rdoc_files: []
61
89
  files:
90
+ - ".github/workflows/run_tests.yml"
62
91
  - ".gitignore"
63
92
  - ".rspec"
64
93
  - ".travis.yml"
@@ -73,11 +102,11 @@ files:
73
102
  - lib/dotenv/beefy.rb
74
103
  - lib/dotenv/beefy/railtie.rb
75
104
  - lib/dotenv/beefy/version.rb
76
- homepage: ''
105
+ homepage: https://github.com/betterup/dotenv-beefy
77
106
  licenses:
78
107
  - MIT
79
108
  metadata: {}
80
- post_install_message:
109
+ post_install_message:
81
110
  rdoc_options: []
82
111
  require_paths:
83
112
  - lib
@@ -92,10 +121,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
121
  - !ruby/object:Gem::Version
93
122
  version: '0'
94
123
  requirements: []
95
- rubyforge_project:
96
- rubygems_version: 2.4.5.1
97
- signing_key:
124
+ rubygems_version: 3.5.1
125
+ signing_key:
98
126
  specification_version: 4
99
127
  summary: Load all the application environments
100
128
  test_files: []
101
- has_rdoc: