Class: Checken::DSL::SetDSL
- Inherits:
-
Object
- Object
- Checken::DSL::SetDSL
- Defined in:
- lib/checken/dsl/set_dsl.rb
Instance Attribute Summary collapse
-
#contexts ⇒ Object
readonly
Returns the value of attribute contexts.
-
#dependencies ⇒ Object
readonly
Returns the value of attribute dependencies.
-
#included_rules ⇒ Object
readonly
Returns the value of attribute included_rules.
-
#required_object_types ⇒ Object
readonly
Returns the value of attribute required_object_types.
-
#rules ⇒ Object
readonly
Returns the value of attribute rules.
Instance Method Summary collapse
- #context(*contexts) ⇒ Object
- #depends_on(*paths) ⇒ Object
- #group(key, &block) ⇒ Object
- #include_rule(key, options = {}, &block) ⇒ Object
-
#initialize(group_dsl) ⇒ SetDSL
constructor
A new instance of SetDSL.
- #permission(name, description = nil, &block) ⇒ Object
- #requires_object(*names) ⇒ Object
- #rule(name, &block) ⇒ Object
- #set(&block) ⇒ Object
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
#contexts ⇒ Object (readonly)
Returns the value of attribute contexts.
8 9 10 |
# File 'lib/checken/dsl/set_dsl.rb', line 8 def contexts @contexts end |
#dependencies ⇒ Object (readonly)
Returns the value of attribute dependencies.
7 8 9 |
# File 'lib/checken/dsl/set_dsl.rb', line 7 def dependencies @dependencies end |
#included_rules ⇒ Object (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_types ⇒ Object (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 |
#rules ⇒ Object (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, = {}, &block) @included_rules[key] = begin rule = IncludedRule.new(key, &block) rule.condition = [:if] rule end end |
#permission(name, description = nil, &block) ⇒ Object
50 51 52 |
# File 'lib/checken/dsl/set_dsl.rb', line 50 def (name, description = nil, &block) @group_dsl.(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 |