grape-slack-bot 1.5.1 → 1.5.3

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: 2d248818a6772bc6b90aaaff5e6a32f34ed8f1be71d3865435929e018f30d48b
4
- data.tar.gz: 8719e28b6995efa871e4a834aa5ac884cbda4133034805e256ddf53786c1fdb2
3
+ metadata.gz: f2b70d87297ad0f3b585dfacc7eb41b14e2c67d7134bc3771d00fa0117d9f312
4
+ data.tar.gz: 67db6701d3bc301502ab605a0987eb5e47bdcef3561bde1527646d57c0afdae0
5
5
  SHA512:
6
- metadata.gz: 3a20d2e0f603d9f5a1cbfc24d8e08e9907b12d6d677442d63160cf0a5f57b3dc56234bd65b0d979749574e290a3a3fb00b8f014bf219c8bf969e2c4d1cd7f7f3
7
- data.tar.gz: f3401998a0b1cd270e952107d86f2da78de98cc45b4260d7205998ff173e00f356d09185d08f50416bebe5b38593fe9cb40e829b2f4a4454bc3dafd53414227b
6
+ metadata.gz: 304d11b6af4266b369fbfb780056956435e323a32d0acea59440c46add848a3acb9339129a6bc0c11c23b5f0b34c2151b9097a11eb8d856ab0a62a18c4719e6f
7
+ data.tar.gz: 313680981ca8e1e0445ed3ea97955bf8ea3d9eba4b32b0fe30690c3917a619304d2aa389e839e5ed6d46737a51a2f68ec7ef735a193f72ddbbe131daf3b73836
@@ -15,9 +15,9 @@ module SlackBot
15
15
  nil
16
16
  end
17
17
 
18
- def self.create(class_name:, user:, channel_id: nil, config: nil, payload: nil, expires_in: nil, user_scope: nil)
18
+ def self.create(id: nil, class_name:, user:, channel_id: nil, config: nil, payload: nil, expires_in: nil, user_scope: nil)
19
19
  callback =
20
- new(class_name: class_name, user: user, channel_id: channel_id, payload: payload, config: config, expires_in: expires_in, user_scope: user_scope)
20
+ new(id: id, class_name: class_name, user: user, channel_id: channel_id, payload: payload, config: config, expires_in: expires_in, user_scope: user_scope)
21
21
  callback.save
22
22
  callback
23
23
  end
@@ -26,7 +26,7 @@ module SlackBot
26
26
  callback = find(id, user: user, config: config)
27
27
  return callback if callback.present?
28
28
 
29
- create(class_name: class_name, user: user, channel_id: channel_id, payload: payload, config: config, expires_in: expires_in, user_scope: user_scope)
29
+ create(id: id, class_name: class_name, user: user, channel_id: channel_id, payload: payload, config: config, expires_in: expires_in, user_scope: user_scope)
30
30
  end
31
31
 
32
32
  attr_reader :id, :data, :args, :config, :expires_in, :user_scope
@@ -105,6 +105,13 @@ module SlackBot
105
105
  @data[:payload] = payload
106
106
  end
107
107
 
108
+ def handler_class=(handler_class)
109
+ new_class_name = handler_class&.name
110
+ raise "Callback handler class not found" if !config.find_handler_class(class_name)
111
+
112
+ self.class_name = new_class_name
113
+ end
114
+
108
115
  def handler_class
109
116
  return if class_name.blank?
110
117
 
@@ -4,7 +4,8 @@ module SlackBot
4
4
  define_singleton_method(:view_klass) { klass }
5
5
  end
6
6
 
7
- attr_reader :current_user, :params, :callback, :config
7
+ attr_reader :current_user, :params, :config
8
+ attr_accessor :callback, :metadata
8
9
  def initialize(current_user: nil, params: nil, callback: nil, config: nil)
9
10
  @current_user = current_user
10
11
  @params = params
@@ -28,6 +29,8 @@ module SlackBot
28
29
  self.class.view_klass
29
30
  .new(current_user: current_user, params: params, context: context)
30
31
  .send(view_method_name)
32
+ view = view.merge(callback_id: callback.id) if callback.present?
33
+ view = view.merge(private_metadata: metadata) if metadata.present?
31
34
  response =
32
35
  SlackBot::ApiClient.new.views_publish(user_id: user_id, view: view)
33
36
 
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.5.1'.freeze
25
+ VERSION = '1.5.3'.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.5.1
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov