class Socrates::Adapters::Console

Constants

CLIENT_ID

Public Class Methods

new(name: "@socrates") click to toggle source
# File lib/socrates/adapters/console.rb, line 12
def initialize(name: "@socrates")
  super()
  @name = name
end

Public Instance Methods

channel_from(context: nil, user: nil) click to toggle source
# File lib/socrates/adapters/console.rb, line 23
def channel_from(context: nil, user: nil)
  raise ArgumentError, "Must provide one of :context or :user" if context.nil? && user.nil?

  if context&.fetch(:channel).present?
    context[:channel]
  elsif user.present?
    display_user(user)
  else
    "?"
  end
end
client_id_from(context: nil, user: nil) click to toggle source
# File lib/socrates/adapters/console.rb, line 17
def client_id_from(context: nil, user: nil)
  raise ArgumentError, "Must provide one of :context or :user" if context.nil? && user.nil?

  CLIENT_ID
end

Private Instance Methods

colorize(str, color_code) click to toggle source
# File lib/socrates/adapters/console.rb, line 45
def colorize(str, color_code)
  "\e[#{color_code}m#{str}\e[0m"
end
display_user(user) click to toggle source
# File lib/socrates/adapters/console.rb, line 37
def display_user(user)
  (user&.name || user&.id || user)&.upcase
end
send_message(channel, message) click to toggle source
# File lib/socrates/adapters/console.rb, line 41
def send_message(channel, message)
  puts "\n#{colorize(channel, "34;1")}: #{message}"
end