module ObfuscateId::ClassMethods

Public Instance Methods

deobfuscate_id(obfuscated_id) click to toggle source
# File lib/obfuscate_id.rb, line 38
def deobfuscate_id(obfuscated_id)
  ObfuscateId.show(obfuscated_id, self.obfuscate_id_spin)
end
find(*args) click to toggle source
Calls superclass method
# File lib/obfuscate_id.rb, line 21
def find(*args)
  scope = args.slice!(0)
  options = args.slice!(0) || {}
  if has_obfuscated_id? && !options[:no_obfuscated_id]
    if scope.is_a?(Array)
      scope.map! {|a| deobfuscate_id(a).to_i}
    else
      scope = deobfuscate_id(scope)
    end
  end
  super(scope)
end
has_obfuscated_id?() click to toggle source
# File lib/obfuscate_id.rb, line 34
def has_obfuscated_id?
  true
end
obfuscate_id_default_spin() click to toggle source

Generate a default spin from the Model name This makes it easy to drop obfuscate_id onto any model and produce different obfuscated ids for different models

# File lib/obfuscate_id.rb, line 45
def obfuscate_id_default_spin
  alphabet = Array("a".."z") 
  number = name.split("").collect do |char|
    alphabet.index(char)
  end
  number.shift(12).join.to_i
end