Sha256: 340c7afa9b6b820e80e5bbbdbcf8bffed2881cb552335ab5796d521d9efd8bc5
Contents?: true
Size: 1008 Bytes
Versions: 3
Compression:
Stored size: 1008 Bytes
Contents
# TODO: Refactor this Entity # There's a lot of duplication Mongoid::Document.send(:include, Impressionist::Impressionable) module Impressionist module Impressionable extend ActiveSupport::Concern module ClassMethods def is_impressionable(options={}) define_association @impressionist_cache_options = options true end private def define_association has_many(:impressions, :as => :impressionable, :dependent => :destroy) end end ## # Overides active_record impressionist_count def impressionist_count(options={}) options.reverse_merge!(:filter=>:request_hash, :start_date=>nil, :end_date=>Time.now) imps = options[:start_date].blank? ? impressions : impressions.between(created_at: options[:start_date]..options[:end_date]) filter = options[:filter] filter == :all ? imps.count : imps.where(filter.ne => nil).distinct(filter).count end end end
Version data entries
3 entries across 3 versions & 1 rubygems