Sha256: 5388775222dea18956bc313b75fd6f54b01d9a24b2c67b4c87b316209ac76e97
Contents?: true
Size: 966 Bytes
Versions: 2
Compression:
Stored size: 966 Bytes
Contents
module CoreExtensions module Object def deep_clone case self when Fixnum, Bignum, Float, NilClass, FalseClass, TrueClass, Symbol klone = self when Hash klone = clone each { |k, v| klone[k] = v.deep_clone } when Array klone = clone klone.clear each { |v| klone << v.deep_clone } else klone = clone end klone.deep_clone_instance_variables klone end def send_unless method, *args, &_block (block_given? ? yield : self) || send(method, *args) end def send_if method, *args, &_block (block_given? ? yield : self) && send(method, *args) end def to_name Card::Name.new self end def to_viewname Card::ViewName.new self end def deep_clone_instance_variables instance_variables.each do |v| instance_variable_set v, instance_variable_get(v).deep_clone end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
card-1.18.6 | config/initializers/01_core_extensions/object.rb |
card-1.18.5 | config/initializers/01_core_extensions/object.rb |