lib/pay.rb in pay-4.0.0 vs lib/pay.rb in pay-4.0.1
- old
+ new
@@ -1,10 +1,12 @@
require "pay/version"
require "pay/engine"
require "pay/errors"
require "pay/adapter"
+require "active_support/dependencies"
+
module Pay
autoload :Attributes, "pay/attributes"
autoload :Env, "pay/env"
autoload :NanoId, "pay/nano_id"
autoload :Payment, "pay/payment"
@@ -57,9 +59,23 @@
@@emails.refund = true
# This only applies to Stripe, therefor we supply the second argument of price
@@emails.subscription_renewing = ->(pay_subscription, price) {
(price&.type == "recurring") && (price.recurring&.interval == "year")
}
+
+ @@mailer = "Pay::UserMailer"
+
+ def self.mailer=(value)
+ @@mailer = value
+ @@mailer_ref = nil
+ end
+
+ def self.mailer
+ @@mailer_ref ||= @@mailer&.constantize
+ end
+
+ mattr_accessor :parent_mailer
+ @@parent_mailer = "Pay::ApplicationMailer"
def self.setup
yield self
end