Module: Tellimus::Subscription

Extended by:
ActiveSupport::Concern
Defined in:
app/concerns/tellimus/subscription.rb

Instance Method Summary collapse

Instance Method Details

#card_was_declinedObject



264
265
# File 'app/concerns/tellimus/subscription.rb', line 264

def card_was_declined
end

#changing_plans?Boolean

Returns:

  • (Boolean)


212
213
214
# File 'app/concerns/tellimus/subscription.rb', line 212

def changing_plans?
  plan_id_changed?
end

#charge_disputedObject



274
275
# File 'app/concerns/tellimus/subscription.rb', line 274

def charge_disputed
end

#charge_failedObject



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

Returns:

  • (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_cancelationObject



237
238
# File 'app/concerns/tellimus/subscription.rb', line 237

def prepare_for_cancelation
end

#prepare_for_card_updateObject



240
241
# File 'app/concerns/tellimus/subscription.rb', line 240

def prepare_for_card_update
end

#prepare_for_downgradeObject



234
235
# File 'app/concerns/tellimus/subscription.rb', line 234

def prepare_for_downgrade
end

#prepare_for_new_subscriptionObject



228
229
# File 'app/concerns/tellimus/subscription.rb', line 228

def prepare_for_new_subscription
end

#prepare_for_plan_changeObject

Template methods.



225
226
# File 'app/concerns/tellimus/subscription.rb', line 225

def prepare_for_plan_change
end

#prepare_for_upgradeObject



231
232
# File 'app/concerns/tellimus/subscription.rb', line 231

def prepare_for_upgrade
end

#subscription_ownerObject

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_descriptionObject



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_emailObject



208
209
210
# File 'app/concerns/tellimus/subscription.rb', line 208

def subscription_owner_email
  "#{subscription_owner.try(:email)}"
end

#upgrading?Boolean

Returns:

  • (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