Sha256: 26bb2e40c18802138329b22c19961f0ade6e3b306e997154ceb9ec389f2c3dca

Contents?: true

Size: 862 Bytes

Versions: 3

Compression:

Stored size: 862 Bytes

Contents

# frozen string literal: true

require 'dry-struct'
require 'game_validator/validator/validate_to_action'
require 'spy_alley_application/types/nationality'
require 'spy_alley_application/validator/use_move_card'

module SpyAlleyApplication
  module Models
    module Validator
      class UsingMoveCard < Dry::Struct
        attribute :name, ::Types.Value('use_move_card')
        attribute :card_list, ::Types::ArrayOfStrictInteger
        attribute :wrap_result, ::Types::Callable

        def build(options={})
          @validate_to_action ||= GameValidator::Validator::ValidateToAction::new(
            validate: validate,
            wrap: wrap_result)
          @validate_to_action
        end

        private
        def validate
          SpyAlleyApplication::Validator::UseMoveCard::new(card_list: card_list)
        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/models/validator/using_move_card.rb
spy_alley_application-0.3.1 lib/spy_alley_application/models/validator/using_move_card.rb
spy_alley_application-0.3.0 lib/spy_alley_application/models/validator/using_move_card.rb