Method: Lawyer::BrokenContract#to_s

Defined in:
lib/lawyer/broken_contract.rb

#to_sObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/lawyer/broken_contract.rb', line 11

def to_s
  str = "#{@subject} does not implement <#{@contract}>\n"
  str << explain_violations(@method_missing_violations, "missing")
  str << "\n" if @method_missing_violations.any? &&
                (@wrong_arity_violations.any? || @wrong_signature_violations.any?)
  str << explain_violations(@wrong_arity_violations, "with the wrong arity")
  str << "\n" if (@method_missing_violations.any? || @wrong_arity_violations.any?) &&
                 @wrong_signature_violations.any?
  str << explain_violations(@wrong_signature_violations, "with the wrong signature")
  str
end