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.
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: 1.8.2
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: 2024-12-17 00:00:00.000000000 Z
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: '2'
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: '2'
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: '1'
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: '1'
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: '5'
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: '5'
79
+ version: '9.0'
69
80
  - !ruby/object:Gem::Dependency
70
- name: bundler
81
+ name: rspec
71
82
  requirement: !ruby/object:Gem::Requirement
72
83
  requirements:
73
84
  - - "~>"
74
85
  - !ruby/object:Gem::Version
75
- version: '2'
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: '2'
93
+ version: '3'
83
94
  - !ruby/object:Gem::Dependency
84
- name: rspec
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: rspec_junit_formatter
123
+ name: rake
99
124
  requirement: !ruby/object:Gem::Requirement
100
125
  requirements:
101
126
  - - "~>"
102
127
  - !ruby/object:Gem::Version
103
- version: '0.6'
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: '0.6'
135
+ version: '13'
111
136
  - !ruby/object:Gem::Dependency
112
- name: webmock
137
+ name: standard
113
138
  requirement: !ruby/object:Gem::Requirement
114
139
  requirements:
115
140
  - - "~>"
116
141
  - !ruby/object:Gem::Version
117
- version: '3'
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: '3'
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: simplecov
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.21'
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.21'
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: simplecov-cobertura
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
- - andrei@kiskolabs.com
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.5.11
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: []