Module: RSpec::Rails::Matchers::HaveHttpStatus Private
- Included in:
- GenericStatus, NumericCode, SymbolicStatus
- Defined in:
- lib/rspec/rails/matchers/have_http_status.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Namespace for various implementations of have_http_status
.
Defined Under Namespace
Classes: GenericStatus, NumericCode, SymbolicStatus
Class Method Summary (collapse)
-
+ (ActionDispatch::TestResponse) as_test_response(obj)
private
Conversion function to coerce the provided object into an
ActionDispatch::TestResponse
. -
+ (Object) matcher_for_status(target)
private
Instantiates an instance of the proper matcher based on the provided
target
.
Instance Method Summary (collapse)
-
- (String?) invalid_response_type_message
private
A formatted failure message if
@invalid_response
is present,nil
otherwise.
Class Method Details
+ (ActionDispatch::TestResponse) as_test_response(obj)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Conversion function to coerce the provided object into an
ActionDispatch::TestResponse
.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 35 def as_test_response(obj) if ::ActionDispatch::Response === obj ::ActionDispatch::TestResponse.from_response(obj) elsif ::ActionDispatch::TestResponse === obj obj elsif obj.respond_to?(:status_code) && obj.respond_to?(:response_headers) # Acts As Capybara Session # Hack to support `Capybara::Session` without having to load # Capybara or catch `NameError`s for the undefined constants ::ActionDispatch::TestResponse.new.tap do |resp| resp.status = obj.status_code resp.headers = obj.response_headers resp.body = obj.body end else raise TypeError, "Invalid response type: #{obj}" end end |
+ (Object) matcher_for_status(target)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Instantiates an instance of the proper matcher based on the provided
target
.
19 20 21 22 23 24 25 26 27 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 19 def self.matcher_for_status(target) if GenericStatus.valid_statuses.include?(target) GenericStatus.new(target) elsif Symbol === target SymbolicStatus.new(target) else NumericCode.new(target) end end |
Instance Method Details
- (String?) invalid_response_type_message
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a formatted failure message if
@invalid_response
is present, nil
otherwise
57 58 59 60 61 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 57 def return unless @invalid_response "expected a response object, but an instance of " \ "#{@invalid_response.class} was received" end |