grape-slack-bot 1.6.6 → 1.6.8

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: 8ee0328733fee526e8f992dece493e894280db110b1127712fabafd28d222ed9
4
+ data.tar.gz: d850fb2692c5bdd4408de299bbb6f619e54b3fb73eb4c8f3350caf17d369571b
5
5
  SHA512:
6
- metadata.gz: 7a0223855ad9173023eb667115a6e2137212164c06069ca78db6289a813b9ea92da38c062577b6ab18642a4e3f1689326f353b159e21c05672e2447573e248e7
7
- data.tar.gz: b44baf6641e68b2815afaf915485e9052d2594a1d43e92ae56d7e9a25463de0395253819627349ec8257814c0372bef1fb1fd72bb7b3ed91b436e7c2e84a5aba
6
+ metadata.gz: 5f221c0f3fec3983431af2040d2b91ad042418a223c7359a995b9ea84b42706c4dac9061574c3297748d6dc5b84ad41f946669975ed39f971f49f954d5db166f
7
+ data.tar.gz: 333a047add211a3160d474f19ac3b7151f0758412170d7725e041ba35a19be6aa3a7af53c41d20854c77544288e88b76eab5b09a8066a9e9d38d8c0d152ec876
@@ -68,7 +68,7 @@ module SlackBot
68
68
  self.class.interaction_klass.open_modal(
69
69
  callback: callback,
70
70
  trigger_id: params[:trigger_id],
71
- payload: view_payload
71
+ view: view_payload
72
72
  )
73
73
  render_response
74
74
  end
@@ -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
@@ -81,7 +97,7 @@ module SlackBot
81
97
  self.class.open_modal(
82
98
  callback: callback,
83
99
  trigger_id: payload["trigger_id"],
84
- payload: view_payload
100
+ view: view_payload
85
101
  )
86
102
  end
87
103
 
@@ -93,11 +109,25 @@ module SlackBot
93
109
 
94
110
  self.class.update_modal(
95
111
  view_id: view_id,
96
- payload: payload,
112
+ view: payload,
97
113
  callback: callback
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.8'.freeze
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
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.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-30 00:00:00.000000000 Z
11
+ date: 2023-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack