grape-slack-bot 1.6.6 → 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: ae374ea5f4698b8505bde66baa7a67eaf75764e130d2f40e9de6fd29848966a8
4
- data.tar.gz: 01ec55f539994166f4d3b90cf70953c5b4e2f421a9622affa5a44d7d0adcf888
3
+ metadata.gz: 6a31fa79061f0f8f494f3c088331f9ca5d176a93f3909bd8719b2f43c4a80b8e
4
+ data.tar.gz: 70f14bbc48bddd7eb690a864603e17683abc9713fabbc59239cfe6e095abef81
5
5
  SHA512:
6
- metadata.gz: 7a0223855ad9173023eb667115a6e2137212164c06069ca78db6289a813b9ea92da38c062577b6ab18642a4e3f1689326f353b159e21c05672e2447573e248e7
7
- data.tar.gz: b44baf6641e68b2815afaf915485e9052d2594a1d43e92ae56d7e9a25463de0395253819627349ec8257814c0372bef1fb1fd72bb7b3ed91b436e7c2e84a5aba
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
 
@@ -23,8 +23,8 @@ module SlackBot
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
 
@@ -38,6 +38,22 @@ module SlackBot
38
38
  SlackViewsReply.new(callback.id, view_id)
39
39
  end
40
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?
53
+
54
+ SlackViewsReply.new(callback.id, view_id)
55
+ end
56
+
41
57
  attr_reader :current_user, :params, :callback, :config
42
58
  def initialize(current_user: nil, params: nil, callback: nil, config: nil)
43
59
  @current_user = current_user
@@ -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.6'.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.6
4
+ version: 1.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov