mirror of
https://github.com/thoughtbot/shoulda-matchers.git
synced 2022-11-09 12:01:38 -05:00
36 lines
911 B
Ruby
36 lines
911 B
Ruby
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 <<EOT
|
|
#{old_method} is deprecated and will be removed in the next major
|
|
release. Please use #{new_method} instead.
|
|
EOT
|
|
end
|
|
|
|
# Source: <https://www.ruby-forum.com/topic/57805>
|
|
# @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
|