module ManualSlug::ActiveRecordMod::ClassMethods

Public Instance Methods

manual_slug(field, options = {}, callback = true) click to toggle source
# File lib/manual_slug/active_record_mod.rb, line 16
def manual_slug(field, options = {}, callback = true)
  unless options.key?(:use)
    options[:use] = [:finders, :slugged, :history]
  end

  friendly_id field, options

  define_method(:should_generate_new_friendly_id?) do
    slug.blank?
  end

  skip_callback :validation, :before, :set_slug
  before_validation do
    if self.slug.blank?
      self.send(:set_slug)
    end
    true
  end if callback
end