class RuboCop::Cop::Sorbet::EnforceSignatures::SigSuggestion

Attributes

params[RW]
returns[RW]

Public Class Methods

new(indent, param_placeholder, return_placeholder) click to toggle source
# File lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb, line 104
def initialize(indent, param_placeholder, return_placeholder)
  @params = []
  @returns = nil
  @indent = indent
  @param_placeholder = param_placeholder
  @return_placeholder = return_placeholder
end

Public Instance Methods

to_autocorrect() click to toggle source
# File lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb, line 112
def to_autocorrect
  out = StringIO.new
  out << 'sig { '
  out << generate_params
  out << generate_return
  out << " }\n"
  out << ' ' * @indent # preserve indent for the next line
  out.string
end

Private Instance Methods

generate_params() click to toggle source
# File lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb, line 124
def generate_params
  return if @params.empty?
  out = StringIO.new
  out << 'params('
  out << @params.map do |param|
    "#{param}: #{@param_placeholder}"
  end.join(", ")
  out << ').'
  out.string
end
generate_return() click to toggle source
# File lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb, line 135
def generate_return
  return "returns(#{@return_placeholder})" if @returns.nil?
  return @returns if @returns == 'void'
  "returns(#{@returns})"
end