Skip to Content Skip to Search
Methods
A
D
E
N

Class Public methods

new(subscription)

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 4
def initialize(subscription)
  @subscription = subscription
end

Instance Public methods

available?(option)

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 8
def available?(option)
  send("#{option}_available?")
end

discount_coupon_available?()

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 30
def discount_coupon_available?
  discount_coupon_error.blank?
end

discount_coupon_error()

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 34
def discount_coupon_error
  @discount_coupon_error ||=
    if !site_settings.discount_coupon?
      I18n.t("membership.discount_coupon.errors.forbidden_by_site_owner")
    elsif already_used_coupon?
      I18n.t("membership.discount_coupon.errors.already_done")
    end
end

error(option)

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 12
def error(option)
  send("#{option}_error")
end

extend_trial_available?()

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 16
def extend_trial_available?
  extend_trial_error.blank?
end

extend_trial_error()

# File engines/member_api/app/policies/member_api/policy/cancellation_alternatives.rb, line 20
def extend_trial_error
  @extend_trial_error ||= if !site_settings.extend_trial?
    I18n.t("membership.extend_trial.errors.forbidden_by_site_owner")
  elsif !member.plannings.find_by!(plan:).trialing?
    I18n.t("membership.extend_trial.errors.subscription_not_trialing")
  elsif already_extended_trial?
    I18n.t("membership.extend_trial.errors.already_done")
  end
end