mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Merge rubygems-2.6.13.
see details for this update: http://blog.rubygems.org/2017/08/27/2.6.13-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1a1930180c
commit
c5da5b1ea2
11 changed files with 193 additions and 8 deletions
|
@ -6,13 +6,26 @@ require 'rubygems'
|
|||
|
||||
module Gem::Text
|
||||
|
||||
##
|
||||
# Remove any non-printable characters and make the text suitable for
|
||||
# printing.
|
||||
def clean_text(text)
|
||||
text.gsub(/[\000-\b\v-\f\016-\037\177]/, ".".freeze)
|
||||
end
|
||||
|
||||
def truncate_text(text, description, max_length = 100_000)
|
||||
raise ArgumentError, "max_length must be positive" unless max_length > 0
|
||||
return text if text.size <= max_length
|
||||
"Truncating #{description} to #{max_length.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse} characters:\n" + text[0, max_length]
|
||||
end
|
||||
|
||||
##
|
||||
# Wraps +text+ to +wrap+ characters and optionally indents by +indent+
|
||||
# characters
|
||||
|
||||
def format_text(text, wrap, indent=0)
|
||||
result = []
|
||||
work = text.dup
|
||||
work = clean_text(text)
|
||||
|
||||
while work.length > wrap do
|
||||
if work =~ /^(.{0,#{wrap}})[ \n]/ then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue