grape-slack-bot 1.6.5 → 1.6.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6dd62b47329ef32dcdcca944a6e92d61010e99c3521bdc10993a8d7495a5f664
4
- data.tar.gz: 2c8a5746152b33a557567405079a14a9646e4ba7fcb1819a042128c9e2830f7d
3
+ metadata.gz: 6a31fa79061f0f8f494f3c088331f9ca5d176a93f3909bd8719b2f43c4a80b8e
4
+ data.tar.gz: 70f14bbc48bddd7eb690a864603e17683abc9713fabbc59239cfe6e095abef81
5
5
  SHA512:
6
- metadata.gz: 5b2faa38f309c0851235d6528eda0b110f219eed374c7791999f8b3ded2063ca050360d5a312fa1f9cafd56d3e44041c0b1c08e40f9200637007f8350f84c77c
7
- data.tar.gz: 681ebb8c167698b46c8f300491d3097a85809da8584796688f305a783ea64f3d6e5be56cee798338474f081aa25e51241e4a98f4b9de41a3ab7082205c84eaf1
6
+ metadata.gz: 4d85b0261724457c4f1181950ef12a545d093a692f9ac874ff625273b3d45e0425a10047137950886e910b59e48d02791730ea83f062320fd46dbe6438a23685
7
+ data.tar.gz: 790a31890e3d3c79974cbc5809f815932d24954d35174c96ea0b27cce55dc9016b2467b8dc36a4a9253c63bb36e0e9be01476b021b264c617a924382adcb32ac
@@ -43,17 +43,16 @@ module SlackBot
43
43
  view.send(view_name)
44
44
  end
45
45
 
46
- def publish_view(view_method_name, context: nil)
46
+ def publish_view(view_method_name, context: nil, metadata: nil)
47
47
  user_id = params["event"]["user"]
48
48
  view = render_view(view_method_name, context: context)
49
- view = view.merge(callback_id: callback.id) if callback.present?
50
- view = view.merge(private_metadata: metadata) if metadata.present?
51
- response =
52
- SlackBot::ApiClient.new.views_publish(user_id: user_id, view: view)
53
-
54
- if !response.ok?
55
- raise SlackBot::Errors::PublishViewError.new(response.error, data: response.data, payload: view)
56
- end
49
+
50
+ SlackBot::Interaction.publish_view(
51
+ callback: callback,
52
+ metadata: metadata,
53
+ user_id: user_id,
54
+ view: view
55
+ )
57
56
 
58
57
  nil
59
58
  end
@@ -8,8 +8,8 @@ module SlackBot
8
8
 
9
9
  include SlackBot::Concerns::ViewKlass
10
10
 
11
- def self.open_modal(callback:, trigger_id:, payload:)
12
- view = payload.merge({ type: "modal", callback_id: callback.id })
11
+ def self.open_modal(callback:, trigger_id:, view:)
12
+ view = view.merge({ type: "modal", callback_id: callback.id })
13
13
  response =
14
14
  SlackBot::ApiClient.new.views_open(trigger_id: trigger_id, view: view)
15
15
 
@@ -18,13 +18,13 @@ module SlackBot
18
18
  end
19
19
 
20
20
  view_id = response.data.dig("view", "id")
21
- callback.update(view_id: view_id) if view_id.present?
21
+ callback.view_id = view_id if view_id.present?
22
22
 
23
23
  SlackViewsReply.new(callback.id, view_id)
24
24
  end
25
25
 
26
- def self.update_modal(callback:, view_id:, payload:)
27
- view = payload.merge({ type: "modal", callback_id: callback.id })
26
+ def self.update_modal(callback:, view_id:, view:)
27
+ view = view.merge({ type: "modal", callback_id: callback.id })
28
28
  response =
29
29
  SlackBot::ApiClient.new.views_update(view_id: view_id, view: view)
30
30
 
@@ -33,7 +33,23 @@ module SlackBot
33
33
  end
34
34
 
35
35
  view_id = response.data.dig("view", "id")
36
- callback.update(view_id: view_id) if view_id.present?
36
+ callback.view_id = view_id if view_id.present?
37
+
38
+ SlackViewsReply.new(callback.id, view_id)
39
+ end
40
+
41
+ def self.publish_view(callback: nil, metadata: nil, user_id:, view:)
42
+ view = view.merge(callback_id: callback.id) if callback.present?
43
+ view = view.merge(private_metadata: metadata) if metadata.present?
44
+ response =
45
+ SlackBot::ApiClient.new.views_publish(user_id: user_id, view: view)
46
+
47
+ if !response.ok?
48
+ raise SlackBot::Errors::PublishViewError.new(response.error, data: response.data, payload: view)
49
+ end
50
+
51
+ view_id = response.data.dig("view", "id")
52
+ callback.view_id = view_id if view_id.present? && callback.present?
37
53
 
38
54
  SlackViewsReply.new(callback.id, view_id)
39
55
  end
@@ -98,6 +114,20 @@ module SlackBot
98
114
  )
99
115
  end
100
116
 
117
+ def publish_view(view_method_name, context: nil, metadata: nil)
118
+ user_id = payload["user"]["id"]
119
+ view = render_view(view_method_name, context: context)
120
+
121
+ SlackBot::Interaction.publish_view(
122
+ callback: callback,
123
+ metadata: metadata,
124
+ user_id: user_id,
125
+ view: view
126
+ )
127
+
128
+ nil
129
+ end
130
+
101
131
  def update_callback_args(&block)
102
132
  return if callback.blank?
103
133
  return if actions.blank?
@@ -16,7 +16,7 @@ module SlackBot
16
16
  end
17
17
 
18
18
  def method_missing(method_name, *args, &block)
19
- return @context[method_name.to_sym] if @context.key?(method_name.to_sym)
19
+ return @context[method_name.to_sym] if @context.is_a?(Hash) && @context.key?(method_name.to_sym)
20
20
 
21
21
  super
22
22
  end
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.5'.freeze
25
+ VERSION = '1.6.7'.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.5
4
+ version: 1.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov