Sha256: c400edc3e40edddaf3ed0520f48ad97b3fa0450c7e70adcf0945c83d4c55a168

Contents?: true

Size: 799 Bytes

Versions: 18

Compression:

Stored size: 799 Bytes

Contents

module RsPages
  extend ActiveSupport::Concern
  included do
    before_filter :find_page
  end

  private

  def find_page
    @seo_page = find_seo_page request.path
    if !@seo_page.nil? && !@seo_page.redirect.blank?
      redirect_to @seo_page.redirect
    end
  end

  def find_seo_page(path)
    do_redirect = false
    if path[0] != '/'
      path = '/' + path
    end
    if path.length > 1 && path[-1] == '/'
      path = path[0..-2]
      do_redirect = true
    end

    page = Page.enabled.where(fullpath: path).first
    if page.nil?
      do_redirect = true
      spath = path.chomp(File.extname(path))
      if spath != path
        page = Page.enabled.where(fullpath: spath).first
      end
    end
    if !page.nil? && do_redirect
      redirect_to path
    end

    page
  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rocket_cms-0.5.10 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.9 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.8 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.7 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.6 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.5 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.4 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.3 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.2 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.1 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.0 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.0.rc.5 app/controllers/concerns/rs_pages.rb
rocket_cms-0.5.0.rc.4 app/controllers/concerns/rs_pages.rb
rocket_cms-0.4.2 app/controllers/concerns/rs_pages.rb
rocket_cms-0.3.2 app/controllers/concerns/rs_pages.rb
rocket_cms-0.2.12 app/controllers/concerns/rs_pages.rb
rocket_cms-0.2.10 app/controllers/concerns/rs_pages.rb
rocket_cms-0.1.13 app/controllers/concerns/rs_pages.rb