Class: SlackAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/socrates/adapters/slack_adapter.rb

Instance Method Summary collapse

Constructor Details

#initialize(slack_real_time_client) ⇒ SlackAdapter

Returns a new instance of SlackAdapter.



2
3
4
# File 'lib/socrates/adapters/slack_adapter.rb', line 2

def initialize(slack_real_time_client)
  @slack_real_time_client = slack_real_time_client
end

Instance Method Details

#client_id_from_context(context) ⇒ Object



6
7
8
# File 'lib/socrates/adapters/slack_adapter.rb', line 6

def client_id_from_context(context)
  context&.user
end

#send_direct_message(message, user) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/socrates/adapters/slack_adapter.rb', line 14

def send_direct_message(message, user, *)
  user = user.id if user.respond_to?(:id)

  im_channel = lookup_im_channel(user)

  @slack_real_time_client.message(text: message, channel: im_channel)
end

#send_message(message, context:) ⇒ Object



10
11
12
# File 'lib/socrates/adapters/slack_adapter.rb', line 10

def send_message(message, context:)
  @slack_real_time_client.message(text: message, channel: context.channel)
end