class Pay::FakeProcessor::Subscription
Attributes
pay_subscription[R]
Public Class Methods
new(pay_subscription)
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 18 def initialize(pay_subscription) @pay_subscription = pay_subscription end
Public Instance Methods
cancel()
click to toggle source
With trial, sets end to trial end (mimicing Stripe
) Without trial, sets can ends_at to end of month
# File lib/pay/fake_processor/subscription.rb, line 28 def cancel if pay_subscription.on_trial? pay_subscription.update(ends_at: pay_subscription.trial_ends_at) else pay_subscription.update(ends_at: Time.current.end_of_month) end end
cancel_now!()
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 36 def cancel_now! pay_subscription.update(ends_at: Time.current, status: :canceled) end
on_grace_period?()
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 40 def on_grace_period? canceled? && Time.current < ends_at end
pause()
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 48 def pause pay_subscription.update(status: :paused, trial_ends_at: Time.current) end
paused?()
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 44 def paused? pay_subscription.status == "paused" end
resume()
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 52 def resume unless on_grace_period? || paused? raise StandardError, "You can only resume subscriptions within their grace period." end end
subscription(**options)
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 22 def subscription(**options) pay_subscription end
swap(plan)
click to toggle source
# File lib/pay/fake_processor/subscription.rb, line 58 def swap(plan) end