Module: Slug::InstanceMethods
- Defined in:
- lib/slug/slug.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#reset_slug ⇒ Object
Overwrite existing slug based on current contents of source column.
-
#set_slug(opts = {}) ⇒ Object
Sets the slug.
-
#to_param ⇒ Object
Overrides to_param to return the model’s slug.
Class Method Details
.included(klass) ⇒ Object
62 63 64 |
# File 'lib/slug/slug.rb', line 62 def self.included(klass) klass.extend(ClassMethods) end |
Instance Method Details
#reset_slug ⇒ Object
Overwrite existing slug based on current contents of source column.
53 54 55 |
# File 'lib/slug/slug.rb', line 53 def reset_slug set_slug(:force => true) end |
#set_slug(opts = {}) ⇒ Object
Sets the slug. Called before create. By default, set_slug won’t change slug if one already exists. Pass :force => true to overwrite.
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/slug/slug.rb', line 40 def set_slug(opts={}) validate_slug_columns return unless self[self.slug_column].blank? || opts[:force] == true original_slug = self[self.slug_column] self[self.slug_column] = self.send(self.slug_source) strip_diacritics_from_slug normalize_slug assign_slug_sequence unless self[self.slug_column] == original_slug # don't try to increment seq if slug hasn't changed end |
#to_param ⇒ Object
Overrides to_param to return the model’s slug.
58 59 60 |
# File 'lib/slug/slug.rb', line 58 def to_param self[self.slug_column] end |