Skip to Content Skip to Search
Methods
N
P

Attributes

[R] failed_payment
[R] last_subscription
[R] member
[R] plan
[R] purchaser
[R] recovery_method
[R] site
[R] subscriptions

Class Public methods

new(member, args = {})

# File engines/member/app/actions/member/plan_resubscriber.rb, line 6
def initialize(member, args = {})
  @member = member
  @recovery_method = args.fetch(:method)
  @subscriptions = member.subscriptions
  @last_subscription = subscriptions.last
  @failed_payment = member.failed_payments.where(subscription: last_subscription).last
  @plan = last_subscription&.plan
  @site = plan&.site
  @purchaser = init_purchaser
end

Instance Public methods

process()

# File engines/member/app/actions/member/plan_resubscriber.rb, line 17
def process
  return unless needs_resubscribing?

  if purchaser.purchase!
    updated_failed_payment
  end
end