Sha256: 480ed8a7cf7515d1b900a48bf6937339fd111224c7283c7d6517690439fefe18

Contents?: true

Size: 805 Bytes

Versions: 91

Compression:

Stored size: 805 Bytes

Contents

# frozen-string-literal: true

#
class Roda
  module RodaPlugins
    # The slash_path_empty plugin considers "/" as an empty path,
    # in addition to the default of "" being considered an empty
    # path.  This makes it so +r.is+ without an argument will match
    # a path of "/", and +r.is+ and verb methods such as +r.get+ and
    # +r.post+ will match if the path is "/" after the arguments
    # are processed.  This can make it easier to handle applications
    # where a trailing "/" in the path should be ignored.
    module SlashPathEmpty
      module RequestMethods
        private

        # Consider the path empty if it is "/".
        def empty_path?
          super || remaining_path == '/'
        end
      end
    end

    register_plugin(:slash_path_empty, SlashPathEmpty)
  end
end

Version data entries

91 entries across 91 versions & 1 rubygems

Version Path
roda-3.68.0 lib/roda/plugins/slash_path_empty.rb
roda-3.67.0 lib/roda/plugins/slash_path_empty.rb
roda-3.66.0 lib/roda/plugins/slash_path_empty.rb
roda-3.65.0 lib/roda/plugins/slash_path_empty.rb
roda-3.64.0 lib/roda/plugins/slash_path_empty.rb
roda-3.63.0 lib/roda/plugins/slash_path_empty.rb
roda-3.62.0 lib/roda/plugins/slash_path_empty.rb
roda-3.61.0 lib/roda/plugins/slash_path_empty.rb
roda-3.60.0 lib/roda/plugins/slash_path_empty.rb
roda-3.59.0 lib/roda/plugins/slash_path_empty.rb
roda-3.58.0 lib/roda/plugins/slash_path_empty.rb
roda-3.57.0 lib/roda/plugins/slash_path_empty.rb
roda-3.56.0 lib/roda/plugins/slash_path_empty.rb
roda-3.55.0 lib/roda/plugins/slash_path_empty.rb
roda-3.54.0 lib/roda/plugins/slash_path_empty.rb
roda-3.53.0 lib/roda/plugins/slash_path_empty.rb
roda-3.52.0 lib/roda/plugins/slash_path_empty.rb
roda-3.51.0 lib/roda/plugins/slash_path_empty.rb
roda-3.50.0 lib/roda/plugins/slash_path_empty.rb
roda-3.49.0 lib/roda/plugins/slash_path_empty.rb