class Tapioca::Dsl::Compilers::ActiveJob

def decorate

: -> void
@override
def decorate
  return unless constant.instance_methods(false).include?(:perform)
  root.create_path(constant) do |job|
    method = constant.instance_method(:perform)
    constant_name = name_of(constant)
    parameters = compile_method_parameters_to_rbi(method)
    return_type = compile_method_return_type_to_rbi(method)
    job.create_method(
      "perform_later",
      parameters: perform_later_parameters(parameters, constant_name),
      return_type: "T.any(#{constant_name}, FalseClass)",
      class_method: true,
    )
    job.create_method(
      "perform_now",
      parameters: parameters,
      return_type: return_type,
      class_method: true,
    )
  end
end