class Uber::InheritableAttr::Clone

Public Class Methods

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

The second argument allows injecting more types.

# File lib/garcon/utility/uber/inheritable_attr.rb, line 25
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/garcon/utility/uber/inheritable_attr.rb, line 30
def self.uncloneable
  [Symbol, TrueClass, FalseClass, NilClass]
end