Module: FriendlyId::History::FinderMethods
- Includes:
- FinderMethods
- Defined in:
- lib/friendly_id/history.rb
Instance Method Summary
(collapse)
#exists?, #find, #find_by_friendly_id, #potential_primary_key?
Instance Method Details
- (Boolean) exists_by_friendly_id?(id)
86
87
88
|
# File 'lib/friendly_id/history.rb', line 86
def exists_by_friendly_id?(id)
joins(:slugs).where(arel_table[friendly_id_config.query_field].eq(id)).exists? || joins(:slugs).where(slug_history_clause(id)).exists?
end
|
- (Object) first_by_friendly_id(id)
92
93
94
95
|
# File 'lib/friendly_id/history.rb', line 92
def first_by_friendly_id(id)
matching_record = where(friendly_id_config.query_field => id).first
matching_record || slug_table_record(id)
end
|
- (Object) slug_history_clause(id)
101
102
103
|
# File 'lib/friendly_id/history.rb', line 101
def slug_history_clause(id)
Slug.arel_table[:sluggable_type].eq(base_class.to_s).and(Slug.arel_table[:slug].eq(id))
end
|
- (Object) slug_table_record(id)
97
98
99
|
# File 'lib/friendly_id/history.rb', line 97
def slug_table_record(id)
select(quoted_table_name + '.*').joins(:slugs).where(slug_history_clause(id)).first
end
|