class Apartment::Elevators::Subdomain
Provides a rack based db switching solution based on subdomains Assumes that database name should match subdomain
Public Class Methods
new(app)
click to toggle source
# File lib/apartment/elevators/subdomain.rb, line 7 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/apartment/elevators/subdomain.rb, line 11 def call(env) request = ActionDispatch::Request.new(env) database = subdomain(request) Apartment::Database.switch database if database @app.call(env) end
subdomain(request)
click to toggle source
# File lib/apartment/elevators/subdomain.rb, line 21 def subdomain(request) request.subdomain.present? && request.subdomain || nil end