DateGroupable is not used anymore

This commit is contained in:
Joffrey JAFFEUX 2018-05-14 16:26:14 +02:00 committed by GitHub
parent 94b1a8c841
commit 83255d94d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 0 additions and 55 deletions

View File

@ -1,52 +0,0 @@
module DateGroupable extend ActiveSupport::Concern
class_methods do
def group_by_day(column)
group_by_unit(:day, column)
end
def group_by_week(column)
group_by_unit(:week, column)
end
def group_by_month(column)
group_by_unit(:month, column)
end
def group_by_quarter(column)
group_by_unit(:quarter, column)
end
def group_by_year(column)
group_by_unit(:year, column)
end
def group_by_unit(aggregation_unit, column)
group("date_trunc('#{aggregation_unit}', #{column})::DATE")
.order("date_trunc('#{aggregation_unit}', #{column})::DATE")
end
def aggregation_unit_for_period(start_date, end_date)
days = (start_date.to_date..end_date.to_date).count
case
when days <= 40
return :day
when days <= 210 # 30 weeks
return :week
when days <= 550 # ~18 months
return :month
when days <= 1461 # ~4 years
return :quarter
else
return :year
end
end
def smart_group_by_date(column, start_date, end_date)
aggregation_unit = aggregation_unit_for_period(start_date, end_date)
where("#{column} BETWEEN ? AND ?", start_date, end_date)
.group_by_unit(aggregation_unit, column)
end
end
end

View File

@ -21,7 +21,6 @@ class Topic < ActiveRecord::Base
include Searchable
include LimitedEdit
extend Forwardable
include DateGroupable
def_delegator :featured_users, :user_ids, :featured_user_ids
def_delegator :featured_users, :choose, :feature_topic_users

View File

@ -19,7 +19,6 @@ class User < ActiveRecord::Base
include Roleable
include HasCustomFields
include SecondFactorManager
include DateGroupable
# TODO: Remove this after 7th Jan 2018
self.ignored_columns = %w{email}

View File

@ -1,5 +1,4 @@
class UserAction < ActiveRecord::Base
include DateGroupable
belongs_to :user
belongs_to :target_post, class_name: "Post"