class T::Props::Private::ApplyDefaultFactory
Public Class Methods
new(cls, factory, accessor_key, setter_proc)
click to toggle source
Calls superclass method
T::Props::Private::ApplyDefault::new
# File lib/types/props/private/apply_default.rb, line 149 def initialize(cls, factory, accessor_key, setter_proc) @class = T.let(cls, Module) @factory = T.let(factory, T.any(Proc, Method)) super(accessor_key, setter_proc) end
Public Instance Methods
default()
click to toggle source
# File lib/types/props/private/apply_default.rb, line 165 def default @class.class_exec(&@factory) end
set_default(instance)
click to toggle source
# File lib/types/props/private/apply_default.rb, line 157 def set_default(instance) # Use the actual setter to validate the factory returns a legitimate # value every time instance.instance_exec(default, &@setter_proc) end