Sha256: 1df6a652eb9b0d2cbbec3c2ac90f5af01f5dfc6caa905d3d939774772510295a
Contents?: true
Size: 558 Bytes
Versions: 16
Compression:
Stored size: 558 Bytes
Contents
module Kernel # Universal assignment. This is a meta-programming # method, which allows you to assign any type of variable. def instance_assign( name, value ) k = name.to_s v = value /^([@$]{0,2})/ =~ k case $1 when '$', '@@' instance_eval %Q{ #{k} = v } when '@' instance_variable_set( k, v ) else return __send__( "#{k}=", v ) if respond_to?("#{k}=") # No accessor? What to do? Assume instance var, or error? ... self.instance_variable_set( "@#{k}", v ) end return value end end
Version data entries
16 entries across 16 versions & 1 rubygems