Class: Checken::DSL::PermissionDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/checken/dsl/permission_dsl.rb

Instance Method Summary collapse

Constructor Details

#initialize(permission) ⇒ PermissionDSL

Returns a new instance of PermissionDSL.



5
6
7
# File 'lib/checken/dsl/permission_dsl.rb', line 5

def initialize(permission)
  @permission = permission
end

Instance Method Details

#context(*contexts) ⇒ Object



27
28
29
30
31
# File 'lib/checken/dsl/permission_dsl.rb', line 27

def context(*contexts)
  contexts.each do |context|
    @permission.add_context(context)
  end
end

#context!(*contexts) ⇒ Object



33
34
35
36
# File 'lib/checken/dsl/permission_dsl.rb', line 33

def context!(*contexts)
  @permission.remove_all_contexts
  context(*contexts)
end

#depends_on(path) ⇒ Object



13
14
15
# File 'lib/checken/dsl/permission_dsl.rb', line 13

def depends_on(path)
  @permission.add_dependency(path)
end

#include_rule(key, options = {}, &block) ⇒ Object



17
18
19
# File 'lib/checken/dsl/permission_dsl.rb', line 17

def include_rule(key, options = {}, &block)
  @permission.include_rule(key, options, &block)
end

#requires_object(*names) ⇒ Object



21
22
23
24
25
# File 'lib/checken/dsl/permission_dsl.rb', line 21

def requires_object(*names)
  names.each do |name|
    @permission.add_required_object_type(name)
  end
end

#rule(key, &block) ⇒ Object



9
10
11
# File 'lib/checken/dsl/permission_dsl.rb', line 9

def rule(key, &block)
  @permission.add_rule(key, &block)
end