module Renderror::Validate

Constants

PERMITTED_VALIDATIONS

Public Instance Methods

id_matches?() click to toggle source
# File lib/renderror/validate.rb, line 33
def id_matches?
  params.dig(:data, :id) == params[:id]
end
jsonapi_type() click to toggle source

This can be overwritten on a per-controller basis if the type name doesn't match the controller name

# File lib/renderror/validate.rb, line 22
def jsonapi_type
  controller_name.dasherize
end
type_matches?() click to toggle source
# File lib/renderror/validate.rb, line 16
def type_matches?
  params['data'].try(:[], 'type') == jsonapi_type
end
validate_jsonapi_id() click to toggle source
# File lib/renderror/validate.rb, line 26
def validate_jsonapi_id
  return unless params['data'].present?
  return if id_matches?

  raise Renderror::Conflict.new(detail: 'Incorrect resource ID')
end
validate_jsonapi_type() click to toggle source
# File lib/renderror/validate.rb, line 10
def validate_jsonapi_type
  return unless params['data'].present?

  raise Renderror::Conflict unless type_matches?
end