Module: SecretId::ActiveRecord::Core::ClassMethods
- Defined in:
- lib/secret_id/active_record.rb
Instance Method Summary collapse
-
#find(*ids) ⇒ Object
Override ActiveRecord::Core#find decoding ids, if is necessary.
Instance Method Details
#find(*ids) ⇒ Object
Override ActiveRecord::Core#find decoding ids, if is necessary
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# 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 = ids.slice!(ids.size - 1) if ids.last.kind_of?(Hash) ||= {} return super ids, secret_id: false if [: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 |