Sha256: 24a20e43eb03aa629e5368c13536980994f441a9afabc7e9d7b28850aae277c9

Contents?: true

Size: 698 Bytes

Versions: 4

Compression:

Stored size: 698 Bytes

Contents

class Usher
  class Node
    class RootIgnoringTrailingDelimiters < Root

      alias_method :lookup_without_stripping, :lookup
    
      def initialize(route_set, request_methods)
        super
        @stripper = /#{Regexp.quote(route_set.delimiters.first)}$/
      end
    
      def lookup(request_object, path)
        if path.size > 1
          new_path = path.gsub(@stripper, '')
          response = lookup_without_stripping(request_object, new_path)
          response.only_trailing_delimiters = (new_path.size != path.size) if response && response.succeeded?
          response
        else
          lookup_without_stripping(request_object, path)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
usher-0.8.3 lib/usher/node/root_ignoring_trailing_delimiters.rb
usher-0.8.2 lib/usher/node/root_ignoring_trailing_delimiters.rb
usher-0.8.1 lib/usher/node/root_ignoring_trailing_delimiters.rb
usher-0.8.0 lib/usher/node/root_ignoring_trailing_delimiters.rb