Module: Saucy::Account::ClassMethods
- Defined in:
- lib/saucy/account.rb
Instance Method Summary collapse
- #deliver_completed_trial_notifications ⇒ Object
- #deliver_expiring_trial_notifications ⇒ Object
- #deliver_new_unactivated_notifications ⇒ Object
- #new_unactivated ⇒ Object
- #search(query) ⇒ Object
- #trial ⇒ Object
- #trial_completed ⇒ Object
- #trial_expiring ⇒ Object
Instance Method Details
#deliver_completed_trial_notifications ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/saucy/account.rb', line 137 def deliver_completed_trial_notifications trial_completed.each do |account| begin BillingMailer.completed_trial(account).deliver account.notified_of_completed_trial = true account.save! rescue Exception => e Airbrake.notify(e) end end end |
#deliver_expiring_trial_notifications ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/saucy/account.rb', line 125 def deliver_expiring_trial_notifications trial_expiring.each do |account| begin BillingMailer.expiring_trial(account).deliver account.notified_of_expiration = true account.save! rescue Exception => e Airbrake.notify(e) end end end |
#deliver_new_unactivated_notifications ⇒ Object
113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/saucy/account.rb', line 113 def deliver_new_unactivated_notifications new_unactivated.each do |account| begin BillingMailer.new_unactivated(account).deliver account.asked_to_activate = true account.save! rescue Exception => e Airbrake.notify(e) end end end |
#new_unactivated ⇒ Object
155 156 157 158 |
# File 'lib/saucy/account.rb', line 155 def new_unactivated where(["accounts.created_at <= ?", Saucy::Configuration.unactivated_notice_on.days.ago]). where(:asked_to_activate => false, :activated => false) end |
#search(query) ⇒ Object
108 109 110 111 |
# File 'lib/saucy/account.rb', line 108 def search(query) return [] if query.nil? where ['accounts.keyword like :query or accounts.name like :query', { :query => "%#{query}%" }] end |
#trial ⇒ Object
166 167 168 169 |
# File 'lib/saucy/account.rb', line 166 def trial includes(:plan). where(:plans => { :trial => true }) end |
#trial_completed ⇒ Object
160 161 162 163 164 |
# File 'lib/saucy/account.rb', line 160 def trial_completed trial. where(:notified_of_completed_trial => false). where(["accounts.trial_expires_at <= ?", Time.now]) end |
#trial_expiring ⇒ Object
149 150 151 152 153 |
# File 'lib/saucy/account.rb', line 149 def trial_expiring trial. where(:notified_of_expiration => false). where(["accounts.trial_expires_at <= ?", Saucy::Configuration.expiring_notice_on.days.from_now]) end |