Module: Impressionist::Impressionable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/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
-
#impression_count(start_date = nil, end_date = Time.now) ⇒ Object
OLD METHODS - DEPRECATE IN V0.5.
- #impressionable? ⇒ Boolean
- #impressionist_count(options = {}) ⇒ Object
- #unique_impression_count(start_date = nil, end_date = Time.now) ⇒ Object
- #unique_impression_count_ip(start_date = nil, end_date = Time.now) ⇒ Object
- #unique_impression_count_session(start_date = nil, end_date = Time.now) ⇒ Object
- #update_counter_cache ⇒ Object
Instance Method Details
#impression_count(start_date = nil, end_date = Time.now) ⇒ Object
OLD METHODS - DEPRECATE IN V0.5
43 44 45 |
# File 'app/models/impressionist/impressionable.rb', line 43 def impression_count(start_date=nil,end_date=Time.now) impressionist_count({:start_date=>start_date, :end_date=>end_date, :filter=>:all}) end |
#impressionable? ⇒ Boolean
22 23 24 |
# File 'app/models/impressionist/impressionable.rb', line 22 def impressionable? true end |
#impressionist_count(options = {}) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'app/models/impressionist/impressionable.rb', line 26 def impressionist_count(={}) .reverse_merge!(:filter=>:request_hash, :start_date=>nil, :end_date=>Time.now) imps = [:start_date].blank? ? impressions : impressions.where("created_at>=? and created_at<=?",[:start_date],[:end_date]) if [:filter]!=:all imps = imps.select([:filter]).group([:filter]) end imps.all.size end |
#unique_impression_count(start_date = nil, end_date = Time.now) ⇒ Object
47 48 49 |
# File 'app/models/impressionist/impressionable.rb', line 47 def unique_impression_count(start_date=nil,end_date=Time.now) impressionist_count({:start_date=>start_date, :end_date=>end_date, :filter=> :request_hash}) end |
#unique_impression_count_ip(start_date = nil, end_date = Time.now) ⇒ Object
51 52 53 |
# File 'app/models/impressionist/impressionable.rb', line 51 def unique_impression_count_ip(start_date=nil,end_date=Time.now) impressionist_count({:start_date=>start_date, :end_date=>end_date, :filter=> :ip_address}) end |
#unique_impression_count_session(start_date = nil, end_date = Time.now) ⇒ Object
55 56 57 |
# File 'app/models/impressionist/impressionable.rb', line 55 def unique_impression_count_session(start_date=nil,end_date=Time.now) impressionist_count({:start_date=>start_date, :end_date=>end_date, :filter=> :session_hash}) end |
#update_counter_cache ⇒ Object
35 36 37 38 39 40 |
# File 'app/models/impressionist/impressionable.rb', line 35 def update_counter_cache = self.class. column_name = [:column_name].to_sym count = [:unique] ? impressionist_count(:filter => :ip_address) : impressionist_count update_attribute(column_name, count) end |