module ArrayToSelfConvert
Attributes
deep_clone[RW]
Public Class Methods
included(klass)
click to toggle source
Calls superclass method
# File lib/screening.rb, line 8 def self.included(klass) methods = ::Array.public_instance_methods(true) - ::Kernel.public_instance_methods(false) methods |= ["to_s","to_a","inspect","==","=~","==="] methods.each do |method| define_method(method) do |*args, &block| res = super(*args, &block) if res.class == Array && method != 'to_a' cloned = deep_clone ? Marshal.load(Marshal.dump(self)) : self.dup cloned.clear.concat(res) else res end end end end