Sha256: 07c5ff07cb93f3f68c9183a7bd61a660923d5144247a48320d5b67421f36cf1a
Contents?: true
Size: 815 Bytes
Versions: 1
Compression:
Stored size: 815 Bytes
Contents
module Kernel def state(data=nil) if state instance_variables.each do |iv| name = iv.to_s.sub(/^[@]/, '').to_sym instance_variable_set(iv, data[name]) end else data = Hash.new instance_variables.each do |iv| name = iv.to_s.sub(/^[@]/, '').to_sym data[name] = instance_variable_get(iv) end data end end end class Array def state(data=nil) data ? replace(data) : dup end end class String def state(data=nil) data ? replace(data) : dup end end class Hash def state(data=nil) data ? replace(data) : dup end end class Struct def state(data=nil) if data data.each_pair {|k,v| send(k.to_s + "=", v)} else data = Hash.new each_pair{|k,v| data[k] = v} data end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
facets-2.6.0 | lib/core/facets/kernel/state.rb |