module Declarative::DeepDup

Public Class Methods

call(args) click to toggle source
# File lib/declarative/deep_dup.rb, line 5
def self.call(args)
  case args
  when Array
    Array[*dup_items(args)]
  when ::Hash
    ::Hash[dup_items(args)]
  else
    args

  end
end
dup_items(arr) click to toggle source
# File lib/declarative/deep_dup.rb, line 17
def self.dup_items(arr)
  arr.to_a.collect { |v| call(v) }
end