Module: DSeL::DSL::Nodes::Base::Environment

Included in:
APIBuilder::Environment, Direct::Environment, Proxy::Environment
Defined in:
lib/dsel/dsl/nodes/base/environment.rb

Constant Summary collapse

DSEL_NODE_ACCESSOR =
:_dsel_node
DSEL_NODE_IVAR =
"@#{DSEL_NODE_ACCESSOR}".to_sym

Instance Method Summary collapse

Instance Method Details

#_dsel_selfObject



22
23
24
# File 'lib/dsel/dsl/nodes/base/environment.rb', line 22

def _dsel_self
    _dsel_node.subject
end

#_dsel_shared_variablesObject



18
19
20
# File 'lib/dsel/dsl/nodes/base/environment.rb', line 18

def _dsel_shared_variables
    _dsel_node.shared_variables
end

#_dsel_variablesObject



26
27
28
29
30
31
32
# File 'lib/dsel/dsl/nodes/base/environment.rb', line 26

def _dsel_variables
    s = {}
    instance_variables.each do |ivar|
        s[ivar.to_s.sub( '@', '' ).to_sym] = instance_variable_get( ivar )
    end
    s.freeze
end

#instance_variablesObject



14
15
16
# File 'lib/dsel/dsl/nodes/base/environment.rb', line 14

def instance_variables
    super.tap { |ivars| ivars.delete DSEL_NODE_IVAR }
end

#Parent(&block) ⇒ Object



34
35
36
37
38
# File 'lib/dsel/dsl/nodes/base/environment.rb', line 34

def Parent( &block )
    fail 'Already root.' if _dsel_node.root?

    _dsel_node.parent.run( &block )
end

#Root(&block) ⇒ Object



40
41
42
43
# File 'lib/dsel/dsl/nodes/base/environment.rb', line 40

def Root( &block )
    fail 'Already root.' if _dsel_node.root?
    _dsel_node.root.run( &block )
end