Sha256: 829b06dc3a31cb400a274dddf1eecbe610baac0a3ef7ba010925f9cc30bfeaec

Contents?: true

Size: 698 Bytes

Versions: 3

Compression:

Stored size: 698 Bytes

Contents

# frozen_string_literal: true

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

module SpyAlleyApplication
  module Results
    module Nodes
      class ChooseNewSpyIdentityOptionNode < Dry::Struct
        @@can_handle_choose_new_spy_identity_option =
          ::Types.Interface(:handle_choose_new_spy_identity_option)
        attribute :options, ::Types::Array.of(SpyAlleyApplication::Types::Nationality)
          .constrained(size: 2)
          
        def accept(visitor, **args)
          @can_handle_choose_new_spy_identity_option.(visitor)
          visitor.handle_choose_new_spy_identity_option(self, args)
        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/results/nodes/choose_new_spy_identity_option_node.rb
spy_alley_application-0.3.1 lib/spy_alley_application/results/nodes/choose_new_spy_identity_option_node.rb
spy_alley_application-0.3.0 lib/spy_alley_application/results/nodes/choose_new_spy_identity_option_node.rb