Class: Effective::Fee
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Effective::Fee
- Defined in:
- app/models/effective/fee.rb
Constant Summary collapse
- CHECKOUT_TYPES =
['Default', 'Applicant', 'Fee Payment']
Instance Method Summary collapse
-
#applicant_submit_fee? ⇒ Boolean
Used by applicant.applicant_submit_fees.
- #custom_fee? ⇒ Boolean
- #default_title ⇒ Object
- #early? ⇒ Boolean
- #fee_payment_fee? ⇒ Boolean
- #late? ⇒ Boolean
-
#membership_period_fee? ⇒ Boolean
Will advance a membership.fees_paid_through_year value when purchased.
- #not_in_good_standing? ⇒ Boolean
-
#reportable_scopes ⇒ Object
effective_reports.
- #to_s ⇒ Object
Instance Method Details
#applicant_submit_fee? ⇒ Boolean
Used by applicant.applicant_submit_fees
133 134 135 136 137 138 139 140 141 |
# File 'app/models/effective/fee.rb', line 133 def applicant_submit_fee? return true if parent.kind_of?(EffectiveMemberships.Applicant) return false if checkout_type == 'Fee Payment' return true if checkout_type == 'Applicant' # Default ['Applicant', 'Reinstatement'].include?(fee_type) end |
#custom_fee? ⇒ Boolean
158 159 160 |
# File 'app/models/effective/fee.rb', line 158 def custom_fee? EffectiveMemberships.custom_fee_types.include?(fee_type) end |
#default_title ⇒ Object
162 163 164 165 166 167 168 169 170 |
# File 'app/models/effective/fee.rb', line 162 def default_title return nil unless period.present? && fee_type.present? [ period.strftime('%Y'), category, EffectiveResources.et("effective_memberships.fees.#{fee_type.parameterize.underscore}") ].join(' ') end |
#early? ⇒ Boolean
101 102 103 104 |
# File 'app/models/effective/fee.rb', line 101 def early? return false if purchased? EffectiveMemberships.Registrar.early_fee_date_range(period: period).cover?(Time.zone.now) end |
#fee_payment_fee? ⇒ Boolean
143 144 145 146 147 148 149 150 151 |
# File 'app/models/effective/fee.rb', line 143 def fee_payment_fee? return false if parent.kind_of?(EffectiveMemberships.Applicant) return false if checkout_type == 'Applicant' return true if checkout_type == 'Fee Payment' # Default ['Applicant', 'Reinstatement'].exclude?(fee_type) end |
#late? ⇒ Boolean
106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'app/models/effective/fee.rb', line 106 def late? return false if late_on.blank? return false if purchased? now = Time.zone.now if(duration = EffectiveMemberships.Registrar.min_late_duration).present? return false if ((created_at || now) + duration > now) end late_on <= now.to_date end |
#membership_period_fee? ⇒ Boolean
Will advance a membership.fees_paid_through_year value when purchased
154 155 156 |
# File 'app/models/effective/fee.rb', line 154 def membership_period_fee? ['Prorated', 'Renewal'].include?(fee_type) end |
#not_in_good_standing? ⇒ Boolean
119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'app/models/effective/fee.rb', line 119 def not_in_good_standing? return false if not_in_good_standing_on.blank? return false if purchased? now = Time.zone.now if(duration = EffectiveMemberships.Registrar.min_not_in_good_standing_duration).present? return false if ((created_at || now) + duration > now) end not_in_good_standing_on <= now.to_date end |
#reportable_scopes ⇒ Object
effective_reports
44 45 46 |
# File 'app/models/effective/fee.rb', line 44 def reportable_scopes { purchased: nil, not_purchased: nil } end |
#to_s ⇒ Object
97 98 99 |
# File 'app/models/effective/fee.rb', line 97 def to_s title.presence || default_title() end |