class ReeObject::ToObj
def call(obj, **opts)
def call(obj, **opts) dump = to_hash(obj) options = prepare_options(opts) if opts[:include] dump = slice(dump, options[:include]) end if opts[:exclude] dump = except(dump, options[:exclude]) end if opts[:global_exclude] dump = except(dump, global_except: options[:global_exclude]) end ancestors = dump.class.ancestors return dump if ancestors.intersection(BASIC_TYPES).size > 0 if dump.is_a?(Array) build_array(dump) else recursively_assign(Object.new, dump) end end