Sha256: 98832b61f1415ff0c82d80a30edb7bb9f4ff2d18002630792eb67b8adde13455

Contents?: true

Size: 859 Bytes

Versions: 7

Compression:

Stored size: 859 Bytes

Contents

module Foobara
  class CommandRegistry
    class ExposedDomain
      foobara_instances_are_namespaces!

      include TruncatedInspect
      include IsManifestable

      attr_accessor :domain_module

      def initialize(domain_module)
        self.domain_module = domain_module
        self.scoped_path = domain_module.scoped_path
      end

      # TODO: unable to address types here so it is handled as a hack higher up...
      def foobara_manifest(to_include: Set.new)
        domain_manifest = domain_module.foobara_manifest(to_include: Set.new)
        mode = Foobara::Namespace::LookupMode::DIRECT
        commands = foobara_all_command(mode:).map(&:foobara_manifest_reference).sort

        domain_manifest.merge(commands:)
      end

      def foobara_manifest_reference
        domain_module.foobara_manifest_reference
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
foobara-0.0.27 projects/command_connectors/src/command_registry/exposed_domain.rb
foobara-0.0.26 projects/command_connectors/src/command_registry/exposed_domain.rb
foobara-0.0.25 projects/command_connectors/src/command_registry/exposed_domain.rb
foobara-0.0.24 projects/command_connectors/src/command_registry/exposed_domain.rb
foobara-0.0.23 projects/command_connectors/src/command_registry/exposed_domain.rb
foobara-0.0.22 projects/command_connectors/src/command_registry/exposed_domain.rb
foobara-0.0.21 projects/command_connectors/src/command_registry/exposed_domain.rb