Sha256: afe043ed10d8822a7b0992d2d75d3fa0b1e14d0a53da629bd14947ddc3be027c

Contents?: true

Size: 766 Bytes

Versions: 164

Compression:

Stored size: 766 Bytes

Contents

# frozen_string_literal: true
# typed: true

# Use as a mixin with extend (`extend T::Helpers`).
# Docs at https://confluence.corp.stripe.com/display/PRODINFRA/Ruby+Types
module T::Helpers
  Private = T::Private

  ### Class/Module Helpers ###

  def abstract!
    Private::Abstract::Declare.declare_abstract(self, type: :abstract)
  end

  def interface!
    Private::Abstract::Declare.declare_abstract(self, type: :interface)
  end

  # Causes a mixin to also mix in class methods from the named module.
  #
  # Nearly equivalent to
  #
  #  def self.included(other)
  #    other.extend(mod)
  #  end
  #
  # Except that it is statically analyzed by sorbet.
  def mixes_in_class_methods(mod)
    Private::Mixins.declare_mixes_in_class_methods(self, mod)
  end
end

Version data entries

164 entries across 164 versions & 1 rubygems

Version Path
sorbet-runtime-0.4.4446 lib/types/helpers.rb
sorbet-runtime-0.4.4445 lib/types/helpers.rb
sorbet-runtime-0.4.4443 lib/types/helpers.rb
sorbet-runtime-0.4.4442 lib/types/helpers.rb
sorbet-runtime-0.4.4440 lib/types/helpers.rb
sorbet-runtime-0.4.4439 lib/types/helpers.rb
sorbet-runtime-0.4.4438 lib/types/helpers.rb
sorbet-runtime-0.4.4437 lib/types/helpers.rb
sorbet-runtime-0.4.4436 lib/types/helpers.rb
sorbet-runtime-0.4.4435 lib/types/helpers.rb
sorbet-runtime-0.4.4433 lib/types/helpers.rb
sorbet-runtime-0.4.4432 lib/types/helpers.rb
sorbet-runtime-0.4.4429 lib/types/helpers.rb
sorbet-runtime-0.4.4428 lib/types/helpers.rb
sorbet-runtime-0.4.4427 lib/types/helpers.rb
sorbet-runtime-0.4.4426 lib/types/helpers.rb
sorbet-runtime-0.4.4425 lib/types/helpers.rb
sorbet-runtime-0.4.4423 lib/types/helpers.rb
sorbet-runtime-0.4.4422 lib/types/helpers.rb
sorbet-runtime-0.4.4421 lib/types/helpers.rb