diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 69266e9..c375c6d 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -1,6 +1,6 @@ name: Run RSpec tests on: [push, pull_request] -jobs: +jobs: test: runs-on: ubuntu-latest env: @@ -8,10 +8,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set up Ruby - uses: ruby/setup-ruby@v1.81.0 + uses: ruby/setup-ruby@v1.190.0 with: # Not needed with a .ruby-version file - ruby-version: 2.7 + ruby-version: 3.3.0 bundler-cache: true - name: Run tests run: | diff --git a/lib/dotenv/beefy/railtie.rb b/lib/dotenv/beefy/railtie.rb index 821f5df..d9c8dd3 100644 --- a/lib/dotenv/beefy/railtie.rb +++ b/lib/dotenv/beefy/railtie.rb @@ -3,7 +3,7 @@ module Dotenv module Beefy - class Railtie < Rails::Railtie + class Railtie < ::Rails::Railtie config.before_configuration { load_environments } # Load environment dotfiles in the following order (e.g. if in "test" environment on "darwin") @@ -13,27 +13,27 @@ class Railtie < Rails::Railtie # 4. .env.test # 5. .env.darwin # 6. .env - # + # # The order matters, because the files loaded first will "lock in" the value for that ENV var. # Dotenv.load memoizes each ENV value, and if the value is set, it cannot be updated later. # If you want to update ENV values as new values come in, you need to use Dotenv.overload(*files) def load_environments files = [] - - environments.each do |env| + + environments.each do |env| files << ".env.#{env}.local" end # This is a dotenv-rails convention to ignore `.env.local` in a test environment # @see https://github.com/bkeepers/dotenv/blob/c237d6d6291c898d8affb290b510c7aac49aed71/lib/dotenv/rails.rb#L66-L73 - files << '.env.local' unless Rails.env.test? - - environments.each do |env| + files << '.env.local' unless Rails.env.test? + + environments.each do |env| files << ".env.#{env}" end files << '.env' - + Dotenv.load(*files) end