Module: Impressionist::Impressionable

Extended by:
ActiveSupport::Concern
Includes:
IsImpressionable
Defined in:
app/models/impressionist/impressionable.rb,
lib/impressionist/models/mongoid/impressionist/impressionable.rb,
lib/impressionist/models/mongo_mapper/impressionist/impressionable.rb,
lib/impressionist/models/active_record/impressionist/impressionable.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#impressionable?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'app/models/impressionist/impressionable.rb', line 44

def impressionable?
  true
end

#impressionist_count(options = {}) ⇒ Object

Overides impressionist_count in order to provied mongoid compability



29
30
31
32
33
34
35
36
37
# File 'app/models/impressionist/impressionable.rb', line 29

def impressionist_count(options={})
  options.reverse_merge!(:filter=>:request_hash, :start_date=>nil, :end_date=>Time.now)
  imps = options[:start_date].blank? ? impressions : impressions.where("created_at>=? and created_at<=?",options[:start_date],options[:end_date])
  if Rails::VERSION::MAJOR == 4
    options[:filter] == :all ? imps.count : imps.select(options[:filter]).distinct.count
  else
    options[:filter] == :all ? imps.count : imps.count(options[:filter], :distinct => true)
  end
end

#update_impressionist_counter_cacheObject



39
40
41
42
# File 'app/models/impressionist/impressionable.rb', line 39

def update_impressionist_counter_cache
  slave = Impressionist::UpdateCounters.new(self)
  slave.update
end