module Sublease::TenantSwitcher

Private Instance Methods

sublease_error_tenant_not_found(message) click to toggle source
# File lib/sublease/tenant_switcher.rb, line 15
def sublease_error_tenant_not_found(message)
  Rails.logger.error "Sublease::TenantNotFound - #{message}"
end
sublease_model() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 19
def sublease_model
  model = Sublease.tenant_model
  if model.class == String
    model = model.capitalize.constantize
  end
  return model
end
sublease_set_current_tenant(tenant) click to toggle source
# File lib/sublease/tenant_switcher.rb, line 27
def sublease_set_current_tenant(tenant)
  Sublease.current_tenant = tenant
  Sublease.current_tenant_domain = tenant.domain
  Sublease.current_tenant_subdomain = tenant.subdomain
end
sublease_switch_on_domain() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 33
def sublease_switch_on_domain
  unless Rails.env.test?
    return if Sublease.current_tenant_domain == request.domain
  end
  model = sublease_model
  tenant = model.where(domain: request.domain).first
  if tenant.nil?
    sublease_error_tenant_not_found(I18n.t('sublease.errors.domain_not_found', domain: request.domain))
    return
  end
  sublease_set_current_tenant(tenant)
end
sublease_switch_on_domain?() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 46
def sublease_switch_on_domain?
  (Sublease.switch_on_domain == true)
end
sublease_switch_on_subdomain() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 50
def sublease_switch_on_subdomain
  unless Rails.env.test?
    return if Sublease.current_tenant_subdomain == request.subdomain
  end
  model = sublease_model
  tenant = model.where(subdomain: request.subdomain).first
  if tenant.nil?
    sublease_error_tenant_not_found(I18n.t('sublease.errors.subdomain_not_found', subdomain: request.subdomain))
    return
  end
  sublease_set_current_tenant(tenant)
end
sublease_switch_on_subdomain?() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 63
def sublease_switch_on_subdomain?
  (Sublease.switch_on_subdomain == true)
end
sublease_switch_on_subdomain_and_domain() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 67
def sublease_switch_on_subdomain_and_domain
  unless Rails.env.test?
    return if ((Sublease.current_tenant_subdomain == request.subdomain) && (Sublease.current_tenant_domain == request.domain))
  end
  model = sublease_model
  tenant = model.where(domain: request.domain, subdomain: request.subdomain).first
  if tenant.nil?
    sublease_error_tenant_not_found(I18n.t('sublease.errors.subdomain_and_domain_not_found', subdomain: request.subdomain, domain: request.domain))
    return
  end
  sublease_set_current_tenant(tenant)
end
sublease_switch_on_subdomain_and_domain?() click to toggle source
# File lib/sublease/tenant_switcher.rb, line 80
def sublease_switch_on_subdomain_and_domain?
  (Sublease.switch_on_subdomain_and_domain == true)
end