resolve route conflicts

This commit is contained in:
Maxwell Salzberg 2011-09-16 12:49:47 -07:00
commit 55999bc443
4 changed files with 33 additions and 1 deletions

View file

@ -117,7 +117,7 @@ HELP
def self.[] (key)
return self.pod_uri if key == :pod_uri
return ENV[key.to_s] if ENV[key.to_s].present? && ENV["HEROKU"]
return ENV[key.to_s] if ENV[key.to_s] && ENV["HEROKU"]
super
end

View file

@ -165,6 +165,8 @@ defaults: &defaults
# Use paypal for recurring donations
paypal_hosted_button_id: ""
# Mount resque-web into routes
mount_resque_web: true
#
# Use this section to override default settings in specific environments
@ -176,6 +178,7 @@ development:
production:
<<: *defaults
mount_resque_web: false
#

View file

@ -27,3 +27,27 @@ if AppConfig.single_process_mode?
end
end
end
if AppConfig.mount_resque_web
require 'resque/server'
class AdminRack
def initialize(app)
@app = app
end
def call(env)
user = env['warden'].authenticate(:scope => :user)
if user && user.admin?
@app.call(env)
else
[307, {"Location" => '/'}, self]
end
end
def each(&block)
end
end
Resque::Server.use AdminRack
end

View file

@ -159,6 +159,11 @@ Diaspora::Application.routes.draw do
#Protocol Url
get 'protocol' => redirect("https://github.com/diaspora/diaspora/wiki/Diaspora%27s-federation-protocol")
# Resque web
if AppConfig.mount_resque_web
mount Resque::Server.new, :at => '/resque-jobs'
end
# Startpage