Module: FriendlyId::History::FinderMethods
Instance Method Summary
collapse
#exists?, #find, #find_by_friendly_id, #parse_friendly_id, #potential_primary_key?, #raise_not_found_exception
Instance Method Details
#exists_by_friendly_id?(id) ⇒ Boolean
87
88
89
|
# File 'lib/friendly_id/history.rb', line 87
def exists_by_friendly_id?(id)
super || joins(:slugs).where(slug_history_clause(parse_friendly_id(id))).exists?
end
|
#first_by_friendly_id(id) ⇒ Object
93
94
95
|
# File 'lib/friendly_id/history.rb', line 93
def first_by_friendly_id(id)
super || slug_table_record(parse_friendly_id(id))
end
|
#slug_history_clause(id) ⇒ Object
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
|
#slug_table_record(id) ⇒ Object
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)).order(Slug.arel_table[:id].desc).first
end
|