Module: StringHelper

Defined in:
mygame/lib/sprite_kit/string_helper.rb

Constant Summary collapse

ELLIPSIS =
"...".freeze

Class Method Summary collapse

Class Method Details

.truncate(text, size_enum: nil, size_px: nil, font: nil, max_width: nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'mygame/lib/sprite_kit/string_helper.rb', line 4

def self.truncate(text, size_enum: nil, size_px: nil, font: nil, max_width: nil)
  if !max_width
    return text
  end

  cur_width, = GTK.calcstringbox(text, size_px: size_px, size_enum: size_enum, font: font)

  if cur_width <= max_width
    return text
  end

  (text.length - 1).downto 0 do |i|
    truncated = "#{text[0..i]}#{ELLIPSIS}"
    cur_width, = GTK.calcstringbox(truncated, size_px: size_px, size_enum: size_enum, font: font)
    return truncated if cur_width <= max_width
  end

  ""
end