Sha256: d98aef934a98e1ed44e85e5d7a1c141658845c762549ff7d01032ab69203c467

Contents?: true

Size: 717 Bytes

Versions: 7

Compression:

Stored size: 717 Bytes

Contents

# typed: strict

module CodeOwnership
  module Validator
    extend T::Sig
    extend T::Helpers

    interface!

    sig { abstract.params(files: T::Array[String], autocorrect: T::Boolean, stage_changes: T::Boolean).returns(T::Array[String]) }
    def validation_errors(files:, autocorrect: true, stage_changes: true); end

    class << self
      extend T::Sig

      sig { params(base: T::Class[Validator]).void }
      def included(base)
        @validators ||= T.let(@validators, T.nilable(T::Array[T::Class[Validator]]))
        @validators ||= []
        @validators << base
      end

      sig { returns(T::Array[Validator]) }
      def all
        (@validators || []).map(&:new)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
code_ownership-1.39.0 lib/code_ownership/validator.rb
code_ownership-1.38.3 lib/code_ownership/validator.rb
code_ownership-1.38.2 lib/code_ownership/validator.rb
code_ownership-1.38.1 lib/code_ownership/validator.rb
code_ownership-1.38.0 lib/code_ownership/validator.rb
code_ownership-1.37.0 lib/code_ownership/validator.rb
code_ownership-1.36.3 lib/code_ownership/validator.rb