Sha256: 90f8618b8f5375a7fad72322f7578e7795f0d45a6554bc770cae5e83242e5c1c

Contents?: true

Size: 718 Bytes

Versions: 3

Compression:

Stored size: 718 Bytes

Contents

require 'dry-initializer'
require 'spy_alley_application/types/nationality'
require 'spy_alley_application/validator/make_accusation'

module SpyAlleyApplication
  module Validator
    class ConfiscateMaterials
      class ValidateTargetPlayerId < Dry::Validation::Contract
        option :target_player_id_list, type: ::Types::ArrayOfStrictInteger
        
        params do
          required(:target_player_id).filled(::Types::Coercible::Integer)
        end

        rule(:target_player_id) do
          if !target_player_id_list.include?(values[:target_player_id])
            key.failure({text: "'#{values[:target_player_id]}' not allowable", status: 422})
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spy_alley_application-0.3.2 lib/spy_alley_application/validator/confiscate_materials/validate_target_player_id.rb
spy_alley_application-0.3.1 lib/spy_alley_application/validator/confiscate_materials/validate_target_player_id.rb
spy_alley_application-0.3.0 lib/spy_alley_application/validator/confiscate_materials/validate_target_player_id.rb