50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/vex/base/string/string_ext.rb', line 50
def _truncate(opts)
opts = { :length => opts, :omission => "…" } unless opts.is_a?(Hash)
max_length = opts[:length] || 30
omission = opts[:omission] || "…"
if respond_to?(:mb_chars)
l = max_length - omission.mb_chars.length
if mb_chars.length > max_length
return (mb_chars[0...l] + omission).to_s
end
else
l = max_length - omission.length
if length > max_length
return self[0...l] + omission
end
end
self
end
|