module InitCopy::Copyable
The instance variable name is long and obnoxious to reduce conflicts.
@author Jonathan Bradley Whited @since 0.1.0
Public Class Methods
new(*)
click to toggle source
@since 0.1.1
Calls superclass method
# File lib/init_copy.rb, line 82 def initialize(*) super @init_copy_method_name = DEFAULT_COPY_NAME end
Public Instance Methods
clone(*)
click to toggle source
Calls superclass method
# File lib/init_copy.rb, line 97 def clone(*) @init_copy_method_name = :clone super end
dup(*)
click to toggle source
Calls superclass method
# File lib/init_copy.rb, line 102 def dup(*) @init_copy_method_name = :dup super end
initialize_clone(*)
click to toggle source
Calls superclass method
# File lib/init_copy.rb, line 87 def initialize_clone(*) @init_copy_method_name = :clone super end
initialize_dup(*)
click to toggle source
Calls superclass method
# File lib/init_copy.rb, line 92 def initialize_dup(*) @init_copy_method_name = :dup super end
Private Instance Methods
copy(var)
click to toggle source
# File lib/init_copy.rb, line 109 def copy(var) return var.__send__(@init_copy_method_name) end
safe_copy(var)
click to toggle source
# File lib/init_copy.rb, line 113 def safe_copy(var) @init_copy_method_name = DEFAULT_COPY_NAME if @init_copy_method_name.nil? return var.respond_to?(@init_copy_method_name) ? var.__send__(@init_copy_method_name) : var end