Module: SlackBot::GrapeHelpers::Dispatch

Included in:
SlackBot::GrapeHelpers
Defined in:
lib/slack_bot/grape_helpers/dispatch.rb

Instance Method Summary collapse

Instance Method Details

#dispatch_event(handler:, params:, current_user:) ⇒ Object



30
31
32
33
# File 'lib/slack_bot/grape_helpers/dispatch.rb', line 30

def dispatch_event(handler:, params:, current_user:)
  config.event_dispatcher_method.call(handler: handler, params: params, current_user: current_user)
  false
end

#events_callback(params) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/slack_bot/grape_helpers/dispatch.rb', line 4

def events_callback(params)
  verify_slack_team!

  event = params[:event]
  return false if event.blank?
  return false if bot_message_event?(event)

  SlackBot::DevConsole.log_input "SlackApi::Events#events_callback: #{params.inspect}"
  handler = event_handler_for(params)
  return false if handler.blank?

  run_event_handler(handler, params)
end

#resolve_event_user(params) ⇒ Object



26
27
28
# File 'lib/slack_bot/grape_helpers/dispatch.rb', line 26

def resolve_event_user(params)
  resolve_user_session(params[:team_id] || params["team_id"], fetch_user_id)&.user
end

#resolve_user_session(team_id, user_id) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/slack_bot/grape_helpers/dispatch.rb', line 18

def resolve_user_session(team_id, user_id)
  return if team_id.blank? || user_id.blank?

  config.user_session_resolver!.call(team_id, user_id)
rescue SlackBot::Errors::ConfigurationError
  nil
end