Sha256: a152fe2651efe01f6743564f756994136cde0b088fc4d6d74469b40b3590ff7a
Contents?: true
Size: 1.49 KB
Versions: 2
Compression:
Stored size: 1.49 KB
Contents
require 'parameters/param' module Parameters class InstanceParam < Param # Owning object attr_reader :object # # Creates a new InstanceParam object. # # @param [Object] object # The object containing the instance variable for the instance # parameter. # # @param [Symbol, String] name # The name of the instance parameter. # # @param [Class, Array[Class]] type # The enforced type of the instance parameter. # # @param [String, nil] description # The description of the instance parameter. # def initialize(object,name,type=nil,description=nil) super(name,type,description) @object = object end # # @return # The value of the instance param. # def value @object.instance_variable_get(:"@#{@name}") end # # Sets the value of the instance param. # # @param [Object] value # The new value of the instance param. # # @return [Object] # The new value of the instance param. # def value=(value) @object.instance_variable_set(:"@#{@name}",coerce(value)) end # # @return [String] # Representation of the instance param. # def to_s text = @name.to_s text << " [#{value.inspect}]" if value text << "\t#{@description}" if @description return text end # # @return [String] # Inspection of the instance params value. # def inspect value.inspect end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
parameters-0.2.1 | lib/parameters/instance_param.rb |
parameters-0.2.0 | lib/parameters/instance_param.rb |