Module: EncodedId::Rails::QueryMethods
- Defined in:
- lib/encoded_id/rails/query_methods.rb
Overview
Provides query methods for finding records using encoded IDs in where clauses.
Instance Method Summary collapse
Instance Method Details
#where_encoded_id(*slugged_encoded_ids) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/encoded_id/rails/query_methods.rb', line 15 def where_encoded_id(*slugged_encoded_ids) slugged_encoded_ids = slugged_encoded_ids.flatten raise ::ActiveRecord::RecordNotFound if slugged_encoded_ids.empty? decoded_ids = slugged_encoded_ids.flat_map do |slugged_encoded_id| decode_encoded_id(slugged_encoded_id).tap do |decoded_id| raise ::ActiveRecord::RecordNotFound if decoded_id.nil? end end where(id: decoded_ids) end |