Sha256: 9c45838298bf1d0831134565910605f9e7fce37f68bf28e769a40043ed4e842d

Contents?: true

Size: 748 Bytes

Versions: 1

Compression:

Stored size: 748 Bytes

Contents

require 'governor_states/rails'

states = Governor::Plugin.new('states')

states.register_model_callback do |base|
  base.send :default_scope, base.where(:state => 'published')
  base.state_machine :initial => :draft do
    event :draft do
      transition [:hidden, :published] => :draft
    end
    
    event :publish do
      transition [:draft, :hidden] => :published
    end
    
    event :hide do
      transition :published => :hidden
    end
    
    state :draft do
    end
    
    state :published do
    end
    
    state :hidden do
    end
  end
end

states.register_partial :after_article_description, 'articles/current_state'
states.register_partial :bottom_of_form, 'articles/states_form'

Governor::PluginManager.register states

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
governor_states-0.1.0 lib/governor_states.rb