Sha256: 3f1a568d25a5bf330a73c81ca5d16da7850cde8f24625c97029d1b4761a6199b

Contents?: true

Size: 782 Bytes

Versions: 2

Compression:

Stored size: 782 Bytes

Contents

module Impressionist
  module Impressionable

  # extends AS::Concern
  include Impressionist::IsImpressionable

    ## TODO: Make it readable

    # Overides impressionist_count in order to provied
    # mongoid compability
    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

Mongoid::Document.
send(:include, Impressionist::Impressionable)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
impressionist-1.4.11 lib/impressionist/models/mongoid/impressionist/impressionable.rb
impressionist-1.4.10 lib/impressionist/models/mongoid/impressionist/impressionable.rb