module Popularable::Concern
Public Class Methods
has_popularable_concern?()
click to toggle source
# File lib/concerns/popularable.rb, line 35 def self.has_popularable_concern? true end
Public Instance Methods
bump_popularity!( popularity_add_value = 1, popularity_event_time = Time.now )
click to toggle source
# File lib/concerns/popularable.rb, line 66 def bump_popularity!( popularity_add_value = 1, popularity_event_time = Time.now ) popularable_popularity_event = self.popularable_popularity_events.find_or_create_by( popularity_event_date: popularity_event_time.to_date ) popularable_popularity_event.update( popularity: popularable_popularity_event.popularity.to_i + popularity_add_value ) end
popular_count_all_time()
click to toggle source
# File lib/concerns/popularable.rb, line 56 def popular_count_all_time popular_count_since(Time.now - 100.years) end
popular_count_since(since = Time.now)
click to toggle source
# File lib/concerns/popularable.rb, line 60 def popular_count_since(since = Time.now) popularable_popularity_events.where( "popularable_popularity_events.popularity_event_date >= ?", since.to_date ).sum( :popularity ) end
popular_count_this_month()
click to toggle source
# File lib/concerns/popularable.rb, line 48 def popular_count_this_month popular_count_since(Time.now.beginning_of_month) end
popular_count_this_week()
click to toggle source
# File lib/concerns/popularable.rb, line 44 def popular_count_this_week popular_count_since(Time.now.beginning_of_week) end
popular_count_this_year()
click to toggle source
# File lib/concerns/popularable.rb, line 52 def popular_count_this_year popular_count_since(Time.now.beginning_of_year) end
popular_count_today()
click to toggle source
Count methods
# File lib/concerns/popularable.rb, line 40 def popular_count_today popular_count_since(Time.now.beginning_of_day) end