Module: Tellimus::Subscription
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/concerns/tellimus/subscription.rb
Instance Method Summary collapse
- #card_was_declined ⇒ Object
- #changing_plans? ⇒ Boolean
- #charge_disputed ⇒ Object
- #charge_failed ⇒ Object
- #describe_difference(plan_to_describe) ⇒ Object
- #downgrading? ⇒ Boolean
- #finalize_cancelation! ⇒ Object
- #finalize_card_update! ⇒ Object
- #finalize_downgrade! ⇒ Object
- #finalize_new_customer!(customer_id, amount) ⇒ Object
- #finalize_new_subscription! ⇒ Object
- #finalize_plan_change! ⇒ Object
- #finalize_upgrade! ⇒ Object
-
#payment_succeeded(amount) ⇒ Object
stripe web-hook callbacks.
- #prepare_for_cancelation ⇒ Object
- #prepare_for_card_update ⇒ Object
- #prepare_for_downgrade ⇒ Object
- #prepare_for_new_subscription ⇒ Object
-
#prepare_for_plan_change ⇒ Object
Template methods.
- #prepare_for_upgrade ⇒ Object
-
#subscription_owner ⇒ Object
Pretty sure this wouldn’t conflict with anything someone would put in their model.
- #subscription_owner=(owner) ⇒ Object
- #subscription_owner_description ⇒ Object
- #subscription_owner_email ⇒ Object
- #upgrading? ⇒ Boolean
Instance Method Details
#card_was_declined ⇒ Object
264 265 |
# File 'app/concerns/tellimus/subscription.rb', line 264 def card_was_declined end |
#changing_plans? ⇒ Boolean
212 213 214 |
# File 'app/concerns/tellimus/subscription.rb', line 212 def changing_plans? plan_id_changed? end |
#charge_disputed ⇒ Object
274 275 |
# File 'app/concerns/tellimus/subscription.rb', line 274 def charge_disputed end |
#charge_failed ⇒ Object
271 272 |
# File 'app/concerns/tellimus/subscription.rb', line 271 def charge_failed end |
#describe_difference(plan_to_describe) ⇒ Object
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
# File 'app/concerns/tellimus/subscription.rb', line 170 def describe_difference(plan_to_describe) if plan.nil? if persisted? I18n.t('tellimus.plan_difference.upgrade') else if Tellimus.free_trial? I18n.t('tellimus.plan_difference.start_trial') else I18n.t('tellimus.plan_difference.upgrade') end end else if plan_to_describe.is_upgrade_from?(plan) I18n.t('tellimus.plan_difference.upgrade') else I18n.t('tellimus.plan_difference.downgrade') end end end |
#downgrading? ⇒ Boolean
216 217 218 |
# File 'app/concerns/tellimus/subscription.rb', line 216 def downgrading? plan.present? and plan_id_was.present? and plan_id_was > self.plan_id end |
#finalize_cancelation! ⇒ Object
258 259 |
# File 'app/concerns/tellimus/subscription.rb', line 258 def finalize_cancelation! end |
#finalize_card_update! ⇒ Object
261 262 |
# File 'app/concerns/tellimus/subscription.rb', line 261 def finalize_card_update! end |
#finalize_downgrade! ⇒ Object
255 256 |
# File 'app/concerns/tellimus/subscription.rb', line 255 def finalize_downgrade! end |
#finalize_new_customer!(customer_id, amount) ⇒ Object
249 250 |
# File 'app/concerns/tellimus/subscription.rb', line 249 def finalize_new_customer!(customer_id, amount) end |
#finalize_new_subscription! ⇒ Object
246 247 |
# File 'app/concerns/tellimus/subscription.rb', line 246 def finalize_new_subscription! end |
#finalize_plan_change! ⇒ Object
243 244 |
# File 'app/concerns/tellimus/subscription.rb', line 243 def finalize_plan_change! end |
#finalize_upgrade! ⇒ Object
252 253 |
# File 'app/concerns/tellimus/subscription.rb', line 252 def finalize_upgrade! end |
#payment_succeeded(amount) ⇒ Object
stripe web-hook callbacks.
268 269 |
# File 'app/concerns/tellimus/subscription.rb', line 268 def payment_succeeded(amount) end |
#prepare_for_cancelation ⇒ Object
237 238 |
# File 'app/concerns/tellimus/subscription.rb', line 237 def prepare_for_cancelation end |
#prepare_for_card_update ⇒ Object
240 241 |
# File 'app/concerns/tellimus/subscription.rb', line 240 def prepare_for_card_update end |
#prepare_for_downgrade ⇒ Object
234 235 |
# File 'app/concerns/tellimus/subscription.rb', line 234 def prepare_for_downgrade end |
#prepare_for_new_subscription ⇒ Object
228 229 |
# File 'app/concerns/tellimus/subscription.rb', line 228 def prepare_for_new_subscription end |
#prepare_for_plan_change ⇒ Object
Template methods.
225 226 |
# File 'app/concerns/tellimus/subscription.rb', line 225 def prepare_for_plan_change end |
#prepare_for_upgrade ⇒ Object
231 232 |
# File 'app/concerns/tellimus/subscription.rb', line 231 def prepare_for_upgrade end |
#subscription_owner ⇒ Object
Pretty sure this wouldn’t conflict with anything someone would put in their model
191 192 193 194 195 |
# File 'app/concerns/tellimus/subscription.rb', line 191 def subscription_owner # Return whatever we belong to. # If this object doesn't respond to 'name', please update owner_description. send Tellimus.subscriptions_owned_by end |
#subscription_owner=(owner) ⇒ Object
197 198 199 200 |
# File 'app/concerns/tellimus/subscription.rb', line 197 def subscription_owner=(owner) # e.g. @subscription.user = @owner send Tellimus.owner_assignment_sym, owner end |
#subscription_owner_description ⇒ Object
202 203 204 205 206 |
# File 'app/concerns/tellimus/subscription.rb', line 202 def subscription_owner_description # assuming owner responds to name. # we should check for whether it responds to this or not. "#{subscription_owner.try(:name) || subscription_owner.try(:id)}" end |
#subscription_owner_email ⇒ Object
208 209 210 |
# File 'app/concerns/tellimus/subscription.rb', line 208 def subscription_owner_email "#{subscription_owner.try(:email)}" end |
#upgrading? ⇒ Boolean
220 221 222 |
# File 'app/concerns/tellimus/subscription.rb', line 220 def upgrading? (plan_id_was.present? and plan_id_was < plan_id) or plan_id_was.nil? end |