Sha256: eab2b230b62e9fb15ccf3c8829f6c5f007808dfa8bdaf8b5e8a66963b97895de

Contents?: true

Size: 1.36 KB

Versions: 17

Compression:

Stored size: 1.36 KB

Contents

# typed: strict
# frozen_string_literal: true

module Tapioca
  class Config < T::Struct
    extend(T::Sig)

    const(:outdir, String)
    const(:prerequire, T.nilable(String))
    const(:postrequire, String)
    const(:generate_command, String)
    const(:exclude, T::Array[String])
    const(:typed_overrides, T::Hash[String, String])
    const(:todos_path, String)
    const(:generators, T::Array[String])

    sig { returns(Pathname) }
    def outpath
      @outpath = T.let(@outpath, T.nilable(Pathname))
      @outpath ||= Pathname.new(outdir)
    end

    private_class_method :new

    SORBET_PATH = T.let("sorbet", String)
    SORBET_CONFIG = T.let("#{SORBET_PATH}/config", String)
    TAPIOCA_PATH = T.let("#{SORBET_PATH}/tapioca", String)
    TAPIOCA_CONFIG = T.let("#{TAPIOCA_PATH}/config.yml", String)

    DEFAULT_POSTREQUIRE = T.let("#{TAPIOCA_PATH}/require.rb", String)
    DEFAULT_RBIDIR = T.let("#{SORBET_PATH}/rbi", String)
    DEFAULT_DSLDIR = T.let("#{DEFAULT_RBIDIR}/dsl", String)
    DEFAULT_GEMDIR = T.let("#{DEFAULT_RBIDIR}/gems", String)
    DEFAULT_TODOSPATH = T.let("#{DEFAULT_RBIDIR}/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
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
tapioca-0.4.17 lib/tapioca/config.rb
tapioca-0.4.16 lib/tapioca/config.rb
tapioca-0.4.15 lib/tapioca/config.rb
tapioca-0.4.14 lib/tapioca/config.rb
tapioca-0.4.13 lib/tapioca/config.rb
tapioca-0.4.12 lib/tapioca/config.rb
tapioca-0.4.11 lib/tapioca/config.rb
tapioca-0.4.10 lib/tapioca/config.rb
tapioca-0.4.9 lib/tapioca/config.rb
tapioca-0.4.8 lib/tapioca/config.rb
tapioca-0.4.7 lib/tapioca/config.rb
tapioca-0.4.6 lib/tapioca/config.rb
tapioca-0.4.5 lib/tapioca/config.rb
tapioca-0.4.4 lib/tapioca/config.rb
tapioca-0.4.3 lib/tapioca/config.rb
tapioca-0.4.2 lib/tapioca/config.rb
tapioca-0.4.1 lib/tapioca/config.rb