class Rspeckled::Vcr::Matchers::UriWithoutTrailingId

Attributes

trailing_id_matcher[RW]

Public Class Methods

new(trailing_id_matcher) click to toggle source
# File lib/rspeckled/plugins/extensions/vcr/matchers/uri_without_trailing_id.rb, line 9
def initialize(trailing_id_matcher)
  self.trailing_id_matcher = trailing_id_matcher
end

Public Instance Methods

call(request, vcr_cassette_request) click to toggle source
# File lib/rspeckled/plugins/extensions/vcr/matchers/uri_without_trailing_id.rb, line 13
def call(request, vcr_cassette_request)
  request_uri              = request.uri
  vcr_cassette_request_uri = vcr_cassette_request.uri

  if request_uri.match?(trailing_id_matcher)
    request_uri_without_id              = request_uri.sub(trailing_id_matcher, '')
    vcr_cassette_request_uri_without_id = vcr_cassette_request_uri.sub(
                                            trailing_id_matcher, ''
                                          )

    request_uri.match(trailing_id_matcher) &&
    vcr_cassette_request_uri.match(trailing_id_matcher) &&
    request_uri_without_id == vcr_cassette_request_uri_without_id
  else
    request_uri == vcr_cassette_request_uri
  end
end