Skip to content

Commit

Permalink
Set RACK_ENV based on environment option when loading rackup file [Cu…
Browse files Browse the repository at this point in the history
…rtis Summers] [#83 state:resolved]
  • Loading branch information
macournoyer committed Oct 22, 2008
1 parent 4d224bd commit 1e90d63
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
@@ -1,4 +1,5 @@
== 1.0.1 ? release
* Set RACK_ENV based on environment option when loading rackup file [Curtis Summers] [#83 state:resolved]
* Fixes a warning RE relative_url_root when using a prefix with Rails 2.1.1 [seriph] [#85 state:resolved]
* --only can work as a sequence number (if < 80) or a port number (if >= 80) [jmay] [#81 state:resolved]

Expand Down
1 change: 1 addition & 0 deletions lib/thin/controllers/controller.rb
Expand Up @@ -166,6 +166,7 @@ def load_adapter
end

def load_rackup_config
ENV['RACK_ENV'] = @options[:environment]
case @options[:rackup]
when /\.rb$/
Kernel.load(@options[:rackup])
Expand Down
14 changes: 11 additions & 3 deletions spec/controllers/controller_spec.rb
Expand Up @@ -63,22 +63,22 @@
end

it "should load app from Rack config" do
@controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/config.ru'
@controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/config.ru'
@controller.start

@server.app.class.should == Proc
end

it "should load app from ruby file" do
@controller.options[:rackup] = filename = File.dirname(__FILE__) + '/../../example/myapp.rb'
@controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/myapp.rb'
@controller.start

@server.app.should == Myapp
end

it "should throwup if rackup is not a .ru or .rb file" do
proc do
@controller.options[:rackup] = filename = File.dirname(__FILE__) + '/../../example/myapp.foo'
@controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/myapp.foo'
@controller.start
end.should raise_error(RuntimeError, /please/)
end
Expand All @@ -89,6 +89,14 @@

@server.threaded.should be_true
end

it "should set RACK_ENV" do
@controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/config.ru'
@controller.options[:environment] = "lolcat"
@controller.start

ENV['RACK_ENV'].should == "lolcat"
end

end

Expand Down

0 comments on commit 1e90d63

Please sign in to comment.