Sha256: 21f7de4ebbaca145169a89ec51a7fe413f61c1d88f140770b36f244459de08e1

Contents?: true

Size: 658 Bytes

Versions: 18

Compression:

Stored size: 658 Bytes

Contents

module Dorsale
  module BillingMachine
    module SmallData
      class FilterStrategyByTimePeriod < ::Dorsale::SmallData::FilterStrategyByKeyValue
        def apply(query, value)
          criteria = "#{query.model.table_name}.#{key}"

          if value == "today"
            return query.where("#{criteria} >= ?", Date.today)
          elsif value == "week"
            return query.where("#{criteria} >= ?", Date.today.at_beginning_of_week)
          elsif value == "month"
            return query.where("#{criteria} >= ?", Date.today.at_beginning_of_month)
          else
            return query
          end
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
dorsale-2.7.3 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.7.2 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.7.1 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.7.0 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.8 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.7 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.6 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.5 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.4 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.3 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.2 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.1 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.6.0 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.5.0 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.4.3 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.4.2 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.4.1 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-2.4.0 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb