Class: Dorsale::BillingMachine::SmallData::FilterStrategyByPaymentStatus
- Inherits:
-
SmallData::FilterStrategy
- Object
- SmallData::FilterStrategy
- Dorsale::BillingMachine::SmallData::FilterStrategyByPaymentStatus
- Defined in:
- app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
Instance Method Summary collapse
Methods inherited from SmallData::FilterStrategy
#applies?, #apply, #initialize, #set
Constructor Details
This class inherits a constructor from Dorsale::SmallData::FilterStrategy
Instance Method Details
#do_apply(query) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb', line 5 def do_apply query table_name = query.model.table_name if @value == "paid" return query.where("#{table_name}.paid = ?", true) elsif @value == "unpaid" return query.where("#{table_name}.paid = ?", false) elsif @value == "pending" return query.where("#{table_name}.paid = ? and #{table_name}.due_date >= ?", false, Date.today) elsif @value == "late" return query.where("#{table_name}.paid = ? and (#{table_name}.due_date < ? or #{table_name}.due_date is null)", false, Date.today) else return query end end |