Class: Babl::Nodes::Typed
- Inherits:
-
Object
- Object
- Babl::Nodes::Typed
- Defined in:
- lib/babl/nodes/typed.rb
Constant Summary collapse
- CURRIED =
method(:new).curry(2)
- BOOLEAN =
CURRIED.call(Schema::Typed::BOOLEAN)
- INTEGER =
CURRIED.call(Schema::Typed::INTEGER)
- NUMBER =
CURRIED.call(Schema::Typed::NUMBER)
- STRING =
CURRIED.call(Schema::Typed::STRING)
Instance Method Summary collapse
Instance Method Details
#dependencies ⇒ Object
14 15 16 |
# File 'lib/babl/nodes/typed.rb', line 14 def dependencies node.dependencies end |
#pinned_dependencies ⇒ Object
18 19 20 |
# File 'lib/babl/nodes/typed.rb', line 18 def pinned_dependencies node.pinned_dependencies end |
#render(ctx) ⇒ Object
22 23 24 25 26 |
# File 'lib/babl/nodes/typed.rb', line 22 def render(ctx) value = node.render(ctx) return value if schema.classes.any? { |clazz| clazz === value } raise Errors::RenderingError, "Expected type '#{schema.type}': #{value}\n#{ctx.formatted_stack}" end |