Sha256: e6744e365523159fa709c72f37be0e9c7d973c69e0372ebe5f6f5ded48a5f4dc

Contents?: true

Size: 626 Bytes

Versions: 3

Compression:

Stored size: 626 Bytes

Contents

# frozen string_literal: true

require 'dry-struct'
require 'spy_alley_application/types/board_space'

module SpyAlleyApplication
  module Models
    module BoardSpaces
      class SpyEliminator < Dry::Struct
        @@can_handle_spy_eliminator = ::Types.Interface(:handle_spy_eliminator)
        attribute :id, ::Types::Coercible::Integer
        attribute :next_space, ::SpyAlleyApplication::Types::BoardSpace

        def accept(visitor, **args)
          @@can_handle_spy_eliminator.(visitor)
          visitor.handle_spy_eliminator(self, args)
        end

        def in_spy_alley?;true;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/board_spaces/spy_eliminator.rb
spy_alley_application-0.3.1 lib/spy_alley_application/models/board_spaces/spy_eliminator.rb
spy_alley_application-0.3.0 lib/spy_alley_application/models/board_spaces/spy_eliminator.rb