class ReportsKits::Reports::Adapters::Mysql

Public Class Methods

truncate_to_day(column) click to toggle source
# File lib/reports_kits/reports/adapters/mysql.rb, line 5
def self.truncate_to_day(column)
  "DATE(#{column})"
end
truncate_to_month(column) click to toggle source
# File lib/reports_kits/reports/adapters/mysql.rb, line 20
def self.truncate_to_month(column)
  "DATE_SUB(DATE(#{column}), INTERVAL DAY(#{column}) - 1 DAY)"
end
truncate_to_week(column) click to toggle source
# File lib/reports_kits/reports/adapters/mysql.rb, line 9
def self.truncate_to_week(column)
  case ReportsKits.configuration.first_day_of_week
  when :sunday
    "DATE_SUB(DATE(#{column}), INTERVAL DAYOFWEEK(#{column}) - 1 DAY)"
  when :monday
    "DATE_SUB(DATE(#{column}), INTERVAL DAYOFWEEK(#{column}) - 2 DAY)"
  else
    raise ArgumentError.new("Unsupported first_day_of_week: #{ReportsKits.configuration.first_day_of_week}")
  end
end