Sha256: 9369f2334d2ddf6814f290e65d6cd4d30f244a4a79828013a19c4cfefabb6cbd
Contents?: true
Size: 947 Bytes
Versions: 3
Compression:
Stored size: 947 Bytes
Contents
# frozen string literal: true require 'dry-struct' require 'spy_alley_application/models/game_state/start_of_turn' require 'spy_alley_application/models/game_state/spy_eliminator' module SpyAlleyApplication module Models module GameState class ChooseNewSpyIdentity < Dry::Struct new_spy_identity_type = ::Types::Array::of(SpyAlleyApplication::Types::Nationality) .constrained(size: 2) @@can_handle_choose_new_spy_identity = ::Types.Interface(:handle_choose_new_spy_identity) attribute :name, ::Types::Value('choose_new_spy_identity') attribute :seat, ::Types::Coercible::Integer attribute :options, new_spy_identity_type attribute :parent, StartOfTurn | SpyEliminator def accept(visitor, **args) @@can_handle_choose_new_spy_identity.(visitor) visitor.handle_choose_new_spy_identity(self, args) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems