Class: BackerObserver
- Inherits:
-
ActiveRecord::Observer
- Object
- ActiveRecord::Observer
- BackerObserver
- Defined in:
- app/observers/backer_observer.rb
Instance Method Summary collapse
- #after_create(backer) ⇒ Object
- #after_save(backer) ⇒ Object
- #before_save(backer) ⇒ Object
- #notify_backoffice(backer) ⇒ Object
- #notify_backoffice_about_canceled(backer) ⇒ Object
Instance Method Details
#after_create(backer) ⇒ Object
4 5 6 7 |
# File 'app/observers/backer_observer.rb', line 4 def after_create(backer) backer.define_key backer.define_payment_method end |
#after_save(backer) ⇒ Object
40 41 42 43 44 45 |
# File 'app/observers/backer_observer.rb', line 40 def after_save(backer) Notification.create_notification_once(:project_success, backer.project.user, {project_id: backer.project.id}, project: backer.project) if backer.project.reached_goal? end |
#before_save(backer) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/observers/backer_observer.rb', line 9 def before_save(backer) Notification.create_notification_once(:payment_slip, backer.user, {backer_id: backer.id}, backer: backer, project_name: backer.project.name) if backer.payment_choice_was.nil? && backer.payment_choice == 'BoletoBancario' if backer.confirmed? and backer.confirmed_at.nil? backer.confirmed_at = Time.now Notification.create_notification_once(:confirm_backer, backer.user, {backer_id: backer.id}, backer: backer, project_name: backer.project.name) Notification.create_notification_once(:project_owner_backer_confirmed, backer.project.user, {backer_id: backer.id}, backer: backer, project_name: backer.project.name) if (Time.now > backer.project.expires_at + 7.days) && (user = User.where(email: ::Configuration[:email_payments]).first) Notification.create_notification_once(:backer_confirmed_after_project_was_closed, user, {backer_id: backer.id}, backer: backer, project_name: backer.project.name) end end end |
#notify_backoffice(backer) ⇒ Object
47 48 49 |
# File 'app/observers/backer_observer.rb', line 47 def notify_backoffice(backer) CreditsMailer.request_refund_from(backer).deliver end |
#notify_backoffice_about_canceled(backer) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'app/observers/backer_observer.rb', line 51 def notify_backoffice_about_canceled(backer) user = User.where(email: Configuration[:email_payments]).first if user.present? Notification.create_notification_once(:backer_canceled_after_confirmed, user, {backer_id: backer.id}, backer: backer) end end |