Skip to content

Commit

Permalink
Treat non {test,development} envs as production
Browse files Browse the repository at this point in the history
Closes [#361].

When the Rails environment is neither `test` nor `development` ([two
environments handled by EmberCLI out-of-the-box][ember-cli-env]), treat
it as `production`.

[#361]: #361
[ember-cli-env]: http://ember-cli.com/user-guide/#Environments
  • Loading branch information
seanpdoyle committed Dec 20, 2015
1 parent b85bd02 commit 219f546
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 19 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
master
------

* Translate Rails environments other than `test` or `development` to
`production`. [#366]

[#366]: https://github.com/thoughtbot/ember-cli-rails/pull/366

0.6.1
-----

Expand Down
22 changes: 3 additions & 19 deletions lib/ember_cli/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,10 @@ def which(cmd)
end

def current_environment
rails_config_for(:ember_cli_rails_mode){ default_environment }.to_s
end

private

def default_environment
if Rails.env.test?
"test"
elsif Rails.env.production? || !rails_config_for(:consider_all_requests_local)
"production"
else
"development"
end
end

def rails_config_for(key)
if Rails.configuration.respond_to?(key)
Rails.configuration.public_send(key)
if Rails.env.to_s =~ /test|development/
Rails.env
else
yield
"production".inquiry
end
end
end
Expand Down
41 changes: 41 additions & 0 deletions spec/lib/ember_cli/helpers_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
require "ember_cli/helpers"

describe EmberCli::Helpers do
describe ".current_environment" do
context "when test" do
it "returns test" do
stub_rails_env("test")

current_environment = EmberCli::Helpers.current_environment

expect(current_environment).to be_test
end
end

context "when development" do
it "returns development" do
stub_rails_env("development")

current_environment = EmberCli::Helpers.current_environment

expect(current_environment).to be_development
end
end

context "when anything else" do
it "returns production" do
stub_rails_env("staging")

current_environment = EmberCli::Helpers.current_environment

expect(current_environment).to be_production
end
end
end

def stub_rails_env(env)
allow(Rails).
to receive(:env).
and_return(env.to_s.inquiry)
end
end

0 comments on commit 219f546

Please sign in to comment.