Sha256: cbf13ab68ff7b84debbd3061c1f865ac0b4a0c52194420df3c9592d80d4bad90

Contents?: true

Size: 518 Bytes

Versions: 3

Compression:

Stored size: 518 Bytes

Contents

module Udongo::Redirects
  class UriSanitizer
    def initialize(uri)
      @uri = uri
    end

    def sanitize!
      result = strip_whitespace(@uri)
      result = remove_leading_slashes(result)
      result = remove_trailing_slashes(result)
      result
    end

    def strip_whitespace(value)
      value.strip
    end

    def remove_leading_slashes(value)
      value.gsub(/^(?!\/)/, '/')
    end

    def remove_trailing_slashes(value)
      value.chomp('/').gsub('/?', '?').gsub('/#', '#')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
udongo-7.9.0 lib/udongo/redirects/uri_sanitizer.rb
udongo-7.8.1 lib/udongo/redirects/uri_sanitizer.rb
udongo-7.8.0 lib/udongo/redirects/uri_sanitizer.rb