1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
# frozen_string_literal: true
require "contracts/engine/base"
require "contracts/engine/target"
require "contracts/engine/eigenclass"
require "forwardable"
module Contracts
# Engine facade, normally you shouldn't refer internals of Engine
# module directly.
module Engine
class << self
extend Forwardable
# .apply(klass) - enables contracts engine on klass
# .applied?(klass) - returns true if klass has contracts engine
# .fetch_from(klass) - returns contracts engine for klass
def_delegators :base_engine, :apply, :applied?, :fetch_from
private
def base_engine
Base
end
end
end
end
|