Class: Structured::Nullable

Inherits:
Object
  • Object
show all
Defined in:
lib/structured/nullable.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type) ⇒ Nullable



7
8
9
# File 'lib/structured/nullable.rb', line 7

def initialize(type)
  @type = type
end

Class Method Details

.[](type) ⇒ Object



3
4
5
# File 'lib/structured/nullable.rb', line 3

def self.[](type)
  new(type)
end

Instance Method Details

#default_valueObject



11
12
13
# File 'lib/structured/nullable.rb', line 11

def default_value
  nil
end

#parse(yaml_value, stack:, context: nil) ⇒ Object



15
16
17
18
# File 'lib/structured/nullable.rb', line 15

def parse(yaml_value, stack:, context: nil)
  return yaml_value if yaml_value.nil?
  @type.parse(yaml_value, stack: stack, context: context)
end

#type_nameObject



20
21
22
# File 'lib/structured/nullable.rb', line 20

def type_name
  "Nullable[#{@type.type_name}]"
end