Skip to content

Commit

Permalink
1705033171
Browse files Browse the repository at this point in the history
  • Loading branch information
azimux committed Jan 12, 2024
1 parent ab3ae23 commit 9f6c43e
Show file tree
Hide file tree
Showing 11 changed files with 63 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/foobara/load_dotenv.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
require "dotenv"

module Foobara
class LoadDotenv
end
Expand Down
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env
ENV_VAR=.env
DEVELOPMENT_TEST=.env
DEVELOPMENT=.env
TEST=.env
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.development
ENV_VAR=.env.development
DEVELOPMENT_TEST=.env.development
DEVELOPMENT=.env.development
TEST=.env.development
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.development.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.development.local
ENV_VAR=.env.development.local
DEVELOPMENT_TEST=.env.development.local
DEVELOPMENT=.env.development.local
TEST=.env.development.local
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.development.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.development.test
ENV_VAR=.env.development.test
DEVELOPMENT_TEST=.env.development.test
DEVELOPMENT=.env.development.test
TEST=.env.development.test
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.development.test.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.development.test.local
ENV_VAR=.env.development.test.local
DEVELOPMENT_TEST=.env.development.test.local
DEVELOPMENT=.env.development.test.local
TEST=.env.development.test.local
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.local
ENV_VAR=.env.local
DEVELOPMENT_TEST=.env.local
DEVELOPMENT=.env.local
TEST=.env.local
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.test
ENV_VAR=.env.test
DEVELOPMENT_TEST=.env.test
DEVELOPMENT=.env.test
TEST=.env.test
5 changes: 5 additions & 0 deletions spec/fixtures/test_dotenvs/.env.test.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DOTENV=.env.test.local
ENV_VAR=.env.test.local
DEVELOPMENT_TEST=.env.test.local
DEVELOPMENT=.env.test.local
TEST=.env.test.local
19 changes: 19 additions & 0 deletions spec/load_dotenv_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,23 @@
it "has a version number" do
expect(Foobara::LoadDotenv::VERSION).to_not be_nil
end

describe ".run!" do
context "when development env" do
let(:env) { "development" }

it "applies .env.development.local" do
expect(Dotenv).to receive(:load!).with(
".env.development.test.local",
".env.development.local",
".env.local",
".env.development.test",
".env.development",
".env"
).and_return(nil)

described_class.run!(env:, dir: "#{__dir__}/fixtures/test_dotenvs")
end
end
end
end
2 changes: 2 additions & 0 deletions src/load_dotenv.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ def run!(...)

def initialize(env:, dir: Dir.pwd)
unless env
# :nocov:
raise ArgumentError, "env must be provided"
# :nocov:
end

self.env = env.to_s
Expand Down

0 comments on commit 9f6c43e

Please sign in to comment.