Sha256: 9ec05066b20e702767bf34bef1785757ed31b5cab31fd3bf26ed8355f9432302

Contents?: true

Size: 821 Bytes

Versions: 39

Compression:

Stored size: 821 Bytes

Contents

module Dorsale
  module BillingMachine
    module SmallData
      class FilterStrategyByPaymentStatus < ::Dorsale::SmallData::FilterStrategy
        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
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
dorsale-2.3.5 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.3.4 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.3.3 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.3.2 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.3.1 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.3.0 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.16 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.15 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.14 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.13 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.12 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.11 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.10 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.9 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.8 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.6 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.5 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.4 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.3 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-2.2.2 app/models/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb