Sha256: b333d754826e4dbcdc812224062f328614c542fc3df367c9e20bc39957c2918a

Contents?: true

Size: 717 Bytes

Versions: 3

Compression:

Stored size: 717 Bytes

Contents

class ActionDispatch::Routing::Mapper
  def seiten(*resources)
    options = resources.extract_options!
    options[:to] ||= 'seiten/pages#show'

    resources.each do |resource|
      resource_options = options.dup

      resource_options[:as] ||= resource == :application ? :seiten_page : "seiten_#{resource}_page"

      resource_options[:defaults] ||= {}
      resource_options[:defaults][:navigation_id] = resource.to_s unless resource == :application
      resource_options[:defaults][:slug] = ''

      # NOTE: See https://github.com/rails/rails/issues/31228
      resource_options[:constraints] ||= ->(req) { req.path.exclude? 'rails/active_storage' }

      get '(*slug)', resource_options
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
seiten-1.0.2 lib/seiten/routes_helper.rb
seiten-1.0.1 lib/seiten/routes_helper.rb
seiten-1.0.0 lib/seiten/routes_helper.rb