lib/tapioca/compilers/dsl/action_mailer.rb in tapioca-0.4.27 vs lib/tapioca/compilers/dsl/action_mailer.rb in tapioca-0.5.0
- old
+ new
@@ -1,10 +1,8 @@
# typed: strict
# frozen_string_literal: true
-require "parlour"
-
begin
require "action_mailer"
rescue LoadError
return
end
@@ -36,29 +34,28 @@
# end
# ~~~
class ActionMailer < Base
extend T::Sig
- sig { override.params(root: Parlour::RbiGenerator::Namespace, constant: T.class_of(::ActionMailer::Base)).void }
+ sig { override.params(root: RBI::Tree, constant: T.class_of(::ActionMailer::Base)).void }
def decorate(root, constant)
- root.path(constant) do |mailer|
+ root.create_path(constant) do |mailer|
constant.action_methods.to_a.each do |mailer_method|
method_def = constant.instance_method(mailer_method)
- parameters = compile_method_parameters_to_parlour(method_def)
- create_method(
- mailer,
+ parameters = compile_method_parameters_to_rbi(method_def)
+ mailer.create_method(
mailer_method,
parameters: parameters,
- return_type: '::ActionMailer::MessageDelivery',
+ return_type: "::ActionMailer::MessageDelivery",
class_method: true
)
end
end
end
sig { override.returns(T::Enumerable[Module]) }
def gather_constants
- ::ActionMailer::Base.descendants.reject(&:abstract?)
+ descendants_of(::ActionMailer::Base).reject(&:abstract?)
end
end
end
end
end