Sha256: 262db904525daf74e17843a21408461f8e5fe4e6ccab0b1603d109d7ab8e3cb4
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
# typed: strict # frozen_string_literal: true module Packwerk module Commands extend T::Sig extend ActiveSupport::Autoload autoload :BaseCommand autoload :CheckCommand autoload :HelpCommand autoload :InitCommand autoload :LazyLoadedEntry autoload :UpdateTodoCommand autoload :UsesParseRun autoload :ValidateCommand autoload :VersionCommand class << self extend T::Sig sig { params(name: String, aliases: T::Array[String]).void } def register(name, aliases: []) registry << LazyLoadedEntry.new(name, aliases: aliases) end sig { params(name_or_alias: String).returns(T.nilable(T.class_of(BaseCommand))) } def for(name_or_alias) registry .find { |command| command.matches_command?(name_or_alias) } &.command_class end sig { returns(T::Array[LazyLoadedEntry]) } def all registry.dup end private sig { returns(T::Array[LazyLoadedEntry]) } def registry @registry ||= T.let([], T.nilable(T::Array[LazyLoadedEntry])) end end register("init") register("check") register("update-todo", aliases: ["update"]) register("validate") register("version") register("help") end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
packwerk-3.2.2 | lib/packwerk/commands.rb |
packwerk-3.2.1 | lib/packwerk/commands.rb |
packwerk-3.2.0 | lib/packwerk/commands.rb |
packwerk-3.1.0 | lib/packwerk/commands.rb |