class Uber::InheritableAttr::Clone

Public Class Methods

call(value, uncloneable=uncloneable()) click to toggle source

The second argument allows injecting more types.

# File lib/uber/inheritable_attr.rb, line 28
def self.call(value, uncloneable=uncloneable())
  uncloneable.each { |klass| return value if value.kind_of?(klass) }
  value.clone
end
uncloneable() click to toggle source
# File lib/uber/inheritable_attr.rb, line 33
def self.uncloneable
  [Symbol, TrueClass, FalseClass, NilClass]
end