class Socrates::Adapters::Console
Constants
- CLIENT_ID
Public Class Methods
new(name: "@socrates")
click to toggle source
Calls superclass method
Socrates::Adapters::StubUserDirectory::new
# 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