Class: Pseudocephalopod::Slug

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/pseudocephalopod/slug.rb

Class Method Summary collapse

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

Returns:

  • (Boolean)


31
32
33
# File 'lib/pseudocephalopod/slug.rb', line 31

def self.usable?
  table_exists? rescue false
end