Sha256: 5c6b73ac8b7baf3587a1a9f45030204e2f13fdc4ae86276990238041dd6bdb78
Contents?: true
Size: 909 Bytes
Versions: 3
Compression:
Stored size: 909 Bytes
Contents
module Slugged module SlugHistory extend ActiveSupport::Concern included do after_save :record_slug_changes after_destroy :remove_slug_history! end module InstanceMethods def previous_slugs Slugged.previous_slugs_for(self) end def remove_slug_history! Slugged.remove_slug_history_for(self) end protected def record_slug_changes slug_column = self.cached_slug_column return unless send(:"#{slug_column}_changed?") value = send(:"#{slug_column}_was") Slugged.record_slug(self, value) if value.present? end end module ClassMethods def find_using_slug_history(slug, options = {}) id = Slugged.last_known_slug_id(self, slug) id.present? ? find_by_id(id, options) : nil end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
slugged-0.4.0 | lib/slugged/slug_history.rb |
slugged-0.3.3 | lib/slugged/slug_history.rb |
slugged-0.3.2 | lib/slugged/slug_history.rb |