module SecretId::ActiveRecord::Core::ClassMethods
Public Instance Methods
find(*ids)
click to toggle source
Override ActiveRecord::Core#find decoding ids, if is necessary
Calls superclass method
# File lib/secret_id/active_record.rb, line 61 def find(*ids) if ids.length == 1 return super if ids.first.kind_of?(Array) else options = ids.slice!(ids.size - 1) if ids.last.kind_of?(Hash) options ||= {} return super ids, secret_id: false if options[:secret_id] === false return super if ids.first.kind_of?(Array) end ids.map! do |id| begin decode_id(id) rescue raise ::ActiveRecord::RecordNotFound, "Couldn't find #{self.name} with secret id=#{id}" end end return super ids, secret_id: false end