class DebugIsTruncated
DebugIsTruncated extends the default Logger to truncate debug messages
Public Instance Methods
debug(s)
click to toggle source
Calls superclass method
# File src/ruby/pb/test/server.rb, line 44 def debug(s) super(truncate(s, 1024)) end
truncate(s, truncate_at, options = {})
click to toggle source
Truncates a given text
after a given length
if
text
is longer than length
:
'Once upon a time in a world far far away'.truncate(27) # => "Once upon a time in a wo..."
Pass a string or regexp :separator
to truncate
text
at a natural break:
'Once upon a time in a world far far away'.truncate(27, separator: ' ') # => "Once upon a time in a..." 'Once upon a time in a world far far away'.truncate(27, separator: /\s/) # => "Once upon a time in a..."
The last characters will be replaced with the :omission
string
(defaults to “…”) for a total length not exceeding length
:
'And they found that many people were sleeping better.'.truncate(25, omission: '... (continued)') # => "And they f... (continued)"
# File src/ruby/pb/test/server.rb, line 66 def truncate(s, truncate_at, options = {}) return s unless s.length > truncate_at omission = options[:omission] || '...' with_extra_room = truncate_at - omission.length stop = if options[:separator] rindex(options[:separator], with_extra_room) || with_extra_room else with_extra_room end "#{s[0, stop]}#{omission}" end