grape-slack-bot 1.6.6 → 1.6.8

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 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