module Shoulda module Matchers TERMINAL_MAX_WIDTH = 72 # @private def self.warn(message) header = "Warning from shoulda-matchers:" divider = "*" * TERMINAL_MAX_WIDTH wrapped_message = word_wrap(message, TERMINAL_MAX_WIDTH) full_message = [ divider, [header, wrapped_message.strip].join("\n\n"), divider ].join("\n") Kernel.warn(full_message) end # @private def self.warn_about_deprecated_method(old_method, new_method) warn < # @private def self.word_wrap(text, width=80) text. gsub(/\n+/, " "). gsub( /(\S{#{width}})(?=\S)/, '\1 ' ). gsub( /(.{1,#{width}})(?:\s+|$)/, "\\1\n" ) end end end