Class: Babl::Nodes::InternalValue

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/babl/nodes/internal_value.rb

Overview

This Node plays a role similar to TerminalValue, but it does not perform any type checking on the produced object, which is allowed to be any Ruby object, including non-serializable objects.

It is used when the output is not rendered (conditions in #switch, values passed to block in #with, …)

Instance Method Summary collapse

Instance Method Details

#dependenciesObject

:nocov:



22
23
24
# File 'lib/babl/nodes/internal_value.rb', line 22

def dependencies
    Utils::Hash::EMPTY
end

#optimizeObject



34
35
36
# File 'lib/babl/nodes/internal_value.rb', line 34

def optimize
    self
end

#pinned_dependenciesObject



26
27
28
# File 'lib/babl/nodes/internal_value.rb', line 26

def pinned_dependencies
    Utils::Hash::EMPTY
end

#render(frame) ⇒ Object



30
31
32
# File 'lib/babl/nodes/internal_value.rb', line 30

def render(frame)
    frame.object
end

#schemaObject

:nocov:



17
18
19
# File 'lib/babl/nodes/internal_value.rb', line 17

def schema
    raise Errors::InvalidTemplate, 'Internal nodes cannot be documented'
end