class Praxis::RequestStages::ValidatePayload
Attributes
parent[R]
Public Class Methods
new(name, context, parent:)
click to toggle source
Calls superclass method
# File lib/praxis/request_stages/validate_payload.rb, line 8 def initialize(name, context, parent:) super @parent = parent end
Public Instance Methods
execute()
click to toggle source
# File lib/praxis/request_stages/validate_payload.rb, line 17 def execute if request.action.payload begin request.load_payload(CONTEXT_FOR[:payload]) rescue => e message = "Error loading payload. Used Content-Type: '#{request.content_type}'" return validation_handler.handle!( exception: e, summary: message, request: request, stage: name ) end Attributor::AttributeResolver.current.register("payload",request.payload) errors = request.validate_payload(CONTEXT_FOR[:payload]) if errors.any? return validation_handler.handle!( summary: "Errors validating payload data", errors: errors, request: request, stage: name ) end end end
path()
click to toggle source
# File lib/praxis/request_stages/validate_payload.rb, line 13 def path @_path ||= ( @parent.path + [name] ) end