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