grape-slack-bot 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4cd56999a5a9b67729fe61e5f95a79f6a0ab89aeafaa43f7537b4501fe6b81a
4
- data.tar.gz: 867a61f2c1f28c82f1c0d3e5bef97ecf6602176c7d89fe221d57c8161048b628
3
+ metadata.gz: 82392f6ebad8f2ffdf5eb575cfb6c76773567805144202cd8d9ca3124fc7352e
4
+ data.tar.gz: 8829c6658a0577206e927f1750b4d5c063c4666abc1d37b2428134ec65f05358
5
5
  SHA512:
6
- metadata.gz: 1bed9b092db2eaa13610c7e892663d2d5313321d49dc5e097b7278a1d12f9e47d812e101f153892b8b3d7a71cb5141a2fc189fd5689f54cbcd36ae747e7510f3
7
- data.tar.gz: bce0459566f928181c2bef05062109d11f2633717c06e60841b2001c003bf0d317b92f234ed1eb7b0fdba0424120fd7fe6886f7753cedc3a2f784c3cd03a78c1
6
+ metadata.gz: 23f3d1b7e26aa66af1e8e0a0f0ca74c4b534b016a341aed1c1d47746e46a9df9d6280eb1a5671d75a331ed6f36c79e16cd08e37486ce521d051d656b1966ffd6
7
+ data.tar.gz: e1f2d01b86e6134a49f92f2a84d5ed9f7943a1a80f8b6c528f941f5de431dbd8fdff48c13d03407a79db1a93846acc32cc9d32055975dcc20e2565f13830444a
data/README.md CHANGED
@@ -141,6 +141,7 @@ SlackBot::Config.configure do
141
141
 
142
142
  # TODO: Register event handlers
143
143
  event :app_home_opened, MySlackBot::AppHomeOpenedEvent
144
+ interaction MySlackBot::AppHomeInteraction
144
145
 
145
146
  # TODO: Register slash command handlers
146
147
  slash_command_endpoint :game, MySlackBot::Game::MenuCommand do
@@ -21,12 +21,18 @@ module SlackBot
21
21
  @callback_user_finder_method = method_lambda
22
22
  end
23
23
 
24
+ def interaction(interaction_klass, handler_name: nil)
25
+ handler_name ||= interaction_klass.name
26
+ handler_class(handler_name, interaction_klass)
27
+ end
28
+
24
29
  def event_handlers
25
30
  @event_handlers ||= {}
26
31
  end
27
32
 
28
- def event(event_type, event_klass)
29
- handler_class(event_klass.name, event_klass)
33
+ def event(event_type, event_klass, handler_name: nil)
34
+ handler_name ||= event_klass.name
35
+ handler_class(handler_name, event_klass)
30
36
  event_handlers[event_type.to_sym] = event_klass
31
37
  end
32
38
 
@@ -34,12 +40,17 @@ module SlackBot
34
40
  event_handlers[event_type.to_sym]
35
41
  end
36
42
 
37
- def slash_command_endpoint(url_token, command_klass = nil, &block)
43
+ def slash_command_endpoint(url_token, command_klass = nil, handler_name: nil, &block)
38
44
  @slash_command_endpoints ||= {}
39
45
  @slash_command_endpoints[url_token.to_sym] ||=
40
46
  begin
41
47
  endpoint =
42
- SlashCommandEndpointConfig.new(url_token, command_klass: command_klass, config: self)
48
+ SlashCommandEndpointConfig.new(
49
+ url_token,
50
+ command_klass: command_klass,
51
+ config: self,
52
+ handler_name: handler_name
53
+ )
43
54
  endpoint.instance_eval(&block) if block_given?
44
55
  endpoint
45
56
  end
@@ -81,16 +92,19 @@ module SlackBot
81
92
 
82
93
  class SlashCommandEndpointConfig
83
94
  attr_reader :url_token, :command_klass, :routes, :config
84
- def initialize(url_token, config:, command_klass: nil, routes: {})
95
+ def initialize(url_token, config:, command_klass: nil, routes: {}, handler_name: nil)
85
96
  @url_token = url_token
86
97
  @command_klass = command_klass
87
98
  @routes = routes
88
99
  @config = config
89
100
 
90
- config.handler_class(command_klass.name, command_klass) if command_klass.present?
101
+ if command_klass.present?
102
+ handler_name ||= command_klass.name
103
+ config.handler_class(handler_name, command_klass)
104
+ end
91
105
  end
92
106
 
93
- def command(command_token, command_klass, &block)
107
+ def command(command_token, command_klass, handler_name: nil, &block)
94
108
  @command_configs ||= {}
95
109
  @command_configs[command_token.to_sym] ||=
96
110
  begin
@@ -98,7 +112,8 @@ module SlackBot
98
112
  SlashCommandConfig.new(
99
113
  command_klass: command_klass,
100
114
  token: command_token,
101
- endpoint: self
115
+ endpoint: self,
116
+ handler_name: handler_name
102
117
  )
103
118
  command.instance_eval(&block) if block_given?
104
119
  command
@@ -127,14 +142,16 @@ module SlackBot
127
142
  end
128
143
 
129
144
  attr_accessor :command_klass, :token, :parent_configs, :endpoint
130
- def initialize(command_klass:, token:, endpoint:, parent_configs: [])
145
+ def initialize(command_klass:, token:, endpoint:, parent_configs: [], handler_name: nil)
131
146
  @command_klass = command_klass
132
147
  @token = token
133
148
  @parent_configs = parent_configs || []
134
149
  @endpoint = endpoint
135
150
 
136
151
  endpoint.routes[full_token] = self
137
- endpoint.config.handler_class(command_klass.name, command_klass)
152
+
153
+ handler_name ||= command_klass.name
154
+ endpoint.config.handler_class(handler_name, command_klass)
138
155
  end
139
156
 
140
157
  def argument_command(argument_token, klass = nil, &block)
data/lib/slack_bot.rb CHANGED
@@ -22,5 +22,5 @@ require 'slack_bot/pager'
22
22
  require 'slack_bot/grape_extension'
23
23
 
24
24
  module SlackBot
25
- VERSION = '1.6.1'.freeze
25
+ VERSION = '1.6.2'.freeze
26
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-slack-bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov