module EventCounter::ActiveRecordExtension::CountableInstanceMethods

This module defines instance methods for a countable model

Public Instance Methods

data_for(name, opts = {}) click to toggle source
# File lib/event_counter/active_record_extension.rb, line 45
def data_for(name, opts = {})
  self.class.data_for(name, id, opts)
end
down!(*args) click to toggle source
# File lib/event_counter/active_record_extension.rb, line 39
def down!(*args)
  opts = args.extract_options!
  opts.merge!(vector: :down)
  rotate_counter(*args, opts)
end
up!(*args) click to toggle source
# File lib/event_counter/active_record_extension.rb, line 33
def up!(*args)
  opts = args.extract_options!
  opts.merge!(vector: :up)
  rotate_counter(*args, opts)
end

Private Instance Methods

rotate_counter(*args) click to toggle source
# File lib/event_counter/active_record_extension.rb, line 51
def rotate_counter(*args)
  opts = args.extract_options!
  name, val = args
  unless respond_to?(name)
    self.class.counter_error!(:not_found, name: name)
  end
  send(name).change(val, opts)
end