38 lines
797 B
Ruby
38 lines
797 B
Ruby
module Mutant
|
|
# Module for support methods
|
|
#
|
|
# They would normally be defined on the root namespace.
|
|
# But it is easier to create the Zombie when there are no
|
|
# References to the root namespace name within the library.
|
|
#
|
|
module Helper
|
|
|
|
# Return deep clone of object
|
|
#
|
|
# @param [Object] object
|
|
#
|
|
# @return [Object] object
|
|
#
|
|
# @api private
|
|
#
|
|
def self.deep_clone(object)
|
|
Marshal.load(Marshal.dump(object))
|
|
end
|
|
|
|
# Extract option from options hash
|
|
#
|
|
# @param [Hash] options
|
|
# @param [Object] key
|
|
#
|
|
# @return [Object] value
|
|
#
|
|
# @api private
|
|
#
|
|
def self.extract_option(options, key)
|
|
options.fetch(key) do
|
|
raise ArgumentError,"Missing #{key.inspect} in options"
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|