viberroo 0.3.5 → 0.3.6

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: 905efb8d9509ef00211a87556c9601b8979eacd02a6cf1bb32d10f019ee34183
4
- data.tar.gz: b906e7b223f3e88c5a4796475e352961081734e041c804d0d15a209bc8ef4cce
3
+ metadata.gz: c569eed07cf0475903f3c9a5777dc953cd0acde17b0e7a4c4da83f8fbe6d9432
4
+ data.tar.gz: 055dc6395d9aba734402ad5055288581576b7fccf55d844862a1da916ef844a0
5
5
  SHA512:
6
- metadata.gz: 550a5477946d9eed9487035dce6a50c4f358b059bdc6dc476e4e8d4691795b353f596881acd621d09be25c5d170c1a5ff1a9531f20ad369e3e612fe736a1aa29
7
- data.tar.gz: 1d074d1c78124566a8cc6d81d52c696e0d9fdd00db297b762b4e6af3e456ec7a82ee230961db98e786e1245146e6fc675c91d618b45b278e781e93df833dc302
6
+ metadata.gz: d55b1a657492018e73c48aa2d662a46e2bf94576c491507b0783b94fd8ab47c4e55b8f3223722f70601a6afa9bd7c6d3b5c9cd465e05f8c651326e8925b890e7
7
+ data.tar.gz: 1c43468c37ff74c91c471615f75b3c00a9e78fe68d80ea771afc475cb7a3272bedd5876801355541fc8718fb1464e3bef28a75a74ca35ae0513e7bfc322ae968
data/lib/viberroo/bot.rb CHANGED
@@ -141,7 +141,12 @@ module Viberroo
141
141
  # @see https://developers.viber.com/docs/api/rest-bot-api/#keyboards
142
142
  #
143
143
  def send_message(message, keyboard: {})
144
- request(URL::MESSAGE, { receiver: @response.user_id }.merge(message, keyboard))
144
+ request(
145
+ URL::MESSAGE,
146
+ { receiver: @response.user_id }.merge(message, keyboard).tap do |hash|
147
+ hash.merge!(min_api_version_hash(keyboard)) unless hash[:min_api_version]
148
+ end
149
+ )
145
150
  end
146
151
 
147
152
  # @deprecated Use {#send_message} instead.
@@ -249,5 +254,24 @@ module Viberroo
249
254
  def caller_name
250
255
  caller[1][/`.*'/][1..-2]
251
256
  end
257
+
258
+ ##
259
+ # @!visibility private
260
+ #
261
+ # @note Iterates each keyboard input to identify the maximum required :min_api_version param.
262
+ #
263
+ # @return [Hash || Empty Hash]
264
+ #
265
+ def min_api_version_hash(keyboard)
266
+ buttons_array = keyboard.dig(:keyboard, :Buttons)
267
+
268
+ return {} unless buttons_array
269
+
270
+ min_api_version = buttons_array.map { |btn| btn[:min_api_version] }.compact.max
271
+
272
+ return {} unless min_api_version
273
+
274
+ { min_api_version: min_api_version }
275
+ end
252
276
  end
253
277
  end
@@ -1,3 +1,3 @@
1
1
  module Viberroo
2
- VERSION = '0.3.5'.freeze
2
+ VERSION = '0.3.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: viberroo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Viktor Habchak
@@ -56,7 +56,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
56
  - !ruby/object:Gem::Version
57
57
  version: '0'
58
58
  requirements: []
59
- rubygems_version: 3.3.7
59
+ rubygems_version: 3.3.26
60
60
  signing_key:
61
61
  specification_version: 4
62
62
  summary: Viber bot for Ruby / Rails.