Class: AccessContext
- Inherits:
-
Object
show all
- Defined in:
- lib/access_context.rb,
lib/access_context/role.rb,
lib/access_context/version.rb,
lib/access_context/permission.rb,
lib/access_context/configuration.rb
Defined Under Namespace
Modules: Configuration
Classes: Error, Permission, Role
Constant Summary
collapse
- VERSION =
"1.0.0"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(type, name, target) ⇒ AccessContext
Returns a new instance of AccessContext.
39
40
41
42
43
|
# File 'lib/access_context.rb', line 39
def initialize(type, name, target)
@type = type.to_sym
@name = name.to_sym
@target = target.to_sym
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
37
38
39
|
# File 'lib/access_context.rb', line 37
def name
@name
end
|
#target ⇒ Object
Returns the value of attribute target.
37
38
39
|
# File 'lib/access_context.rb', line 37
def target
@target
end
|
#type ⇒ Object
Returns the value of attribute type.
37
38
39
|
# File 'lib/access_context.rb', line 37
def type
@type
end
|
Class Method Details
.config(&block) ⇒ Object
15
16
17
|
# File 'lib/access_context.rb', line 15
def config(&block)
Configuration.module_eval(&block)
end
|
.controller(name, target) ⇒ Object
19
20
21
|
# File 'lib/access_context.rb', line 19
def controller(name, target)
AccessContext.new(:controller, name, target)
end
|
.job(name, target) ⇒ Object
31
32
33
|
# File 'lib/access_context.rb', line 31
def job(name, target)
AccessContext.new(:job, name, target)
end
|
.service(name, target) ⇒ Object
23
24
25
|
# File 'lib/access_context.rb', line 23
def service(name, target)
AccessContext.new(:service, name, target)
end
|
.view(name, target) ⇒ Object
27
28
29
|
# File 'lib/access_context.rb', line 27
def view(name, target)
AccessContext.new(:view, name, target)
end
|
Instance Method Details
#==(context) ⇒ Object
55
56
57
58
59
|
# File 'lib/access_context.rb', line 55
def ==(context)
type == context.type &&
name == context.name &&
target == context.target
end
|
#permit?(user) ⇒ Boolean
45
46
47
|
# File 'lib/access_context.rb', line 45
def permit?(user)
permit_role?(user.role)
end
|
#permit_role?(role) ⇒ Boolean
49
50
51
52
53
|
# File 'lib/access_context.rb', line 49
def permit_role?(role)
AccessContext::Role[role].permissions.any? do |permission|
permission.permit?(self)
end
end
|