unicorn 0.990.0 → 0.990.0.5.gbfb1

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.
data/bin/unicorn_rails CHANGED
@@ -109,13 +109,31 @@ end
109
109
 
110
110
  ru = ARGV[0] || (File.exist?('config.ru') ? 'config.ru' : nil)
111
111
 
112
+ def rails_dispatcher
113
+ if ::Rails::VERSION::MAJOR >= 3 && ::File.exist?('config/application.rb')
114
+ if ::File.read('config/application.rb') =~ /^module\s+([\w:]+)\s*$/
115
+ app_module = Object.const_get($1)
116
+ begin
117
+ result = app_module::Application
118
+ rescue NameError
119
+ end
120
+ end
121
+ end
122
+
123
+ if result.nil? && defined?(ActionController::Dispatcher)
124
+ result = ActionController::Dispatcher.new
125
+ end
126
+
127
+ result || abort("Unable to locate the application dispatcher class")
128
+ end
129
+
112
130
  def rails_builder(daemonize)
113
131
  # this lambda won't run until after forking if preload_app is false
114
132
  lambda do ||
115
133
  # Load Rails and (possibly) the private version of Rack it bundles.
116
134
  begin
117
- require 'config/boot'
118
- require 'config/environment'
135
+ require ::File.expand_path('config/boot')
136
+ require ::File.expand_path('config/environment')
119
137
  rescue LoadError => err
120
138
  abort "#$0 must be run inside RAILS_ROOT: #{err.inspect}"
121
139
  end
@@ -149,8 +167,12 @@ def rails_builder(daemonize)
149
167
  use Rails::Rack::LogTailer unless daemonize
150
168
  use Rails::Rack::Debugger if $DEBUG
151
169
  map(map_path) do
152
- use Rails::Rack::Static
153
- run ActionController::Dispatcher.new
170
+ if defined?(ActionDispatch::Static)
171
+ use ActionDispatch::Static, "#{Rails.root}/public"
172
+ else
173
+ use Rails::Rack::Static
174
+ end
175
+ run rails_dispatcher
154
176
  end
155
177
  end
156
178
  end.to_app
@@ -1,33 +1,5 @@
1
1
  #!/bin/sh
2
- RAILS_VERSION=${RAILS_VERSION-3.0.0.beta3}
3
-
4
- . ./test-lib.sh
5
-
6
- case $RUBY_VERSION in
7
- 1.8.7|1.9.2) ;;
8
- *)
9
- t_info "RUBY_VERSION=$RUBY_VERSION unsupported for Rails 3"
10
- exit 0
11
- ;;
12
- esac
13
-
14
- arch_gems=../tmp/isolate/ruby-$RUBY_VERSION/gems
15
- rails_gems=../tmp/isolate/rails-$RAILS_VERSION/gems
16
- rails_bin="$rails_gems/rails-$RAILS_VERSION/bin/rails"
17
- if ! test -d "$arch_gems" || ! test -d "$rails_gems" || ! test -x "$rails_bin"
18
- then
19
- ( cd ../ && $RAKE isolate )
20
- fi
21
-
22
- for i in $arch_gems/*-* $rails_gems/*-*
23
- do
24
- if test -d $i/lib
25
- then
26
- RUBYLIB=$(cd $i/lib && pwd):$RUBYLIB
27
- fi
28
- done
29
-
30
- export RUBYLIB
2
+ . ./test-rails3.sh
31
3
 
32
4
  t_plan 3 "Rails 3 (beta) tests"
33
5
 
@@ -40,7 +12,7 @@ t_begin "setup and start" && {
40
12
  $RAKE db:sessions:create
41
13
  $RAKE db:migrate
42
14
  unicorn_setup
43
- unicorn -D -c $unicorn_config
15
+ unicorn_rails -D -c $unicorn_config
44
16
  unicorn_wait_start
45
17
  }
46
18
 
@@ -0,0 +1,33 @@
1
+ #!/bin/sh
2
+ . ./test-rails3.sh
3
+
4
+ t_plan 4 "Rails 3 (beta) tests for config.ru haters"
5
+
6
+ t_begin "setup and start" && {
7
+ rails3_app=$(cd rails3-app && pwd)
8
+ rm -rf $t_pfx.app
9
+ mkdir $t_pfx.app
10
+ cd $t_pfx.app
11
+ ( cd $rails3_app && tar cf - . ) | tar xf -
12
+ rm config.ru
13
+ $RAKE db:sessions:create
14
+ $RAKE db:migrate
15
+ unicorn_setup
16
+ unicorn_rails -D -c $unicorn_config
17
+ unicorn_wait_start
18
+ }
19
+
20
+ t_begin "static file serving works" && {
21
+ test x"$(curl -sSf http://$listen/x.txt)" = xHELLO
22
+ }
23
+
24
+ # add more tests here
25
+ t_begin "hit with curl" && {
26
+ curl -v http://$listen/ || :
27
+ }
28
+
29
+ t_begin "killing succeeds" && {
30
+ kill $unicorn_pid
31
+ }
32
+
33
+ t_done
data/t/test-rails3.sh ADDED
@@ -0,0 +1,27 @@
1
+ . ./test-lib.sh
2
+ RAILS_VERSION=${RAILS_VERSION-3.0.0.beta3}
3
+ case $RUBY_VERSION in
4
+ 1.8.7|1.9.2) ;;
5
+ *)
6
+ t_info "RUBY_VERSION=$RUBY_VERSION unsupported for Rails 3"
7
+ exit 0
8
+ ;;
9
+ esac
10
+
11
+ arch_gems=../tmp/isolate/ruby-$RUBY_VERSION/gems
12
+ rails_gems=../tmp/isolate/rails-$RAILS_VERSION/gems
13
+ rails_bin="$rails_gems/rails-$RAILS_VERSION/bin/rails"
14
+ if ! test -d "$arch_gems" || ! test -d "$rails_gems" || ! test -x "$rails_bin"
15
+ then
16
+ ( cd ../ && $RAKE isolate )
17
+ fi
18
+
19
+ for i in $arch_gems/*-* $rails_gems/*-*
20
+ do
21
+ if test -d $i/lib
22
+ then
23
+ RUBYLIB=$(cd $i/lib && pwd):$RUBYLIB
24
+ fi
25
+ done
26
+
27
+ export RUBYLIB
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unicorn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.990.0
4
+ version: 0.990.0.5.gbfb1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Unicorn hackers
@@ -188,7 +188,9 @@ files:
188
188
  - t/t0001-reload-bad-config.sh
189
189
  - t/t0002-config-conflict.sh
190
190
  - t/t0300-rails3-basic.sh
191
+ - t/t0301-rails3-missing-config-ru.sh
191
192
  - t/test-lib.sh
193
+ - t/test-rails3.sh
192
194
  - test/aggregate.rb
193
195
  - test/benchmark/README
194
196
  - test/benchmark/dd.ru
@@ -304,9 +306,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
304
306
  version:
305
307
  required_rubygems_version: !ruby/object:Gem::Requirement
306
308
  requirements:
307
- - - ">="
309
+ - - ">"
308
310
  - !ruby/object:Gem::Version
309
- version: "0"
311
+ version: 1.3.1
310
312
  version:
311
313
  requirements: []
312
314