Class: SpudPermission

Inherits:
Object
  • Object
show all
Defined in:
app/models/spud_permission.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tag, name, apps = nil) ⇒ SpudPermission

Returns a new instance of SpudPermission.



5
6
7
8
9
# File 'app/models/spud_permission.rb', line 5

def initialize(tag, name, apps=nil)
  self.tag = tag
  self.name = name
  self.apps = apps || []
end

Instance Attribute Details

#appsObject

Returns the value of attribute apps.



3
4
5
# File 'app/models/spud_permission.rb', line 3

def apps
  @apps
end

#nameObject

Returns the value of attribute name.



3
4
5
# File 'app/models/spud_permission.rb', line 3

def name
  @name
end

#tagObject

Returns the value of attribute tag.



3
4
5
# File 'app/models/spud_permission.rb', line 3

def tag
  @tag
end

Class Method Details

.allObject

Returns all permissions



29
30
31
# File 'app/models/spud_permission.rb', line 29

def self.all
  return TbCore.permissions
end

.find(tag) ⇒ Object

Find a permission by tag



12
13
14
# File 'app/models/spud_permission.rb', line 12

def self.find(tag)
  return TbCore.permissions.find{ |p| p.tag == tag }
end

.grouped_by_tagObject

Returns hash of permissions, grouped by tag namespace



17
18
19
20
21
# File 'app/models/spud_permission.rb', line 17

def self.grouped_by_tag
  return TbCore.permissions.group_by do |p|
    p.tag.split('.').first
  end
end

.sorted_by_tagObject

Returns array permissions sorted by tag



24
25
26
# File 'app/models/spud_permission.rb', line 24

def self.sorted_by_tag
  return TbCore.permissions.sort_by(&:tag)
end