From 80f28c3862da72172a55d3e0218faad5cdd46b4b Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 5 May 2015 14:57:27 -0700 Subject: properly bind 'global.services' and 'global.tags' in the right environment in the macros. --- lib/leap_cli/core_ext/deep_dup.rb | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 lib/leap_cli/core_ext/deep_dup.rb (limited to 'lib/leap_cli/core_ext') diff --git a/lib/leap_cli/core_ext/deep_dup.rb b/lib/leap_cli/core_ext/deep_dup.rb new file mode 100644 index 0000000..b9cf0d3 --- /dev/null +++ b/lib/leap_cli/core_ext/deep_dup.rb @@ -0,0 +1,53 @@ +unless Hash.method_defined?(:deep_dup) + + class Array + def deep_dup + map { |it| it.deep_dup } + end + end + + class Hash + def deep_dup + each_with_object(dup) do |(key, value), hash| + hash[key.deep_dup] = value.deep_dup + end + end + end + + class String + def deep_dup + self.dup + end + end + + class Integer + def deep_dup + self + end + end + + class Float + def deep_dup + self + end + end + + class TrueClass + def deep_dup + self + end + end + + class FalseClass + def deep_dup + self + end + end + + class NilClass + def deep_dup + self + end + end + +end \ No newline at end of file -- cgit v1.2.3