Module: FlickrMocks::CustomClone

Included in:
FlickRaw::Response, FlickRaw::ResponseList
Defined in:
lib/flickr_mocks/flickraw/custom_clone.rb

Overview

module is included in classes that wrap the FlickRaw::Response and FlickRaw::ResponseList objects. Module is used internally.

Instance Method Summary collapse

Instance Method Details

#initialize_copy(orig) ⇒ Object

special ruby method that overrides Ruby’s cloning method.



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/flickr_mocks/flickraw/custom_clone.rb', line 7

def initialize_copy(orig)
  super
  cloned = @h.clone
  @h = cloned.each_pair do |key,value|
    case value
    when Fixnum then next
    when String then cloned[key] = value.clone
    when Array then cloned[key] = value.clone.map do |elem| elem.clone end
    when FlickRaw::Response then cloned[key] = value.clone
    end
  end
end