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

Version Path
facets-1.4.1 lib/facets/core/kernel/instance_assign.rb
facets-1.4.0 lib/facets/core/kernel/instance_assign.rb
facets-1.4.2 lib/facets/core/kernel/instance_assign.rb
facets-1.4.3 lib/facets/core/kernel/instance_assign.rb
facets-1.4.4 lib/facets/core/kernel/instance_assign.rb
facets-1.4.5 lib/facets/core/kernel/instance_assign.rb
facets-1.7.0 lib/facets/core/kernel/instance_assign.rb
facets-1.7.30 lib/facets/core/kernel/instance_assign.rb
facets-1.7.38 lib/facets/core/kernel/instance_assign.rb
facets-1.7.46 lib/facets/core/kernel/instance_assign.rb
facets-1.8.0 lib/facets/core/kernel/instance_assign.rb
facets-1.8.20 lib/facets/core/kernel/instance_assign.rb
facets-1.8.49 lib/facets/core/kernel/instance_assign.rb
facets-1.8.51 lib/facets/core/kernel/instance_assign.rb
facets-1.8.54 lib/facets/core/kernel/instance_assign.rb
facets-1.8.8 lib/facets/core/kernel/instance_assign.rb