2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/obs_deck/modules/my_methods.rb', line 2
def self.create_card(card_sample, max_width = 60)
if card_sample == "Pae White's non-blank graphic metacard"
card =
" \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n | |\n | |\n | |\n | |\n | |\n | |\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n Pae White's non-blank graphic metacard\n HEREDOC\n else\n\n # Split the card sample into words\n words = card_sample.split(' ')\n lines = []\n current_line = \"\"\n\n # Build lines based on max width\n words.each do |word|\n if (current_line + word).length <= max_width\n current_line += \"\#{word} \"\n else\n lines << current_line.strip\n current_line = \"\#{word} \"\n end\n end\n lines << current_line.strip unless current_line.empty?\n\n # Determine the width of the card based on the longest line\n # Kinda unnecessary\n #card_width = [max_width, lines.map(&:length).max].max\n card_width = max_width\n\n # Create the card with dynamic borders\n border = \"\u2013\" * (card_width + 4)\n card = \"\#{border}\\n\"\n card += \"| \#{' ' * card_width} |\\n\"\n\n lines.each do |line|\n # Calculate padding for centering\n padding = (card_width - line.length) / 2\n # Centered line with spaces on both sides\n centered_line = ' ' * padding + line\n\n # Add centered line to card\n card += \"| \#{centered_line.ljust(card_width)} |\\n\"\n\n # Add blank line after each text line\n card += \"| \#{' ' * card_width} |\\n\"\n end\n\n card += border\n\n card\n end\nend\n"
|