module Contracts::Invariants
Public Class Methods
Source
# File lib/contracts/invariants.rb, line 13 def self.common(base) return if base.respond_to?(:Invariant) base.extend(InvariantExtension) end
Source
# File lib/contracts/invariants.rb, line 9 def self.extended(base) common base end
Source
# File lib/contracts/invariants.rb, line 5 def self.included(base) common base end
Public Instance Methods
Source
# File lib/contracts/invariants.rb, line 19 def verify_invariants!(method) return unless self.class.respond_to?(:invariants) self.class.invariants.each do |invariant| invariant.check_on(self, method) end end