class Sinatra::Slack::Helpers::ActionRequest

Representation of a Action request sent from Slack Servers.

Attributes

name[R]
value[R]

Public Class Methods

new(name, value) click to toggle source
# File lib/sinatra/slack/helpers/action_request.rb, line 11
def initialize(name, value)
  @name = name
  @value = value
end
parse(params) click to toggle source
# File lib/sinatra/slack/helpers/action_request.rb, line 16
def self.parse(params)
  payload = JSON.parse params['payload']

  return unless payload['type'] == 'interactive_message'

  action = payload['actions'].first
  value = action['value'] if action.key?('value')
  value = action['selected_options'].first['value'] if action.key?('selected_options')
  name = payload['callback_id']

  new(name, value)
end