Class: SimpleJsonapi::Rails::ActionController::RequestValidator
- Inherits:
-
Object
- Object
- SimpleJsonapi::Rails::ActionController::RequestValidator
- Defined in:
- lib/simple_jsonapi/rails/action_controller/request_validator.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
-
#initialize(request, params) ⇒ RequestValidator
constructor
A new instance of RequestValidator.
- #valid_accept_header? ⇒ Boolean
- #valid_content_type_header? ⇒ Boolean
- #valid_relationship_body? ⇒ Boolean
- #valid_request_body? ⇒ Boolean
Constructor Details
#initialize(request, params) ⇒ RequestValidator
Returns a new instance of RequestValidator.
9 10 11 12 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 9 def initialize(request, params) @request = request @params = params end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
5 6 7 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 5 def params @params end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 5 def request @request end |
Instance Method Details
#valid_accept_header? ⇒ Boolean
18 19 20 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 18 def valid_accept_header? request_accept.blank? || request_accept == SimpleJsonapi::MIME_TYPE end |
#valid_content_type_header? ⇒ Boolean
14 15 16 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 14 def valid_content_type_header? !request_has_body? || request_content_type == SimpleJsonapi::MIME_TYPE end |
#valid_relationship_body? ⇒ Boolean
28 29 30 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 28 def valid_relationship_body? request_path.exclude?("relationships") || params["data"]&.is_a?(Array) end |
#valid_request_body? ⇒ Boolean
22 23 24 25 26 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 22 def valid_request_body? return true unless request_has_body? params["data"].present? && valid_relationship_body? end |