Class: Class

Inherits:
Object
  • Object
show all
Defined in:
lib/rdbc/contract.rb

Instance Method Summary collapse

Instance Method Details

#contract(contract_class) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/rdbc/contract.rb', line 50

def contract(contract_class)
  old_new = self.method(:new)
  (class << self; self; end).send(:define_method, :new) do |*args|
    object = old_new.call(*args)
    contract_class.new(object)
  end
end