diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb index d3712241e..5d9055f52 100644 --- a/app/logical/post_query_builder.rb +++ b/app/logical/post_query_builder.rb @@ -21,7 +21,11 @@ class PostQueryBuilder case arr[0] when :eq - relation.where(["#{field} = ?", arr[1]]) + if arr[1].is_a?(Time) + relation.where("#{field} between ? and ?", arr[1].beginning_of_day, arr[1].end_of_day) + else + relation.where(["#{field} = ?", arr[1]]) + end when :gt relation.where(["#{field} > ?", arr[1]]) diff --git a/app/logical/post_sets/popular.rb b/app/logical/post_sets/popular.rb index 30550cd6c..99e4dd956 100644 --- a/app/logical/post_sets/popular.rb +++ b/app/logical/post_sets/popular.rb @@ -3,12 +3,12 @@ module PostSets attr_reader :date, :scale def initialize(date, scale) - @date = date.blank? ? Date.today : date.to_date + @date = date.blank? ? Time.zone.now : Time.zone.parse(date) @scale = scale end def posts - ::Post.where("created_at between ? and ?", min_date, max_date + 1).order("score desc").limit(limit) + ::Post.where("created_at between ? and ?", min_date.beginning_of_day, max_date.end_of_day).order("score desc").limit(limit) end def limit diff --git a/app/models/tag.rb b/app/models/tag.rb index 7be0e2675..2579e2088 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -174,7 +174,7 @@ class Tag < ActiveRecord::Base when :date begin - object.to_date + Time.zone.parse(object) rescue Exception nil end