Sha256: 77b81a1b5805d34ae8518ec29633f5178239ad23b124d263c8609ffa029ab5f9

Contents?: true

Size: 633 Bytes

Versions: 1

Compression:

Stored size: 633 Bytes

Contents

module UseCase

  class Validator < ValidatorBase

    include UseCaseValidations

    def perform
      targets = [*target]

      if target.nil?
        all_validations_green = false

      elsif targets.empty?
        all_validations_green = true

      else
        all_validations_green = targets.map do |object_to_validate|
          if Helpers._marked_for_destruction?(object_to_validate)
            true
          else
            valid?(object_to_validate)
          end
        end.all?
      end

      call_failure(:unprocessable_entity, self.class.to_s.downcase.to_sym) unless all_validations_green
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
usecasing_validations-0.5.5 lib/usecasing/validator.rb