Sha256: 7b1a401b0e162cf2f1f22020bf16689cf746e5b477ecb1d5471fcf54e16e5539

Contents?: true

Size: 1.17 KB

Versions: 25

Compression:

Stored size: 1.17 KB

Contents

# typed: strict
# frozen_string_literal: true

module Tapioca
  class RBIFormatter < RBI::Formatter
    extend T::Sig

    sig do
      params(
        file: RBI::File,
        command: String,
        reason: T.nilable(String),
      ).void
    end
    def write_header!(file, command, reason: nil)
      file.comments << RBI::Comment.new("DO NOT EDIT MANUALLY")
      file.comments << RBI::Comment.new("This is an autogenerated file for #{reason}.") unless reason.nil?
      file.comments << RBI::Comment.new("Please instead update this file by running `#{command}`.")
    end

    sig { params(file: RBI::File).void }
    def write_empty_body_comment!(file)
      file.comments << RBI::BlankLine.new unless file.comments.empty?
      file.comments << RBI::Comment.new("THIS IS AN EMPTY RBI FILE.")
      file.comments << RBI::Comment.new("see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem")
    end
  end

  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,
  )
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
tapioca-0.13.3 lib/tapioca/rbi_formatter.rb
tapioca-0.13.2 lib/tapioca/rbi_formatter.rb
tapioca-0.13.1 lib/tapioca/rbi_formatter.rb
tapioca-0.13.0 lib/tapioca/rbi_formatter.rb
tapioca-0.12.0 lib/tapioca/rbi_formatter.rb
tapioca-0.11.17 lib/tapioca/rbi_formatter.rb
tapioca-0.11.16 lib/tapioca/rbi_formatter.rb
tapioca-0.11.15 lib/tapioca/rbi_formatter.rb
tapioca-0.11.14 lib/tapioca/rbi_formatter.rb
tapioca-0.11.13 lib/tapioca/rbi_formatter.rb
tapioca-0.11.12 lib/tapioca/rbi_formatter.rb
tapioca-0.11.11 lib/tapioca/rbi_formatter.rb
tapioca-0.11.10 lib/tapioca/rbi_formatter.rb
tapioca-0.11.9 lib/tapioca/rbi_formatter.rb
tapioca-0.11.8 lib/tapioca/rbi_formatter.rb
tapioca-0.11.7 lib/tapioca/rbi_formatter.rb
tapioca-0.11.6 lib/tapioca/rbi_formatter.rb
tapioca-0.11.5 lib/tapioca/rbi_formatter.rb
tapioca-0.11.4 lib/tapioca/rbi_formatter.rb
tapioca-0.11.3 lib/tapioca/rbi_formatter.rb