Sha256: d6bac35381b3cd2d65b7140cf3384f01455ba7b383a9b35d621b637bf1de7fc1

Contents?: true

Size: 772 Bytes

Versions: 7

Compression:

Stored size: 772 Bytes

Contents

module Foobara
  module TypeDeclarations
    class TypeDeclarationHandlerRegistry < Value::Processor::Selection
      class << self
        def foobara_manifest(to_include: Set.new)
          # :nocov:
          super.merge(processor_type: :type_declaration_handler_registry)
          # :nocov:
        end
      end

      def initialize
        super(enforce_unique: false)
      end

      def type_declaration_handler_for_handler_class(type_declaration_handler_class)
        processors.find do |type_declaration_handler|
          type_declaration_handler.instance_of?(type_declaration_handler_class)
        end
      end

      alias type_declaration_handler_for processor_for!
      alias handlers processors
      alias type_for process_value!
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
foobara-0.0.27 projects/type_declarations/src/type_declaration_handler_registry.rb
foobara-0.0.26 projects/type_declarations/src/type_declaration_handler_registry.rb
foobara-0.0.25 projects/type_declarations/src/type_declaration_handler_registry.rb
foobara-0.0.24 projects/type_declarations/src/type_declaration_handler_registry.rb
foobara-0.0.23 projects/type_declarations/src/type_declaration_handler_registry.rb
foobara-0.0.22 projects/type_declarations/src/type_declaration_handler_registry.rb
foobara-0.0.21 projects/type_declarations/src/type_declaration_handler_registry.rb