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
22 23 24 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 22 def valid_accept_header? request_accept.blank? || request_accept == SimpleJsonapi::MIME_TYPE end |
#valid_content_type_header? ⇒ Boolean
14 15 16 17 18 19 20 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 14 def valid_content_type_header? if request.respond_to?(:media_type) !request_has_body? || request_media_type == SimpleJsonapi::MIME_TYPE else !request_has_body? || request_content_type == SimpleJsonapi::MIME_TYPE end end |
#valid_relationship_body? ⇒ Boolean
32 33 34 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 32 def valid_relationship_body? request_path.exclude?("relationships") || params["data"]&.is_a?(Array) end |
#valid_request_body? ⇒ Boolean
26 27 28 29 30 |
# File 'lib/simple_jsonapi/rails/action_controller/request_validator.rb', line 26 def valid_request_body? return true unless request_has_body? params["data"].present? && valid_relationship_body? end |