Class: Pseudocephalopod::Slug
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Pseudocephalopod::Slug
- Defined in:
- lib/pseudocephalopod/slug.rb
Class Method Summary collapse
- .id_for(scope, slug) ⇒ Object
- .previous_for(record) ⇒ Object
- .record_slug(record, slug) ⇒ Object
- .remove_history_for(record) ⇒ Object
- .usable? ⇒ Boolean
Class Method Details
.id_for(scope, slug) ⇒ Object
12 13 14 |
# File 'lib/pseudocephalopod/slug.rb', line 12 def self.id_for(scope, slug) ordered.for_slug(scope, slug).first.try(:record_id) end |
.previous_for(record) ⇒ Object
23 24 25 |
# File 'lib/pseudocephalopod/slug.rb', line 23 def self.previous_for(record) ordered.only_slug.for_record(record).all.map(&:slug) end |
.record_slug(record, slug) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/pseudocephalopod/slug.rb', line 16 def self.record_slug(record, slug) scope = Pseudocephalopod.key_for_scope(record) # Clear slug history in this scope before recording the new slug for_slug(scope, slug).delete_all create :scope => scope, :record_id => record.id, :slug => slug.to_s end |
.remove_history_for(record) ⇒ Object
27 28 29 |
# File 'lib/pseudocephalopod/slug.rb', line 27 def self.remove_history_for(record) for_record(record).delete_all end |
.usable? ⇒ Boolean
31 32 33 |
# File 'lib/pseudocephalopod/slug.rb', line 31 def self.usable? table_exists? rescue false end |