Module: Slugs::ActiveRecord::Base::ClassMethods

Defined in:
lib/slugs/active_record/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#slugObject

Returns the value of attribute slug.



41
42
43
# File 'lib/slugs/active_record/base.rb', line 41

def slug
  @slug
end

Instance Method Details

#has_slug(*args, &block) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/slugs/active_record/base.rb', line 52

def has_slug(*args, &block)
  unless sluggable?
    if respond_to? :translatable? and translatable?
      include Slugs::ActiveRecord::Translatable
      attr_translatable :slug
      before_validation :generate_slugs
    else
      include Slugs::ActiveRecord::NonTranslatable
      before_validation :generate_slug
    end
    if block_given?
      self.slug = block
    else
      self.slug = args.size == 1 ? args[0] : args
    end
  end
end

#inherited(subclass) ⇒ Object



43
44
45
46
# File 'lib/slugs/active_record/base.rb', line 43

def inherited(subclass)
  subclass.slug = slug
  super
end

#sluggable?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/slugs/active_record/base.rb', line 48

def sluggable?
  slug.present?
end