Class: Rspectacular::VcrMatchers::UriWithoutTrailingId

Inherits:
Object
  • Object
show all
Defined in:
lib/rspectacular/vcr_matchers/uri_without_trailing_id.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(trailing_id_matcher) ⇒ UriWithoutTrailingId

Returns a new instance of UriWithoutTrailingId.



6
7
8
# File 'lib/rspectacular/vcr_matchers/uri_without_trailing_id.rb', line 6

def initialize(trailing_id_matcher)
  self.trailing_id_matcher = trailing_id_matcher
end

Instance Attribute Details

#trailing_id_matcherObject

Returns the value of attribute trailing_id_matcher.



4
5
6
# File 'lib/rspectacular/vcr_matchers/uri_without_trailing_id.rb', line 4

def trailing_id_matcher
  @trailing_id_matcher
end

Instance Method Details

#call(request, vcr_cassette_request) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rspectacular/vcr_matchers/uri_without_trailing_id.rb', line 10

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