module Bullet::Ext::Object

Public Instance Methods

bullet_join_potential_composite_primary_key(primary_keys) click to toggle source
# File lib/bullet/ext/object.rb, line 27
def bullet_join_potential_composite_primary_key(primary_keys)
  return send(primary_keys) unless primary_keys.is_a?(Enumerable)

  primary_keys.map { |primary_key| send primary_key }
              .join(',')
end
bullet_key() click to toggle source
# File lib/bullet/ext/object.rb, line 7
def bullet_key
  "#{self.class}:#{bullet_primary_key_value}"
end
bullet_primary_key_value() click to toggle source
# File lib/bullet/ext/object.rb, line 11
def bullet_primary_key_value
  return if respond_to?(:persisted?) && !persisted?

  if self.class.respond_to?(:primary_keys) && self.class.primary_keys
    primary_key = self.class.primary_keys
  elsif self.class.respond_to?(:primary_key) && self.class.primary_key
    primary_key = self.class.primary_key
  else
    primary_key = :id
  end

  bullet_join_potential_composite_primary_key(primary_key)
end