Sha256: aa8f43fd3534e1b2d0ff329d15f4a9daced690f672ce565eff7dcab648533c2e
Contents?: true
Size: 682 Bytes
Versions: 40
Compression:
Stored size: 682 Bytes
Contents
# frozen_string_literal: true require_relative 'method_decorator' require_relative 'engine' require_relative 'engine_proxy' module Ree::Contracts module Contractable def method_added(name) MethodDecorator.new(name, false, self).call super end def singleton_method_added(name) MethodDecorator.new(name, true, self).call super end def doc(str) return if Ree::Contracts.no_contracts? engine = Engine.fetch_for(self) engine.add_doc(str.strip) end def contract(*args, &block) engine = Engine.fetch_for(self) engine.add_contract(*args, &block) EngineProxy.new(engine) end end end
Version data entries
40 entries across 40 versions & 1 rubygems