class Ivar::ExplicitKeywordDeclaration

Represents an explicit declaration that initializes from keyword arguments

def before_init(instance, args, kwargs)

Parameters:
  • kwargs (Hash) -- Keyword arguments
  • args (Array) -- Positional arguments
  • instance (Object) -- The object being initialized
def before_init(instance, args, kwargs)
  super
  kwarg_name = @name.to_s.delete_prefix("@").to_sym
  if kwargs.key?(kwarg_name)
    instance.instance_variable_set(@name, kwargs.delete(kwarg_name))
  end
end

def kwarg_init? = true

Returns:
  • (Boolean) - Whether this declaration uses keyword argument initialization
def kwarg_init? = true