Sha256: 4d64d3effa105885d68e96154005e6151e920c4662b081b34dc6fa7374472c76

Contents?: true

Size: 572 Bytes

Versions: 3

Compression:

Stored size: 572 Bytes

Contents

class Post < ActiveRecord::Base
  belongs_to :category

  validates :title, presence: true, uniqueness: true
  validates :body, presence: true

  DRAFT = 'draft'
  REVIEWED = 'reviewed'
  PUBLISHED = 'published'
  ARCHIVED = 'archived'

  state_machine :status, initial: DRAFT do
    event :peer_review do
      transition DRAFT => REVIEWED
    end

    event :publish do
      transition REVIEWED => PUBLISHED
    end

    event :archive do
      transition any - ARCHIVED => ARCHIVED
    end

    event :reopen do
      transition any - DRAFT => DRAFT
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
active_admin-state_machine-1.0.0.pre1 spec/dummy/app/models/post.rb
rs-active_admin-state_machine-0.2.1 spec/dummy/app/models/post.rb
rs-active_admin-state_machine-0.2.0 spec/dummy/app/models/post.rb