Module: BCDD::Contract::Core::Factory::Callbacks

Defined in:
lib/bcdd/contract/core/factory.rb

Instance Method Summary collapse

Instance Method Details

#extended(base) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/bcdd/contract/core/factory.rb', line 10

def extended(base)
  if !base.is_a?(::Module) || base.is_a?(::Class)
    raise Error, 'A contract checker can only be extended by a module'
  end

  mod = Module.new
  mod.send(:include, Core::Checker)

  base.const_set(:CHECKING, self::CHECKING)
  base.const_set(:STRATEGY, self::STRATEGY)
  base.extend(mod)
end

#included(_base) ⇒ Object

Raises:



6
7
8
# File 'lib/bcdd/contract/core/factory.rb', line 6

def included(_base)
  raise Error, 'A contract checker cannot be included'
end