4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/publishable.rb', line 4
def acts_as_publishable(options = {})
options = { :column => :status, :initial_state => :unpublished }.merge(options)
include AASM
aasm_column options[:column]
aasm_state :unpublished
aasm_state :published
aasm_initial_state options[:initial_state]
aasm_event :publish do
transitions :to => :published, :from => [:unpublished]
end
aasm_event :unpublish do
transitions :to => :unpublished, :from => [:published]
end
end
|