module FriendlyId::History::FinderMethods
Public Instance Methods
exists_by_friendly_id?(id)
click to toggle source
Calls superclass method
FriendlyId::FinderMethods#exists_by_friendly_id?
# File lib/friendly_id/history.rb, line 87 def exists_by_friendly_id?(id) super || joins(:slugs).where(slug_history_clause(id)).exists? end
Private Instance Methods
first_by_friendly_id(id)
click to toggle source
Calls superclass method
FriendlyId::FinderMethods#first_by_friendly_id
# File lib/friendly_id/history.rb, line 93 def first_by_friendly_id(id) super || slug_table_record(id) end
slug_history_clause(id)
click to toggle source
# 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)
click to toggle source
# 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