class StubRequests::UriSegmentMismatch

UriSegmentMismatch is raised when a segment cannot be replaced

Attributes

expected_keys[R]
received_keys[R]
uri[R]

Public Class Methods

new(uri:, expected_keys:, received_keys:) click to toggle source
Calls superclass method
# File lib/stub_requests/exceptions.rb, line 99
def initialize(uri:, expected_keys:, received_keys:)
  @uri           = uri
  @expected_keys = expected_keys
  @received_keys = received_keys

  super(message_parts.join("\n  "))
end

Private Instance Methods

default_part() click to toggle source
# File lib/stub_requests/exceptions.rb, line 119
def default_part
  "The URI (#{uri}) received unexpected route parameters"
end
expected_keys_part() click to toggle source
# File lib/stub_requests/exceptions.rb, line 123
def expected_keys_part
  "Expected: [#{expected_keys.join(',')}]"
end
invalid_keys() click to toggle source
# File lib/stub_requests/exceptions.rb, line 143
def invalid_keys
  @invalid_keys ||= received_keys - expected_keys
end
invalid_keys_part() click to toggle source
# File lib/stub_requests/exceptions.rb, line 135
def invalid_keys_part
  "Invalid: [#{invalid_keys.join(',')}]"
end
message_parts() click to toggle source
# File lib/stub_requests/exceptions.rb, line 109
def message_parts
  [].tap do |arr|
    arr << default_part
    arr << expected_keys_part
    arr << received_keys_part
    arr << missing_keys_part if missing_keys.any?
    arr << invalid_keys_part if invalid_keys.any?
  end
end
missing_keys() click to toggle source
# File lib/stub_requests/exceptions.rb, line 139
def missing_keys
  @missing_keys ||= expected_keys - received_keys
end
missing_keys_part() click to toggle source
# File lib/stub_requests/exceptions.rb, line 131
def missing_keys_part
  "Missing: [#{missing_keys.join(',')}]"
end
received_keys_part() click to toggle source
# File lib/stub_requests/exceptions.rb, line 127
def received_keys_part
  "Received: [#{received_keys.join(',')}]"
end