Class: Reward
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Reward
- Includes:
- ActionView::Helpers::NumberHelper, ActionView::Helpers::TextHelper, ActionView::Helpers::UrlHelper, ERB::Util, RankedModel
- Defined in:
- app/models/reward.rb
Instance Method Summary collapse
- #display_deliver_prevision ⇒ Object
- #display_description ⇒ Object
- #display_minimum ⇒ Object
- #display_remaining ⇒ Object
- #has_modification? ⇒ Boolean
- #last_description ⇒ Object
- #medium_description ⇒ Object
- #name ⇒ Object
- #remaining ⇒ Object
- #short_description ⇒ Object
- #sold_out? ⇒ Boolean
Instance Method Details
#display_deliver_prevision ⇒ Object
34 35 36 37 38 |
# File 'app/models/reward.rb', line 34 def display_deliver_prevision I18n.l((project.expires_at + days_to_delivery.days), format: :prevision) rescue days_to_delivery end |
#display_description ⇒ Object
67 68 69 |
# File 'app/models/reward.rb', line 67 def display_description auto_link(simple_format(description), html: {target: :_blank}) end |
#display_minimum ⇒ Object
48 49 50 |
# File 'app/models/reward.rb', line 48 def display_minimum number_to_currency minimum_value end |
#display_remaining ⇒ Object
40 41 42 |
# File 'app/models/reward.rb', line 40 def display_remaining I18n.t('reward.display_remaining', remaining: remaining, maximum: maximum_backers).html_safe end |
#has_modification? ⇒ Boolean
21 22 23 |
# File 'app/models/reward.rb', line 21 def has_modification? versions.count > 1 end |
#last_description ⇒ Object
60 61 62 63 64 65 |
# File 'app/models/reward.rb', line 60 def last_description if versions.present? reward = versions.last.reify(has_one: true) auto_link(simple_format(reward.description), html: {target: :_blank}) end end |
#medium_description ⇒ Object
56 57 58 |
# File 'app/models/reward.rb', line 56 def medium_description truncate description, length: 65 end |
#name ⇒ Object
44 45 46 |
# File 'app/models/reward.rb', line 44 def name "<div class='reward_minimum_value'>#{minimum_value > 0 ? display_minimum+'+' : I18n.t('reward.dont_want')}</div><div class='reward_description'>#{h description}</div>#{'<div class="sold_out">' + I18n.t('reward.sold_out') + '</div>' if sold_out?}<div class='clear'></div>".html_safe end |
#remaining ⇒ Object
29 30 31 32 |
# File 'app/models/reward.rb', line 29 def remaining return nil unless maximum_backers maximum_backers - (backers.confirmed.count + backers.in_time_to_confirm.count) end |
#short_description ⇒ Object
52 53 54 |
# File 'app/models/reward.rb', line 52 def short_description truncate description, length: 35 end |
#sold_out? ⇒ Boolean
25 26 27 |
# File 'app/models/reward.rb', line 25 def sold_out? maximum_backers and (backers.confirmed.count + backers.in_time_to_confirm.count) >= maximum_backers end |