Class: Lawyer::Contract
- Inherits:
-
Object
- Object
- Lawyer::Contract
- Defined in:
- lib/lawyer/contract.rb
Class Method Summary collapse
Class Method Details
.check!(subject) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/lawyer/contract.rb', line 14 def check!(subject) klass = subject.is_a?(Class) ? subject : subject.class violations = self.clauses.map do |clause| clause.check(klass) end violations.compact! if violations.any? raise Lawyer::BrokenContract.new(klass, self, violations) end end |
.clauses ⇒ Object
6 7 8 |
# File 'lib/lawyer/contract.rb', line 6 def clauses @clauses ||= [] end |