Sha256: b0e252e7db919a6da028194d664b88a14db5090a1b03c72172c37710843293b3

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

Rails.application.routes.draw do
  class SiteConstraint
    def initialize; end
    def matches?(request)
      request.subdomain != 'admin' && Site.exists?(:conditions => {:domain => request.host})
    end
  end

  class RedirectConstraint
    def initialize; end
    def matches?(request)
      return false if request.subdomain == 'admin'
      site = Site.where(:domain => request.host).first
      site && site.redirects.where(:source_url => request.path).first
    end
  end

  constraints(RedirectConstraint.new) do
    get ':source_url', :to => 'redirects#show'
  end

  constraints(SiteConstraint.new) do
    root :to => 'pages#show', :via => 'get'
    get '*path' => 'pages#show'
  end

  namespace :admin do
    put 'sites/:site_id/nav_items/reorder', :to => 'nav_items#reorder', :as => 'site_reorder_nav_items'
    resources :sites do
      resources :nav_items
      resources :pages do
        get 'preview', :to => 'pages#preview', :as => 'preview_admin_site_page'
      end
      resources :redirects
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
site_logic-1.6.8 config/routes.rb
site_logic-1.6.7 config/routes.rb