class Declarative::DeepDup

Public Class Methods

call(args) click to toggle source
# File lib/declarative/deep_dup.rb, line 3
def self.call(args)
  return Array[*dup_items(args)] if args.is_a?(Array)
  return ::Hash[dup_items(args)] if args.is_a?(::Hash)
  args
end

Private Class Methods

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