require "scrivito/preset_routes" module Scrivito module PresetRoutes mattr_accessor :delayed self.delayed ||= {} def self.install_delayed(route_set=nil) delayed.each do |route, delayed_lambda| delayed_lambda.call(route_set) end end def self.install_into(route_set, do_the_install=false) return unless do_the_install return if Scrivito::Configuration.scrivito_route_enabled? Scrivito::Configuration.with_scrivito_route_enabled do route_set.draw do scrivito_route '/', using: "homepage", via: :all if Scrivito::Configuration.legacy_routing scrivito_route ':id(/*slug)', using: "slug_id", via: :all else scrivito_route '(/)(*slug-):id', using: "slug_id", via: :all match ':id(/*slug)', to: 'scrivito/legacy_redirect#index', via: :all, constraints: { id: /[0-9]{4,}/ } end scrivito_route '/*permalink', using: "permalink", format: false, via: :all end end end def self.install_slave_into(route_set, do_the_install=false) return unless do_the_install return if Scrivito::Configuration.scrivito_route_enabled? Scrivito::Configuration.with_scrivito_route_enabled do route_set.draw do scrivito_route '/f7(/)', using: "homepage", via: :all if Scrivito::Configuration.legacy_routing scrivito_route '/f7/:id(/*slug)', using: "slug_id", via: :all else scrivito_route '/f7/(*slug-):id', using: "slug_id", via: :all match '/f7/:id(/*slug)', to: 'scrivito/legacy_redirect#index', via: :all, constraints: { id: /[0-9]{4,}/ } end scrivito_route '/f7/*permalink', using: "permalink", format: false, via: :all end end end end end