Sha256: 0e0ab02a58c3c2cb6248114a5cdc33bb9daf9aa1434824b2b7cb9fcb92fcdd34

Contents?: true

Size: 807 Bytes

Versions: 27

Compression:

Stored size: 807 Bytes

Contents

class Group < ActiveRecord::Base
  has_paper_trail
  has_many :permissions, :dependent => :destroy
  has_many :memberships, :dependent => :destroy
  has_many :users, :through => :memberships
  include Soapbox::Group if File.exists? "app/models/soapbox/group.rb"
  
  def can?(action, object)
    begin
      return true if self.permissions.can?("admin","Global")
      return true if self.permissions.can?(action,"Global")
      return true if self.permissions.can?("admin",object)
      return self.permissions.can?(action,object)
    rescue
      false
    end
  end
  
  def permissions_attributes=(permissions)
    self.permissions.delete_all
    permissions.each do |object, hash|
      hash.each do |can,val|
        self.permissions.build({:object => object, :can => can})
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
soapbox-0.3.1 app/models/group.rb
soapbox-0.3.0 app/models/group.rb
soapbox-0.2.24 app/models/group.rb
soapbox-0.2.23 app/models/group.rb
soapbox-0.2.21 app/models/group.rb
soapbox-0.2.20 app/models/group.rb
soapbox-0.2.18 app/models/group.rb
soapbox-0.2.16 app/models/group.rb
soapbox-0.2.15 app/models/group.rb
soapbox-0.2.14 app/models/group.rb
soapbox-0.2.12 app/models/group.rb
soapbox-0.2.11 app/models/group.rb
soapbox-0.2.10 app/models/group.rb
soapbox-0.2.9 app/models/group.rb
soapbox-0.2.8 app/models/group.rb
soapbox-0.2.7 app/models/group.rb
soapbox-0.2.6 app/models/group.rb
soapbox-0.2.5 app/models/group.rb
soapbox-0.2.4 app/models/group.rb
soapbox-0.2.3 app/models/group.rb