Class: Checken::DSL::SetDSL

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(group_dsl) ⇒ SetDSL



11
12
13
14
15
16
17
18
# File 'lib/checken/dsl/set_dsl.rb', line 11

def initialize(group_dsl)
  @group_dsl = group_dsl
  @rules = {}
  @required_object_types = []
  @dependencies = []
  @contexts = []
  @included_rules = {}
end

Instance Attribute Details

#contextsObject (readonly)

Returns the value of attribute contexts.



8
9
10
# File 'lib/checken/dsl/set_dsl.rb', line 8

def contexts
  @contexts
end

#dependenciesObject (readonly)

Returns the value of attribute dependencies.



7
8
9
# File 'lib/checken/dsl/set_dsl.rb', line 7

def dependencies
  @dependencies
end

#included_rulesObject (readonly)

Returns the value of attribute included_rules.



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

def included_rules
  @included_rules
end

#required_object_typesObject (readonly)

Returns the value of attribute required_object_types.



6
7
8
# File 'lib/checken/dsl/set_dsl.rb', line 6

def required_object_types
  @required_object_types
end

#rulesObject (readonly)

Returns the value of attribute rules.



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

def rules
  @rules
end

Instance Method Details

#context(*contexts) ⇒ Object



44
45
46
47
48
# File 'lib/checken/dsl/set_dsl.rb', line 44

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

#depends_on(*paths) ⇒ Object



38
39
40
41
42
# File 'lib/checken/dsl/set_dsl.rb', line 38

def depends_on(*paths)
  paths.each do |path|
    @dependencies << path
  end
end

#group(key, &block) ⇒ Object



54
55
56
57
# File 'lib/checken/dsl/set_dsl.rb', line 54

def group(key, &block)
  # Pass the group back to the source group.
  @group_dsl.group(key, &block)
end

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



24
25
26
27
28
29
30
# File 'lib/checken/dsl/set_dsl.rb', line 24

def include_rule(key, options = {}, &block)
  @included_rules[key] = begin
    rule = IncludedRule.new(key, &block)
    rule.condition = options[:if]
    rule
  end
end

#permission(name, description = nil, &block) ⇒ Object



50
51
52
# File 'lib/checken/dsl/set_dsl.rb', line 50

def permission(name, description = nil, &block)
  @group_dsl.permission(name, description, &block)
end

#requires_object(*names) ⇒ Object



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

def requires_object(*names)
  names.each do |name|
    @required_object_types << name
  end
end

#rule(name, &block) ⇒ Object



20
21
22
# File 'lib/checken/dsl/set_dsl.rb', line 20

def rule(name, &block)
  @rules[name] = Rule.new(name, &block)
end

#set(&block) ⇒ Object



59
60
61
# File 'lib/checken/dsl/set_dsl.rb', line 59

def set(&block)
  @group_dsl.set(&block)
end