Sha256: 8d6067f53c361e79ee1841b49a5dc3e3ede6c4a999ef65e2fed89cefed41ee75

Contents?: true

Size: 1.6 KB

Versions: 5

Compression:

Stored size: 1.6 KB

Contents

# typed: strict
# frozen_string_literal: true

require "sorbet-runtime"

module Tapioca
  extend T::Sig

  sig do
    type_parameters(:Result)
      .params(blk: T.proc.returns(T.type_parameter(:Result)))
      .returns(T.type_parameter(:Result))
  end
  def self.silence_warnings(&blk)
    original_verbosity = $VERBOSE
    $VERBOSE = nil
    Gem::DefaultUserInteraction.use_ui(Gem::SilentUI.new) do
      blk.call
    end
  ensure
    $VERBOSE = original_verbosity
  end

  class Error < StandardError; end

  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)

  DEFAULT_COMMAND = 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_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])
end

require "tapioca/reflection"
require "tapioca/trackers"
require "tapioca/compilers/dsl/base"
require "tapioca/compilers/dynamic_mixin_compiler"
require "tapioca/helpers/active_record_column_type_helper"
require "tapioca/version"

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tapioca-0.6.4 lib/tapioca.rb
tapioca-0.6.3 lib/tapioca.rb
tapioca-0.6.2 lib/tapioca.rb
tapioca-0.6.1 lib/tapioca.rb
tapioca-0.6.0 lib/tapioca.rb