Class: Typed::Builder::DefaultType

Inherits:
Object
  • Object
show all
Includes:
BaseType
Defined in:
lib/typed/builder.rb

Instance Method Summary collapse

Methods included from BaseType

#call, #constrained, #constructor, #default, #enum, #instance, #missable, #nullable, #|

Constructor Details

#initialize(base_type, &default_value) ⇒ DefaultType

Returns a new instance of DefaultType.



168
169
170
171
# File 'lib/typed/builder.rb', line 168

def initialize(base_type, &default_value)
    @base_type = base_type
    @default_value = default_value
end

Instance Method Details

#process(value) ⇒ Object



173
174
175
176
# File 'lib/typed/builder.rb', line 173

def process(value)
    new_value = Typed::Undefined.equal?(value) ? default_value.call : value
    base_type.process(new_value)
end