Class: ReferableReward
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- ReferableReward
- Defined in:
- lib/generators/referable/templates/model/referable_reward.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.best_reward(acquireable_by) ⇒ Object
9 10 11 |
# File 'lib/generators/referable/templates/model/referable_reward.rb', line 9 def self.best_reward(acquireable_by) where(acquireable_by: acquireable_by).order(referrals_required: :desc).first end |
.zeroth_tier(acquireable_by) ⇒ Object
13 14 15 16 17 |
# File 'lib/generators/referable/templates/model/referable_reward.rb', line 13 def self.zeroth_tier(acquireable_by) zeroth = find_by(referrals_required: 0, acquireable_by: acquireable_by) return zeroth if zeroth create!(reward: 'none', referrals_required: 0, acquireable_by: acquireable_by) end |
Instance Method Details
#next_reward(above: 0) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/generators/referable/templates/model/referable_reward.rb', line 19 def next_reward(above: 0) query = self.class .where(acquireable_by: acquireable_by) .where('referrals_required > ?', referrals_required) .where('referrals_required >= ?', above) .order(referrals_required: :asc) .limit(1) query.any? ? query.first : self end |
#previous_reward(below: 10e5) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/referable/templates/model/referable_reward.rb', line 29 def previous_reward(below: 10e5) query = self.class .where(acquireable_by: acquireable_by) .where('referrals_required < ?', referrals_required) .where('referrals_required <= ?', below) .order(referrals_required: :desc) .limit(1) query.any? ? query.first : self end |