class SiteFramework::Routing::SiteConstraint
Attributes
logger[R]
Public Class Methods
new(mapper)
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 5 def initialize(mapper) @logger = Rails.logger @mapper = mapper end
Public Instance Methods
domain(name)
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 10 def domain(name) return @domain if @domain_name == name if defined? ActiveRecord @domain = SiteFramework::Domain.find_by(name: name) elsif defined? Mongoid @domain = SiteFramework::Site.where('domains.name' => name).domains.first else nil end end
matches?(request)
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 22 def matches?(request) return true if @domain_obj return false if @domain_obj == false logger.debug("[SITE] REQUEST HOST: #{request.host}") logger.debug("DOMAIN: #{domain(request.host)}") if @domain_obj = domain(request.host) @domain_name = request.host logger.debug("'#{@domain_name}' matched.") setup(@domain_obj, request) initialize_site_default_state true else logger.info("Domain name '#{request.host}' does not match with any exist domains") set_request_data_to_nil(request) @domain_name = request.host false end end
Private Instance Methods
domain_name()
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 61 def domain_name SiteFramework::CurrentState.instance.domain_name end
initialize_site_default_state()
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 80 def initialize_site_default_state @site.try(:before_dispatch, @mapper) end
set_request_data_to_nil(request)
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 67 def set_request_data_to_nil(request) request.instance_eval do def site end def domain end def domain_name end end end
setup(domain_, request)
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 46 def setup(domain_, request) SiteFramework::CurrentState.instance.domain_name = domain_.name SiteFramework::CurrentState.instance.domain = domain_ SiteFramework::CurrentState.instance.site = domain_.site @site = domain_.site request.instance_eval do def site SiteFramework::CurrentState.instance.site end def domain SiteFramework::CurrentState.instance.domain end def domain_name SiteFramework::CurrentState.instance.domain_name end end end
site()
click to toggle source
# File lib/site_framework/routing/site_constraint.rb, line 53 def site SiteFramework::CurrentState.instance.site end