Class: Monty::Permission

Inherits:
Object
  • Object
show all
Defined in:
lib/monty/permission.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Permission

Returns a new instance of Permission.

Parameters:

  • name (String, Symbol)

    permission reference.



11
12
13
14
# File 'lib/monty/permission.rb', line 11

def initialize(name)
  @name = name.to_s
  @resources = []
end

Instance Attribute Details

#nameObject

Name of permission



6
7
8
# File 'lib/monty/permission.rb', line 6

def name
  @name
end

#resourcesObject

Array of resource objects that define the access rights for this permission



8
9
10
# File 'lib/monty/permission.rb', line 8

def resources
  @resources
end

Instance Method Details

#regex_patternObject

Returns String representing all resources defining this permission.

Returns:

  • String representing all resources defining this permission



26
27
28
# File 'lib/monty/permission.rb', line 26

def regex_pattern
  resources.collect{|r| "(#{r.regex_pattern})"}.join("|")
end

#resource(name, &block) ⇒ Object

Returns new resource.

Parameters:

  • name (String, Symbol)

    resource reference.

Returns:

  • new resource



18
19
20
21
22
23
# File 'lib/monty/permission.rb', line 18

def resource(name, &block)
  resource =  Monty::Resource.new(name)
  resource.instance_eval(&block) if block_given?
  @resources << resource
  resource
end