Sha256: 7de0d4292b1f7cee64e321c4c659f93ead548720675d49ff22029e69fd6763b4
Contents?: true
Size: 706 Bytes
Versions: 11
Compression:
Stored size: 706 Bytes
Contents
class Dorsale::BillingMachine::SmallData::FilterStrategyByPaymentStatus < ::Dorsale::SmallData::FilterStrategy def apply(query, value) 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, Time.zone.now.to_date) elsif value == "late" return query.where("#{table_name}.paid = ? and (#{table_name}.due_date < ? or #{table_name}.due_date is null)", false, Time.zone.now.to_date) else return query end end end
Version data entries
11 entries across 11 versions & 1 rubygems