module Slacktail::HasText

Public Instance Methods

text() click to toggle source
# File lib/slacktail/has_text.rb, line 5
def text
  @text ||= text!
end
text!() click to toggle source
# File lib/slacktail/has_text.rb, line 9
def text!
  return '' unless data.text

  result = data.text
  result = sanitize_text result
  result = evaluate_users result
  result
end
text_lines() click to toggle source
# File lib/slacktail/has_text.rb, line 18
def text_lines
  word_wrap("   #{text}").split("\n").map(&:strip)
end

Private Instance Methods

evaluate_users(text) click to toggle source
# File lib/slacktail/has_text.rb, line 28
def evaluate_users(text)
  text.gsub(/<@([^>]+)>/) do
    user = client.users[$1]&.name || "anonymous"
    "@#{user}"
  end
end
sanitize_text(text) click to toggle source
# File lib/slacktail/has_text.rb, line 24
def sanitize_text(text)
  data.text.gsub(/```\n?/, '').strip
end