Sha256: 2897274f99f6253add8c4c82e0dac8abf676098f5cb31a24bbade83e208a780c

Contents?: true

Size: 565 Bytes

Versions: 6

Compression:

Stored size: 565 Bytes

Contents

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

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dorsale-3.1.5 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-3.1.4 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-3.1.3 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-3.1.2 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-3.1.1 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb
dorsale-3.1.0 app/models/dorsale/billing_machine/small_data/filter_strategy_by_time_period.rb