Module: Kernel

Defined in:
lib/veneer/core_ext/kernel.rb

Instance Method Summary collapse

Instance Method Details

#Veneer(obj, opts = {}) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/veneer/core_ext/kernel.rb', line 2

def Veneer(obj, opts = {})
  case obj
  when Class
    obj::VeneerInterface::ClassWrapper.new(obj, opts)
  when Veneer::Base::ClassWrapper, Veneer::Base::InstanceWrapper
    obj
  when nil
    nil
  else
    obj.class::VeneerInterface::InstanceWrapper.new(obj, opts)
  end
rescue NameError => e
  puts e.message
  raise Veneer::Errors::NotCompatible
end