- A
- C
- E
- G
- I
- S
- T
- U
Instance Public methods
canceled?() Link
Source: show
# File app/models/db/planning.rb, line 110 def canceled? cancels_on.present? && cancels_on <= Time.current end
canceling?() Link
Source: show
# File app/models/db/planning.rb, line 114 def canceling? cancels_on.present? && cancels_on > Time.current end
cancels_on() Link
Source: show
# File app/models/db/planning.rb, line 118 def cancels_on subscription&.cancels_on end
expiration_description() Link
Source: show
# File app/models/db/planning.rb, line 164 def expiration_description if expired? expired_expiration_details elsif expires? expiration_details end end
expiration_processed!() Link
Source: show
# File app/models/db/planning.rb, line 94 def expiration_processed! update!(expiration_processed_at: Time.current) end
expiration_processed?() Link
Source: show
# File app/models/db/planning.rb, line 106 def expiration_processed? !!expiration_processed_at end
expired?() Link
Source: show
# File app/models/db/planning.rb, line 82 def expired? is_membership? && expires_at.present? && expires_at < Time.current end
expires?() Link
Source: show
# File app/models/db/planning.rb, line 78 def expires? expires_at.present? end
export_status() Link
Source: show
# File app/models/db/planning.rb, line 142 def export_status if canceling? "active - cancels on #{formatted_cancels_on}" elsif canceled? "canceled on #{formatted_cancels_on}" elsif expired? "expired on #{formatted_expiration}" elsif expires? "active - expires on #{formatted_expiration}" elsif trialing? "active - on trial" elsif plan.payment_plan? status_text else status end end
good_standing?() Link
Source: show
# File app/models/db/planning.rb, line 160 def good_standing? %w[active trialing past_due].include?(status) end
is_membership?() Link
Source: show
# File app/models/db/planning.rb, line 90 def is_membership? planable_type == "DB::Member" end
same_site_id() Link
Source: show
# File app/models/db/planning.rb, line 72 def same_site_id unless plan_id.nil? || plan.site_id == planable.site_id errors.add(:base, "Must be part of the same site") end end
status() Link
Source: show
# File app/models/db/planning.rb, line 126 def status if expired? "expired" elsif plan.subscription_plan? subscription_status elsif plan.payment_plan? multi_payment_status else "active" end end
status_text() Link
Source: show
# File app/models/db/planning.rb, line 138 def status_text [display_status.titleize, payment_text, incomplete_text].compact.join(" ") end
subscription() Link
Source: show
# File app/models/db/planning.rb, line 172 def subscription if is_membership? # Concrete class usage with *_id fields reduces queries DB::Subscription.find_by(plan_id:, member_id: planable_id) end end
trialing?() Link
Source: show
# File app/models/db/planning.rb, line 122 def trialing? status == "trialing" end