Module: Tapioca

Extended by:
T::Sig
Defined in:
lib/tapioca/cli.rb,
lib/tapioca.rb,
lib/tapioca/gemfile.rb,
lib/tapioca/version.rb,
lib/tapioca/commands.rb,
lib/tapioca/executor.rb,
lib/tapioca/gem/events.rb,
lib/tapioca/repo_index.rb,
lib/tapioca/loaders/dsl.rb,
lib/tapioca/loaders/gem.rb,
lib/tapioca/commands/dsl.rb,
lib/tapioca/commands/gem.rb,
lib/tapioca/dsl/compiler.rb,
lib/tapioca/dsl/pipeline.rb,
lib/tapioca/gem/pipeline.rb,
lib/tapioca/commands/todo.rb,
lib/tapioca/dsl/compilers.rb,
lib/tapioca/rbi_formatter.rb,
lib/tapioca/loaders/loader.rb,
lib/tapioca/commands/command.rb,
lib/tapioca/commands/require.rb,
lib/tapioca/runtime/trackers.rb,
lib/tapioca/commands/configure.rb,
lib/tapioca/dsl/compilers/aasm.rb,
lib/tapioca/gem/listeners/base.rb,
lib/tapioca/helpers/cli_helper.rb,
lib/tapioca/helpers/env_helper.rb,
lib/tapioca/helpers/gem_helper.rb,
lib/tapioca/helpers/rbi_helper.rb,
lib/tapioca/runtime/reflection.rb,
lib/tapioca/commands/annotations.rb,
lib/tapioca/commands/check_shims.rb,
lib/tapioca/dsl/compilers/config.rb,
lib/tapioca/dsl/compilers/kredis.rb,
lib/tapioca/gem/listeners/mixins.rb,
lib/tapioca/helpers/test/content.rb,
lib/tapioca/static/symbol_loader.rb,
lib/tapioca/dsl/extensions/kredis.rb,
lib/tapioca/gem/listeners/methods.rb,
lib/tapioca/helpers/config_helper.rb,
lib/tapioca/helpers/sorbet_helper.rb,
lib/tapioca/helpers/test/template.rb,
lib/tapioca/dsl/compilers/protobuf.rb,
lib/tapioca/gem/listeners/yard_doc.rb,
lib/tapioca/helpers/test/isolation.rb,
lib/tapioca/runtime/trackers/mixin.rb,
lib/tapioca/dsl/compilers/active_job.rb,
lib/tapioca/helpers/rbi_files_helper.rb,
lib/tapioca/runtime/trackers/tracker.rb,
lib/tapioca/static/requires_compiler.rb,
lib/tapioca/dsl/compilers/url_helpers.rb,
lib/tapioca/helpers/test/dsl_compiler.rb,
lib/tapioca/runtime/trackers/autoload.rb,
lib/tapioca/gem/listeners/sorbet_enums.rb,
lib/tapioca/gem/listeners/sorbet_props.rb,
lib/tapioca/gem/listeners/subconstants.rb,
lib/tapioca/static/symbol_table_parser.rb,
lib/tapioca/dsl/compilers/action_mailer.rb,
lib/tapioca/dsl/compilers/frozen_record.rb,
lib/tapioca/dsl/compilers/active_storage.rb,
lib/tapioca/dsl/compilers/identity_cache.rb,
lib/tapioca/dsl/compilers/sidekiq_worker.rb,
lib/tapioca/dsl/compilers/state_machines.rb,
lib/tapioca/dsl/extensions/active_record.rb,
lib/tapioca/dsl/extensions/frozen_record.rb,
lib/tapioca/gem/listeners/dynamic_mixins.rb,
lib/tapioca/gem/listeners/sorbet_helpers.rb,
lib/tapioca/runtime/attached_class_of_32.rb,
lib/tapioca/dsl/compilers/active_resource.rb,
lib/tapioca/gem/listeners/source_location.rb,
lib/tapioca/runtime/generic_type_registry.rb,
lib/tapioca/sorbet_ext/generic_name_patch.rb,
lib/tapioca/dsl/compilers/graphql_mutation.rb,
lib/tapioca/dsl/compilers/rails_generators.rb,
lib/tapioca/dsl/compilers/smart_properties.rb,
lib/tapioca/runtime/dynamic_mixin_compiler.rb,
lib/tapioca/dsl/helpers/graphql_type_helper.rb,
lib/tapioca/gem/listeners/foreign_constants.rb,
lib/tapioca/gem/listeners/sorbet_signatures.rb,
lib/tapioca/commands/command_without_tracker.rb,
lib/tapioca/dsl/compilers/active_record_enum.rb,
lib/tapioca/runtime/attached_class_of_legacy.rb,
lib/tapioca/dsl/compilers/active_record_scope.rb,
lib/tapioca/dsl/compilers/graphql_input_object.rb,
lib/tapioca/runtime/trackers/required_ancestor.rb,
lib/tapioca/dsl/compilers/active_record_columns.rb,
lib/tapioca/gem/listeners/sorbet_type_variables.rb,
lib/tapioca/dsl/compilers/active_record_fixtures.rb,
lib/tapioca/dsl/compilers/active_support_concern.rb,
lib/tapioca/runtime/trackers/constant_definition.rb,
lib/tapioca/dsl/compilers/active_model_attributes.rb,
lib/tapioca/dsl/compilers/active_record_relations.rb,
lib/tapioca/dsl/compilers/action_controller_helpers.rb,
lib/tapioca/dsl/compilers/active_record_typed_store.rb,
lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb,
lib/tapioca/gem/listeners/sorbet_required_ancestors.rb,
lib/tapioca/dsl/compilers/active_record_associations.rb,
lib/tapioca/dsl/compilers/active_record_secure_token.rb,
lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb,
lib/tapioca/dsl/compilers/active_model_secure_password.rb,
lib/tapioca/dsl/helpers/active_record_constants_helper.rb,
lib/tapioca/dsl/compilers/active_record_delegated_types.rb,
lib/tapioca/dsl/helpers/active_record_column_type_helper.rb,
lib/tapioca/dsl/compilers/active_support_current_attributes.rb

Overview

typed: strict frozen_string_literal: true

Defined Under Namespace

Modules: CliHelper, Commands, ConfigHelper, Dsl, EnvHelper, Gem, GemHelper, Helpers, Loaders, RBIFilesHelper, RBIHelper, Runtime, SorbetHelper, Static Classes: Cli, Error, Executor, Gemfile, RBIFormatter, RepoIndex, TypeVariable, TypeVariableModule

Constant Summary collapse

SORBET_DIR =
T.let("sorbet", String)
SORBET_CONFIG_FILE =
T.let("#{SORBET_DIR}/config", String)
TAPIOCA_DIR =
T.let("#{SORBET_DIR}/tapioca", String)
TAPIOCA_CONFIG_FILE =
T.let("#{TAPIOCA_DIR}/config.yml", String)
BINARY_FILE =
T.let("bin/tapioca", String)
DEFAULT_POSTREQUIRE_FILE =
T.let("#{TAPIOCA_DIR}/require.rb", String)
DEFAULT_RBI_DIR =
T.let("#{SORBET_DIR}/rbi", String)
DEFAULT_DSL_DIR =
T.let("#{DEFAULT_RBI_DIR}/dsl", String)
DEFAULT_GEM_DIR =
T.let("#{DEFAULT_RBI_DIR}/gems", String)
DEFAULT_SHIM_DIR =
T.let("#{DEFAULT_RBI_DIR}/shims", String)
DEFAULT_TODO_FILE =
T.let("#{DEFAULT_RBI_DIR}/todo.rbi", String)
DEFAULT_ANNOTATIONS_DIR =
T.let("#{DEFAULT_RBI_DIR}/annotations", String)
DEFAULT_OVERRIDES =
T.let(
  {
    # ActiveSupport overrides some core methods with different signatures
    # so we generate a typed: false RBI for it to suppress errors
    "activesupport" => "false",
  }.freeze,
  T::Hash[String, String],
)
DEFAULT_RBI_MAX_LINE_LENGTH =
120
DEFAULT_ENVIRONMENT =
"development"
CENTRAL_REPO_ROOT_URI =
"https://raw.githubusercontent.com/Shopify/rbi-central/main"
CENTRAL_REPO_INDEX_PATH =
"index.json"
CENTRAL_REPO_ANNOTATIONS_DIR =
"rbi/annotations"
VERSION =
"0.11.3"
DEFAULT_RBI_FORMATTER =
T.let(
  RBIFormatter.new(
    add_sig_templates: false,
    group_nodes: true,
    max_line_length: nil,
    nest_singleton_methods: true,
    nest_non_public_methods: true,
    sort_nodes: true,
  ),
  RBIFormatter,
)

Class Method Summary collapse

Class Method Details

.silence_warnings(&blk) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/tapioca.rb', line 19

def silence_warnings(&blk)
  original_verbosity = $VERBOSE
  $VERBOSE = nil
  ::Gem::DefaultUserInteraction.use_ui(::Gem::SilentUI.new) do
    blk.call
  end
ensure
  $VERBOSE = original_verbosity
end