grape-slack-bot 1.8.2 → 2.0.1
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 +4 -4
- data/CHANGELOG.md +49 -23
- data/README.md +153 -121
- data/grape-slack-bot.gemspec +18 -10
- data/lib/slack_bot/api_client.rb +161 -60
- data/lib/slack_bot/args.rb +2 -0
- data/lib/slack_bot/callback.rb +29 -4
- data/lib/slack_bot/callback_storage.rb +3 -3
- data/lib/slack_bot/config.rb +4 -0
- data/lib/slack_bot/errors.rb +20 -0
- data/lib/slack_bot/grape_extension.rb +138 -77
- data/lib/slack_bot/interaction.rb +38 -44
- data/lib/slack_bot/logger.rb +15 -0
- data/lib/slack_bot/menu_options.rb +4 -0
- data/lib/slack_bot/view.rb +6 -2
- data/lib/slack_bot.rb +4 -1
- data/sig/slack_bot.rbs +379 -0
- metadata +159 -37
data/sig/slack_bot.rbs
ADDED
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
module SlackBot
|
|
2
|
+
VERSION: String
|
|
3
|
+
|
|
4
|
+
class Error < StandardError
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module Errors
|
|
8
|
+
class SignatureAuthenticationError < Error
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class TeamAuthenticationError < Error
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class ChannelAuthenticationError < Error
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class UserAuthenticationError < Error
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class SlashCommandNotImplemented < Error
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class MenuOptionsNotImplemented < Error
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class CallbackNotFound < Error
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
class HandlerClassNotFound < Error
|
|
30
|
+
attr_reader class_name: String
|
|
31
|
+
attr_reader handler_classes: Hash[Symbol, Class]
|
|
32
|
+
def initialize: (String class_name, handler_classes: Hash[Symbol, Class]) -> void
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class InteractionClassNotImplemented < Error
|
|
36
|
+
attr_reader class_name: String
|
|
37
|
+
def initialize: (String class_name) -> void
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class ViewClassNotImplemented < Error
|
|
41
|
+
attr_reader class_name: String
|
|
42
|
+
def initialize: (String class_name) -> void
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
class SlackResponseError < Error
|
|
46
|
+
attr_reader error: String
|
|
47
|
+
attr_reader data: Hash[String, untyped]?
|
|
48
|
+
attr_reader payload: Hash[String, untyped]?
|
|
49
|
+
def initialize: (String error, ?data: Hash[String, untyped]?, ?payload: Hash[String, untyped]?) -> void
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
class OpenModalError < SlackResponseError
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class UpdateModalError < SlackResponseError
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
class PublishViewError < SlackResponseError
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
class CallbackUserMismatchError < Error
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class InvalidPayloadError < Error
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
class SlackApiError < Error
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
class UnknownActionTypeError < Error
|
|
71
|
+
attr_reader action_type: String
|
|
72
|
+
def initialize: (String action_type) -> void
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
class NotImplementedError < Error
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
class Config
|
|
80
|
+
def self.current_instance: () -> Config
|
|
81
|
+
def self.configure: () { (Config) -> void } -> void
|
|
82
|
+
|
|
83
|
+
attr_reader callback_storage_instance: untyped
|
|
84
|
+
def callback_storage: (untyped klass) -> void
|
|
85
|
+
|
|
86
|
+
attr_reader callback_user_finder_method: Proc
|
|
87
|
+
def callback_user_finder: (Proc method_lambda) -> void
|
|
88
|
+
|
|
89
|
+
def interaction: (Class interaction_klass, ?handler_name: String?) -> void
|
|
90
|
+
def event_handlers: () -> Hash[Symbol, Class]
|
|
91
|
+
def event: (Symbol event_type, Class event_klass, ?handler_name: String?) -> void
|
|
92
|
+
def find_event_handler: (Symbol event_type) -> Class?
|
|
93
|
+
|
|
94
|
+
def slash_command_endpoint: (Symbol url_token, ?Class command_klass, ?handler_name: String?) { (SlashCommandEndpointConfig) -> void } -> SlashCommandEndpointConfig
|
|
95
|
+
def slash_command_endpoints: () -> Hash[Symbol, SlashCommandEndpointConfig]
|
|
96
|
+
def find_slash_command_config: (Symbol url_token, String command, String text) -> SlashCommandConfig?
|
|
97
|
+
|
|
98
|
+
def menu_options: (Symbol action_id, Class klass) -> void
|
|
99
|
+
def find_menu_options: (Symbol action_id) -> Class?
|
|
100
|
+
|
|
101
|
+
def handler_class: (String class_name, Class klass) -> void
|
|
102
|
+
def find_handler_class: (String class_name) -> Class
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
class SlashCommandEndpointConfig
|
|
106
|
+
attr_reader url_token: Symbol
|
|
107
|
+
attr_reader command_klass: Class?
|
|
108
|
+
attr_reader routes: Hash[String, SlashCommandConfig]
|
|
109
|
+
attr_reader config: Config
|
|
110
|
+
|
|
111
|
+
def initialize: (Symbol url_token, config: Config, ?command_klass: Class?, ?routes: Hash[String, SlashCommandConfig], ?handler_name: String?) -> void
|
|
112
|
+
|
|
113
|
+
def command: (Symbol command_token, Class command_klass, ?handler_name: String?) { (SlashCommandConfig) -> void } -> SlashCommandConfig
|
|
114
|
+
def command_configs: () -> Hash[Symbol, SlashCommandConfig]
|
|
115
|
+
def find_command_config: (String text) -> SlashCommandConfig?
|
|
116
|
+
def full_token: () -> String
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
class SlashCommandConfig
|
|
120
|
+
def self.delimiter: () -> String
|
|
121
|
+
|
|
122
|
+
attr_accessor command_klass: Class
|
|
123
|
+
attr_accessor token: Symbol
|
|
124
|
+
attr_accessor parent_configs: Array[SlashCommandConfig]
|
|
125
|
+
attr_accessor endpoint: SlashCommandEndpointConfig
|
|
126
|
+
|
|
127
|
+
def initialize: (command_klass: Class, token: Symbol, endpoint: SlashCommandEndpointConfig, ?parent_configs: Array[SlashCommandConfig], ?handler_name: String?) -> void
|
|
128
|
+
|
|
129
|
+
def argument_command: (Symbol argument_token, ?Class klass) { (SlashCommandConfig) -> void } -> SlashCommandConfig
|
|
130
|
+
def find_argument_command_config: (Symbol argument_token) -> SlashCommandConfig?
|
|
131
|
+
def full_token: () -> String
|
|
132
|
+
def url_token: () -> Symbol
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
class ArgsParser
|
|
136
|
+
def initialize: (String args) -> void
|
|
137
|
+
def call: () -> Hash[String, String]
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
class ArgsBuilder
|
|
141
|
+
def initialize: (Hash[String, untyped] args) -> void
|
|
142
|
+
def call: () -> String
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class Args
|
|
146
|
+
attr_accessor args: Hash[String, untyped]
|
|
147
|
+
|
|
148
|
+
def initialize: (?builder: Class, ?parser: Class) -> void
|
|
149
|
+
def []: (String key) -> untyped
|
|
150
|
+
def []=: (String key, untyped value) -> void
|
|
151
|
+
def raw_args=: (String raw_args) -> void
|
|
152
|
+
def to_s: () -> String
|
|
153
|
+
def merge: (**untyped other_args) -> Args
|
|
154
|
+
def except: (*Symbol keys) -> Args
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
class ApiResponse
|
|
158
|
+
attr_reader response: Faraday::Response
|
|
159
|
+
|
|
160
|
+
def initialize: () { () -> Faraday::Response } -> void
|
|
161
|
+
def ok?: () -> bool
|
|
162
|
+
def error: () -> String?
|
|
163
|
+
def data: () -> Hash[String, untyped]
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
class ApiClient
|
|
167
|
+
attr_reader client: Faraday::Connection
|
|
168
|
+
|
|
169
|
+
def initialize: (?authorization_token: String) -> void
|
|
170
|
+
|
|
171
|
+
def views_open: (trigger_id: String, view: Hash[String, untyped]) -> ApiResponse
|
|
172
|
+
def views_update: (view_id: String, view: Hash[String, untyped]) -> ApiResponse
|
|
173
|
+
def views_publish: (user_id: String, view: Hash[String, untyped]) -> ApiResponse
|
|
174
|
+
def chat_post_message: (channel: String, text: String, blocks: Array[Hash[String, untyped]]) -> ApiResponse
|
|
175
|
+
def chat_update: (channel: String, ts: String, text: String, blocks: Array[Hash[String, untyped]]) -> ApiResponse
|
|
176
|
+
def chat_delete: (channel: String, ts: String) -> ApiResponse
|
|
177
|
+
def chat_unfurl: (channel: String, ts: String, unfurls: Hash[String, untyped], ?source: String?, ?unfurl_id: String?, ?user_auth_blocks: Array[Hash[String, untyped]]?, ?user_auth_message: String?, ?user_auth_required: bool?, ?user_auth_url: String?) -> ApiResponse
|
|
178
|
+
def chat_schedule_message: (channel: String, text: String, post_at: Integer, ?blocks: Array[Hash[String, untyped]]?) -> ApiResponse
|
|
179
|
+
def scheduled_messages_list: (?channel: String?, ?cursor: String?, ?latest: Integer?, ?limit: Integer?, ?oldest: Integer?, ?team_id: String?) -> ApiResponse
|
|
180
|
+
def chat_delete_scheduled_message: (channel: String, scheduled_message_id: String) -> ApiResponse
|
|
181
|
+
def chat_get_permalink: (channel: String, message_ts: String) -> ApiResponse
|
|
182
|
+
def users_info: (user_id: String) -> ApiResponse
|
|
183
|
+
def users_list: (?cursor: String?, ?limit: Integer, ?include_locale: bool?, ?team_id: String?) -> ApiResponse
|
|
184
|
+
def chat_post_ephemeral: (channel: String, user: String, text: String, ?as_user: bool?, ?attachments: Array[Hash[String, untyped]]?, ?blocks: Array[Hash[String, untyped]]?, ?icon_emoji: String?, ?icon_url: String?, ?link_names: bool?, ?parse: String?, ?thread_ts: String?, ?username: String?) -> ApiResponse
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
class Callback
|
|
188
|
+
CALLBACK_KEY_PREFIX: String
|
|
189
|
+
CALLBACK_RECORD_EXPIRES_IN: ActiveSupport::Duration
|
|
190
|
+
|
|
191
|
+
def self.find: (String? id, ?user: untyped, ?config: Config) -> Callback?
|
|
192
|
+
def self.find_by_view_id: (String view_id, ?user: untyped, ?config: Config) -> Callback?
|
|
193
|
+
def self.create: (class_name: String, user: untyped, ?id: String?, ?channel_id: String?, ?config: Config?, ?payload: Hash[String, untyped]?, ?expires_in: ActiveSupport::Duration?, ?user_scope: bool?) -> Callback
|
|
194
|
+
def self.find_or_create: (id: String, class_name: String, user: untyped, ?channel_id: String?, ?config: Config?, ?payload: Hash[String, untyped]?, ?expires_in: ActiveSupport::Duration?, ?user_scope: bool?) -> Callback
|
|
195
|
+
|
|
196
|
+
attr_reader id: String?
|
|
197
|
+
attr_reader data: Hash[Symbol, untyped]
|
|
198
|
+
attr_reader args: Args
|
|
199
|
+
attr_reader config: Config
|
|
200
|
+
attr_reader expires_in: ActiveSupport::Duration
|
|
201
|
+
attr_reader user_scope: bool
|
|
202
|
+
|
|
203
|
+
def initialize: (?id: String?, ?class_name: String?, ?user: untyped, ?channel_id: String?, ?payload: Hash[String, untyped]?, ?config: Config?, ?expires_in: ActiveSupport::Duration?, ?user_scope: bool?, ?view_id: String?) -> void
|
|
204
|
+
|
|
205
|
+
def reload: () -> self
|
|
206
|
+
def save: () -> void
|
|
207
|
+
def update: (Hash[String, untyped] payload) -> void
|
|
208
|
+
def destroy: () -> void
|
|
209
|
+
|
|
210
|
+
def user: () -> untyped
|
|
211
|
+
def user=: (untyped user) -> void
|
|
212
|
+
def class_name=: (String class_name) -> void
|
|
213
|
+
def channel_id=: (String channel_id) -> void
|
|
214
|
+
def payload=: (Hash[String, untyped] payload) -> void
|
|
215
|
+
def view_id=: (String view_id) -> void
|
|
216
|
+
def handler_class=: (Class handler_class) -> void
|
|
217
|
+
def handler_class: () -> Class?
|
|
218
|
+
|
|
219
|
+
def read_view_callback_id: () -> String?
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
class Command
|
|
223
|
+
attr_reader current_user: untyped
|
|
224
|
+
attr_reader params: Hash[String, untyped]
|
|
225
|
+
attr_reader args: Args
|
|
226
|
+
attr_reader config: Config
|
|
227
|
+
|
|
228
|
+
def initialize: (current_user: untyped, params: Hash[String, untyped], args: String, ?config: Config) -> void
|
|
229
|
+
|
|
230
|
+
def command: () -> String
|
|
231
|
+
def text: () -> String
|
|
232
|
+
def only_user?: () -> bool
|
|
233
|
+
def only_direct_message?: () -> bool
|
|
234
|
+
def only_slack_team?: () -> bool
|
|
235
|
+
def render_response: (?String response_type, **untyped kwargs) -> Hash[String, untyped]?
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
class Interaction
|
|
239
|
+
class SlackViewsReply
|
|
240
|
+
attr_reader callback_id: String?
|
|
241
|
+
attr_reader view_id: String?
|
|
242
|
+
def initialize: (?callback_id: String?, ?view_id: String?) -> void
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
def self.open_modal: (callback: Callback?, trigger_id: String, view: Hash[String, untyped]) -> SlackViewsReply
|
|
246
|
+
def self.update_modal: (callback: Callback?, view_id: String, view: Hash[String, untyped]) -> SlackViewsReply
|
|
247
|
+
def self.publish_view: (user_id: String, view: Hash[String, untyped], ?callback: Callback?, ?metadata: Hash[String, untyped]?) -> SlackViewsReply
|
|
248
|
+
|
|
249
|
+
attr_reader current_user: untyped?
|
|
250
|
+
attr_reader params: Hash[String, untyped]?
|
|
251
|
+
attr_reader callback: Callback?
|
|
252
|
+
attr_reader config: Config
|
|
253
|
+
|
|
254
|
+
def initialize: (?current_user: untyped, ?params: Hash[String, untyped], ?callback: Callback?, ?config: Config) -> void
|
|
255
|
+
|
|
256
|
+
def call: () -> untyped
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
class Event
|
|
260
|
+
attr_reader current_user: untyped?
|
|
261
|
+
attr_reader params: Hash[String, untyped]?
|
|
262
|
+
attr_reader config: Config
|
|
263
|
+
attr_reader callback: Callback?
|
|
264
|
+
attr_reader metadata: Hash[String, untyped]?
|
|
265
|
+
|
|
266
|
+
def initialize: (?current_user: untyped, ?params: Hash[String, untyped], ?callback: Callback?, ?config: Config) -> void
|
|
267
|
+
|
|
268
|
+
def call: () -> untyped
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
class View
|
|
272
|
+
attr_reader args: Args?
|
|
273
|
+
attr_reader current_user: untyped
|
|
274
|
+
attr_reader params: Hash[String, untyped]
|
|
275
|
+
attr_reader context: Hash[String, untyped]?
|
|
276
|
+
attr_reader config: Config
|
|
277
|
+
|
|
278
|
+
def initialize: (current_user: untyped, params: Hash[String, untyped], ?args: Args, ?context: Hash[String, untyped], ?config: Config) -> void
|
|
279
|
+
|
|
280
|
+
def text_modal: () -> Hash[String, untyped]
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
class Pager
|
|
284
|
+
DEFAULT_PAGE: Integer
|
|
285
|
+
DEFAULT_LIMIT: Integer
|
|
286
|
+
|
|
287
|
+
attr_reader source_cursor: ActiveRecord::Relation
|
|
288
|
+
attr_reader args: Args
|
|
289
|
+
attr_reader limit: Integer
|
|
290
|
+
attr_reader page: Integer
|
|
291
|
+
|
|
292
|
+
def initialize: (ActiveRecord::Relation source_cursor, args: Args, ?limit: Integer, ?page: Integer) -> void
|
|
293
|
+
|
|
294
|
+
def total_count: () -> Integer
|
|
295
|
+
def pages_count: () -> Integer
|
|
296
|
+
def offset: () -> Integer
|
|
297
|
+
def cursor: () -> ActiveRecord::Relation
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
module GrapeHelpers
|
|
301
|
+
def fetch_team_id: () -> String?
|
|
302
|
+
def fetch_user_id: () -> String?
|
|
303
|
+
def verify_slack_signature!: () -> bool
|
|
304
|
+
def verify_slack_team!: () -> bool
|
|
305
|
+
def verify_direct_message_channel!: () -> bool
|
|
306
|
+
def verify_current_user!: () -> bool
|
|
307
|
+
def events_callback: (Hash[String, untyped] params) -> untyped
|
|
308
|
+
def url_verification: (Hash[String, untyped] params) -> Hash[String, String]
|
|
309
|
+
def handle_block_actions_view: (view: Hash[String, untyped]?, user: untyped, params: Hash[String, untyped]) -> untyped
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
module GrapeExtension
|
|
313
|
+
def self.included: (Class base) -> void
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
class CallbackStorage
|
|
317
|
+
def read: (String key) -> untyped
|
|
318
|
+
def write: (String key, untyped value, ?expires_in: ActiveSupport::Duration) -> void
|
|
319
|
+
def delete: (String key) -> void
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
class Logger
|
|
323
|
+
def self.error: (*untyped args, **untyped kwargs) -> void
|
|
324
|
+
def self.info: (*untyped args, **untyped kwargs) -> void
|
|
325
|
+
def self.warn: (*untyped args, **untyped kwargs) -> void
|
|
326
|
+
def self.debug: (*untyped args, **untyped kwargs) -> void
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
class DevConsole
|
|
330
|
+
def self.logger=: (Logger logger) -> void
|
|
331
|
+
def self.logger: () -> Logger
|
|
332
|
+
def self.enabled=: (bool enabled) -> void
|
|
333
|
+
def self.enabled?: () -> bool?
|
|
334
|
+
def self.log: (?String message) { () -> String } -> void
|
|
335
|
+
def self.log_input: (?String message) { () -> String } -> void
|
|
336
|
+
def self.log_output: (?String message) { () -> String } -> void
|
|
337
|
+
def self.log_check: (?String message) { () -> String } -> void
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
class MenuOptions
|
|
341
|
+
attr_reader current_user: untyped
|
|
342
|
+
attr_reader params: Hash[String, untyped]
|
|
343
|
+
attr_reader config: Config
|
|
344
|
+
|
|
345
|
+
def initialize: (current_user: untyped, params: Hash[String, untyped], ?config: Config) -> void
|
|
346
|
+
|
|
347
|
+
def call: () -> Array[Hash[String, untyped]]
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
module Concerns
|
|
351
|
+
module ViewKlass
|
|
352
|
+
def self.included: (Class base) -> void
|
|
353
|
+
|
|
354
|
+
module ClassMethods
|
|
355
|
+
def view_klass: () -> Class
|
|
356
|
+
def view: (Class klass) -> void
|
|
357
|
+
end
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
module InteractionKlass
|
|
361
|
+
def self.included: (Class base) -> void
|
|
362
|
+
|
|
363
|
+
module ClassMethods
|
|
364
|
+
def interaction_klass: () -> Class
|
|
365
|
+
def interaction: (Class klass) -> void
|
|
366
|
+
end
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
module PagerKlass
|
|
370
|
+
def self.included: (Class base) -> void
|
|
371
|
+
|
|
372
|
+
module ClassMethods
|
|
373
|
+
def pager_klass: () -> Class
|
|
374
|
+
def pager: (Class klass) -> void
|
|
375
|
+
end
|
|
376
|
+
end
|
|
377
|
+
end
|
|
378
|
+
end
|
|
379
|
+
|
metadata
CHANGED
|
@@ -1,87 +1,112 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: grape-slack-bot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrei Makarov
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rack
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
|
-
- - "
|
|
16
|
+
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
18
|
+
version: '3.0'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
|
-
- - "
|
|
23
|
+
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
25
|
+
version: '3.0'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: grape
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
|
-
- - "
|
|
30
|
+
- - ">="
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '1'
|
|
32
|
+
version: '1.6'
|
|
33
|
+
- - "<"
|
|
34
|
+
- !ruby/object:Gem::Version
|
|
35
|
+
version: '4.0'
|
|
34
36
|
type: :runtime
|
|
35
37
|
prerelease: false
|
|
36
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
39
|
requirements:
|
|
38
|
-
- - "
|
|
40
|
+
- - ">="
|
|
39
41
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '1'
|
|
42
|
+
version: '1.6'
|
|
43
|
+
- - "<"
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '4.0'
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
|
42
47
|
name: faraday
|
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
|
44
49
|
requirements:
|
|
45
|
-
- - "
|
|
50
|
+
- - "~>"
|
|
46
51
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
52
|
+
version: '2.0'
|
|
48
53
|
type: :runtime
|
|
49
54
|
prerelease: false
|
|
50
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
56
|
requirements:
|
|
52
|
-
- - "
|
|
57
|
+
- - "~>"
|
|
53
58
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
59
|
+
version: '2.0'
|
|
55
60
|
- !ruby/object:Gem::Dependency
|
|
56
61
|
name: activesupport
|
|
57
62
|
requirement: !ruby/object:Gem::Requirement
|
|
58
63
|
requirements:
|
|
59
|
-
- - "
|
|
64
|
+
- - ">="
|
|
60
65
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
66
|
+
version: '6.1'
|
|
67
|
+
- - "<"
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '9.0'
|
|
62
70
|
type: :runtime
|
|
63
71
|
prerelease: false
|
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
73
|
requirements:
|
|
66
|
-
- - "
|
|
74
|
+
- - ">="
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: '6.1'
|
|
77
|
+
- - "<"
|
|
67
78
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
79
|
+
version: '9.0'
|
|
69
80
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
81
|
+
name: rspec
|
|
71
82
|
requirement: !ruby/object:Gem::Requirement
|
|
72
83
|
requirements:
|
|
73
84
|
- - "~>"
|
|
74
85
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
86
|
+
version: '3'
|
|
76
87
|
type: :development
|
|
77
88
|
prerelease: false
|
|
78
89
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
90
|
requirements:
|
|
80
91
|
- - "~>"
|
|
81
92
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
93
|
+
version: '3'
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
95
|
+
name: polyrun
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
97
|
+
requirements:
|
|
98
|
+
- - "~>"
|
|
99
|
+
- !ruby/object:Gem::Version
|
|
100
|
+
version: 1.4.2
|
|
101
|
+
type: :development
|
|
102
|
+
prerelease: false
|
|
103
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
104
|
+
requirements:
|
|
105
|
+
- - "~>"
|
|
106
|
+
- !ruby/object:Gem::Version
|
|
107
|
+
version: 1.4.2
|
|
108
|
+
- !ruby/object:Gem::Dependency
|
|
109
|
+
name: webmock
|
|
85
110
|
requirement: !ruby/object:Gem::Requirement
|
|
86
111
|
requirements:
|
|
87
112
|
- - "~>"
|
|
@@ -95,49 +120,147 @@ dependencies:
|
|
|
95
120
|
- !ruby/object:Gem::Version
|
|
96
121
|
version: '3'
|
|
97
122
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
123
|
+
name: rake
|
|
99
124
|
requirement: !ruby/object:Gem::Requirement
|
|
100
125
|
requirements:
|
|
101
126
|
- - "~>"
|
|
102
127
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
128
|
+
version: '13'
|
|
104
129
|
type: :development
|
|
105
130
|
prerelease: false
|
|
106
131
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
132
|
requirements:
|
|
108
133
|
- - "~>"
|
|
109
134
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
135
|
+
version: '13'
|
|
111
136
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
137
|
+
name: standard
|
|
113
138
|
requirement: !ruby/object:Gem::Requirement
|
|
114
139
|
requirements:
|
|
115
140
|
- - "~>"
|
|
116
141
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
142
|
+
version: '1.52'
|
|
118
143
|
type: :development
|
|
119
144
|
prerelease: false
|
|
120
145
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
146
|
requirements:
|
|
122
147
|
- - "~>"
|
|
123
148
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: '
|
|
149
|
+
version: '1.52'
|
|
150
|
+
- !ruby/object:Gem::Dependency
|
|
151
|
+
name: standard-custom
|
|
152
|
+
requirement: !ruby/object:Gem::Requirement
|
|
153
|
+
requirements:
|
|
154
|
+
- - "~>"
|
|
155
|
+
- !ruby/object:Gem::Version
|
|
156
|
+
version: '1.0'
|
|
157
|
+
type: :development
|
|
158
|
+
prerelease: false
|
|
159
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
160
|
+
requirements:
|
|
161
|
+
- - "~>"
|
|
162
|
+
- !ruby/object:Gem::Version
|
|
163
|
+
version: '1.0'
|
|
164
|
+
- !ruby/object:Gem::Dependency
|
|
165
|
+
name: standard-performance
|
|
166
|
+
requirement: !ruby/object:Gem::Requirement
|
|
167
|
+
requirements:
|
|
168
|
+
- - "~>"
|
|
169
|
+
- !ruby/object:Gem::Version
|
|
170
|
+
version: '1.8'
|
|
171
|
+
type: :development
|
|
172
|
+
prerelease: false
|
|
173
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
174
|
+
requirements:
|
|
175
|
+
- - "~>"
|
|
176
|
+
- !ruby/object:Gem::Version
|
|
177
|
+
version: '1.8'
|
|
178
|
+
- !ruby/object:Gem::Dependency
|
|
179
|
+
name: standard-rspec
|
|
180
|
+
requirement: !ruby/object:Gem::Requirement
|
|
181
|
+
requirements:
|
|
182
|
+
- - "~>"
|
|
183
|
+
- !ruby/object:Gem::Version
|
|
184
|
+
version: '0.3'
|
|
185
|
+
type: :development
|
|
186
|
+
prerelease: false
|
|
187
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
188
|
+
requirements:
|
|
189
|
+
- - "~>"
|
|
190
|
+
- !ruby/object:Gem::Version
|
|
191
|
+
version: '0.3'
|
|
192
|
+
- !ruby/object:Gem::Dependency
|
|
193
|
+
name: rubocop-rspec
|
|
194
|
+
requirement: !ruby/object:Gem::Requirement
|
|
195
|
+
requirements:
|
|
196
|
+
- - "~>"
|
|
197
|
+
- !ruby/object:Gem::Version
|
|
198
|
+
version: '3.8'
|
|
199
|
+
type: :development
|
|
200
|
+
prerelease: false
|
|
201
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
202
|
+
requirements:
|
|
203
|
+
- - "~>"
|
|
204
|
+
- !ruby/object:Gem::Version
|
|
205
|
+
version: '3.8'
|
|
125
206
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
207
|
+
name: rubocop-thread_safety
|
|
127
208
|
requirement: !ruby/object:Gem::Requirement
|
|
128
209
|
requirements:
|
|
129
210
|
- - "~>"
|
|
130
211
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0.
|
|
212
|
+
version: '0.7'
|
|
132
213
|
type: :development
|
|
133
214
|
prerelease: false
|
|
134
215
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
216
|
requirements:
|
|
136
217
|
- - "~>"
|
|
137
218
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0.
|
|
219
|
+
version: '0.7'
|
|
220
|
+
- !ruby/object:Gem::Dependency
|
|
221
|
+
name: appraisal
|
|
222
|
+
requirement: !ruby/object:Gem::Requirement
|
|
223
|
+
requirements:
|
|
224
|
+
- - "~>"
|
|
225
|
+
- !ruby/object:Gem::Version
|
|
226
|
+
version: '2'
|
|
227
|
+
type: :development
|
|
228
|
+
prerelease: false
|
|
229
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
230
|
+
requirements:
|
|
231
|
+
- - "~>"
|
|
232
|
+
- !ruby/object:Gem::Version
|
|
233
|
+
version: '2'
|
|
234
|
+
- !ruby/object:Gem::Dependency
|
|
235
|
+
name: memory_profiler
|
|
236
|
+
requirement: !ruby/object:Gem::Requirement
|
|
237
|
+
requirements:
|
|
238
|
+
- - "~>"
|
|
239
|
+
- !ruby/object:Gem::Version
|
|
240
|
+
version: '1'
|
|
241
|
+
type: :development
|
|
242
|
+
prerelease: false
|
|
243
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
244
|
+
requirements:
|
|
245
|
+
- - "~>"
|
|
246
|
+
- !ruby/object:Gem::Version
|
|
247
|
+
version: '1'
|
|
248
|
+
- !ruby/object:Gem::Dependency
|
|
249
|
+
name: rbs
|
|
250
|
+
requirement: !ruby/object:Gem::Requirement
|
|
251
|
+
requirements:
|
|
252
|
+
- - "~>"
|
|
253
|
+
- !ruby/object:Gem::Version
|
|
254
|
+
version: '3'
|
|
255
|
+
type: :development
|
|
256
|
+
prerelease: false
|
|
257
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
258
|
+
requirements:
|
|
259
|
+
- - "~>"
|
|
260
|
+
- !ruby/object:Gem::Version
|
|
261
|
+
version: '3'
|
|
139
262
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
263
|
+
name: rack-test
|
|
141
264
|
requirement: !ruby/object:Gem::Requirement
|
|
142
265
|
requirements:
|
|
143
266
|
- - "~>"
|
|
@@ -152,7 +275,7 @@ dependencies:
|
|
|
152
275
|
version: '2'
|
|
153
276
|
description: Slack bot implementation for ruby-grape
|
|
154
277
|
email:
|
|
155
|
-
-
|
|
278
|
+
- contact@kiskolabs.com
|
|
156
279
|
executables: []
|
|
157
280
|
extensions: []
|
|
158
281
|
extra_rdoc_files: []
|
|
@@ -181,6 +304,7 @@ files:
|
|
|
181
304
|
- lib/slack_bot/menu_options.rb
|
|
182
305
|
- lib/slack_bot/pager.rb
|
|
183
306
|
- lib/slack_bot/view.rb
|
|
307
|
+
- sig/slack_bot.rbs
|
|
184
308
|
homepage: https://github.com/amkisko/grape-slack-bot.rb
|
|
185
309
|
licenses:
|
|
186
310
|
- MIT
|
|
@@ -190,7 +314,6 @@ metadata:
|
|
|
190
314
|
bug_tracker_uri: https://github.com/amkisko/grape-slack-bot.rb/issues
|
|
191
315
|
changelog_uri: https://github.com/amkisko/grape-slack-bot.rb/blob/main/CHANGELOG.md
|
|
192
316
|
rubygems_mfa_required: 'true'
|
|
193
|
-
post_install_message:
|
|
194
317
|
rdoc_options: []
|
|
195
318
|
require_paths:
|
|
196
319
|
- lib
|
|
@@ -205,8 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
205
328
|
- !ruby/object:Gem::Version
|
|
206
329
|
version: '0'
|
|
207
330
|
requirements: []
|
|
208
|
-
rubygems_version: 3.
|
|
209
|
-
signing_key:
|
|
331
|
+
rubygems_version: 3.6.9
|
|
210
332
|
specification_version: 4
|
|
211
333
|
summary: Slack bot implementation for ruby-grape
|
|
212
334
|
test_files: []
|