Sha256: 1a26d113cba4bfb15e5b7907dfde99b61ce1b1efb284d6fbfa1a4c9837c188a9

Contents?: true

Size: 663 Bytes

Versions: 3

Compression:

Stored size: 663 Bytes

Contents

module Praxis
  module RequestStages

    class ValidatePayload < RequestStage

      attr_reader :parent

      def initialize(name, context, parent:)
        super
        @parent = parent
      end

      def path
        @parent.path + [name]
      end

      def execute
        if request.action.payload
          request.load_payload(CONTEXT_FOR[:payload])
          Attributor::AttributeResolver.current.register("payload",request.payload)

          errors = request.validate_payload(CONTEXT_FOR[:payload])
          if errors.any?
            return Responses::ValidationError.new(errors: errors)
          end
        end
      end

    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
praxis-0.10.1 lib/praxis/request_stages/validate_payload.rb
praxis-0.10.0 lib/praxis/request_stages/validate_payload.rb
praxis-0.9 lib/praxis/request_stages/validate_payload.rb