Module: Gluttonberg::Content::SlugManagement::InstanceMethods

Defined in:
lib/gluttonberg/content/slug_management.rb

Instance Method Summary collapse

Instance Method Details

#get_slug_sourceObject



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/gluttonberg/content/slug_management.rb', line 28

def get_slug_source
  if self.class.slug_source_field_name.blank?
    if self.respond_to?(:name)
      self.class.slug_source_field_name= :name
    elsif self.respond_to?(:title)
      self.class.slug_source_field_name= :title
    else
      self.class.slug_source_field_name= :id
    end
  end
  self.class.slug_source_field_name
end

#slug=(new_slug) ⇒ Object



41
42
43
44
45
46
47
48
49
50
# File 'lib/gluttonberg/content/slug_management.rb', line 41

def slug=(new_slug)
  #if you're changing this regex, make sure to change the one in /javascripts/slug_management.js too
  # utf-8 special chars are fixed for new ruby 1.9.2
  unless new_slug.blank?
    new_slug = new_slug.downcase.gsub(/\s/, '_').gsub(/[\!\*'"″′‟‛„‚”“”˝\(\)\;\:\.\@\&\=\+\$\,\/?\%\#\[\]]/, '')
    new_slug = new_slug.gsub('__','_') # remove consective underscores
    new_slug = new_slug.gsub(/_$/,'') # remove trailing underscore
  end  
  write_attribute(:slug, new_slug)
end