Sha256: 685b7aa5e20776f19b320fc0d2c7374173783a39bd05c9560e9f11426bc1c22a

Contents?: true

Size: 491 Bytes

Versions: 73

Compression:

Stored size: 491 Bytes

Contents

module Suspendable
  extend ActiveSupport::Concern
  
  included do
    field :suspended_at, :as => :datetime
    scope :suspended, where("suspended_at IS NULL")
  end
  
  def active?
    super && !suspended? 
  end 

  def inactive_message 
    !suspended? ? super : :suspended 
  end 

  def suspend!
    update_attributes(:suspended_at => Time.now.utc) 
  end 

  def unsuspend! 
    update_attributes(:suspended_at => nil) 
  end 

  def suspended? 
    !suspended_at.nil? 
  end
  
end

Version data entries

73 entries across 73 versions & 1 rubygems

Version Path
fullstack-admin-0.2.5 app/models/suspendable.rb
fullstack-admin-0.2.4 app/models/suspendable.rb
fullstack-admin-0.2.3 app/models/suspendable.rb
fullstack-admin-0.2.2 app/models/suspendable.rb
fullstack-admin-0.2.1 app/models/suspendable.rb
fullstack-admin-0.1.56 app/models/suspendable.rb
fullstack-admin-0.1.55 app/models/suspendable.rb
fullstack-admin-0.1.54 app/models/suspendable.rb
fullstack-admin-0.1.53 app/models/suspendable.rb
fullstack-admin-0.1.52 app/models/suspendable.rb
fullstack-admin-0.1.51 app/models/suspendable.rb
fullstack-admin-0.1.50 app/models/suspendable.rb
fullstack-admin-0.1.49 app/models/suspendable.rb
fullstack-admin-0.1.48 app/models/suspendable.rb
fullstack-admin-0.1.47 app/models/suspendable.rb
fullstack-admin-0.1.46 app/models/suspendable.rb
fullstack-admin-0.1.45 app/models/suspendable.rb
fullstack-admin-0.1.44 app/models/suspendable.rb
fullstack-admin-0.1.43 app/models/suspendable.rb
fullstack-admin-0.1.42 app/models/suspendable.rb