module Contracts::Invariants

Public Class Methods

common(base) click to toggle source
# File lib/contracts/invariants.rb, line 11
def self.common(base)
  return if base.respond_to?(:Invariant)

  base.extend(InvariantExtension)
end
extended(base) click to toggle source
# File lib/contracts/invariants.rb, line 7
def self.extended(base)
  common base
end
included(base) click to toggle source
# File lib/contracts/invariants.rb, line 3
def self.included(base)
  common base
end

Public Instance Methods

verify_invariants!(method) click to toggle source
# File lib/contracts/invariants.rb, line 17
def verify_invariants!(method)
  return unless self.class.respond_to?(:invariants)

  self.class.invariants.each do |invariant|
    invariant.check_on(self, method)
  end
end