viberroo 0.1.2 → 0.2.0

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: 664a309e7aaa7c6aef70d20e94145949bb6c4ff6753f15910440bae46b2549a4
4
- data.tar.gz: 33a67d36213f503ba8bfc425dfbd1f69bc824fb7d2a01ad4d5e5e535727fe710
3
+ metadata.gz: 6e99b6a05f07fc41a2ae9952fe3d5088b34f55ce541f5624c9257713e29ec0c4
4
+ data.tar.gz: 432960ff25d67e609e5357b76a4b63c33115aef892016b964847ee6fa980be5c
5
5
  SHA512:
6
- metadata.gz: 134a5e4b9ed4d2b8fdd057874c8c4238803245173542b936582604c8ec1dfd5bff3251ff694d1a7dc75272129dd9b1ef2e558d517939aac2c2bd2b3a8eb86770
7
- data.tar.gz: bebeab8ecf509af9b3d26a5e708fd22c03783ea887a7d95bca1c258ccab9fdb1dfa43766569e9423f93d7731e383436b88aa771363eeb4c5c45d5583ca2be410
6
+ metadata.gz: 4f800f461911f603c1a95ca30cfbe5ec0b33b9c1c02df3e681c462a2c1307fd7014074bd95f9478f2ee44c6c061a13c6ecba6533eee35c8d5d074c612425c076
7
+ data.tar.gz: 78ea9bf73786aa9d36b1c43606b7df8363575237813f4e954bb980a7e3d188602f6db088eab3d05c1a48f3708d2588e2d110d55a42fae18f348efbcaca55649c
@@ -3,7 +3,6 @@ require 'faraday'
3
3
  require 'viberroo/message'
4
4
  require 'viberroo/bot'
5
5
  require 'viberroo/input'
6
- require 'viberroo/response'
7
6
  require 'viberroo/callback'
8
7
  require 'viberroo/bot'
9
8
 
@@ -1,9 +1,7 @@
1
- require 'byebug'
2
1
  module Viberroo
3
2
  class Bot
4
- def initialize(token:, callback: {}, response: {})
3
+ def initialize(token:, callback: nil)
5
4
  @headers = { 'X-Viber-Auth-Token': token, 'Content-Type': 'application/json' }
6
- @response = response
7
5
  @callback = callback
8
6
  end
9
7
 
@@ -28,14 +26,8 @@ module Viberroo
28
26
  end
29
27
 
30
28
  def send(message:, keyboard: {})
31
- if @callback.is_a?(Callback)
32
- receiver = @callback.user_id
33
- elsif @response.is_a?(RecursiveOpenStruct)
34
- receiver = @response.user_id
35
- end
36
-
37
29
  request(URL::MESSAGE,
38
- { receiver: receiver }.merge(message).merge(keyboard))
30
+ { receiver: @callback&.user_id }.merge(message).merge(keyboard))
39
31
  end
40
32
 
41
33
  def send!(message:, keyboard: {})
@@ -0,0 +1,24 @@
1
+ require 'recursive-open-struct'
2
+
3
+ module Viberroo
4
+ class Callback
5
+ attr_reader :params
6
+
7
+ def initialize(params)
8
+ @params = RecursiveOpenStruct.new params.to_h
9
+ end
10
+
11
+ def user_id
12
+ case @params.event
13
+ when 'conversation_started', 'subscribed'
14
+ @params.user.id
15
+ when 'unsubscribed', 'delivered', 'seen', 'failed'
16
+ @params.user_id
17
+ when 'message'
18
+ @params.sender.id
19
+ else
20
+ @params.dig(:user, :id)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module Viberroo
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.2.0'.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.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Viktor Habchak
@@ -46,9 +46,9 @@ extra_rdoc_files: []
46
46
  files:
47
47
  - lib/viberroo.rb
48
48
  - lib/viberroo/bot.rb
49
+ - lib/viberroo/callback.rb
49
50
  - lib/viberroo/input.rb
50
51
  - lib/viberroo/message.rb
51
- - lib/viberroo/response.rb
52
52
  - lib/viberroo/version.rb
53
53
  homepage: https://github.com/vikdotdev/viberroo
54
54
  licenses:
@@ -60,9 +60,9 @@ require_paths:
60
60
  - lib
61
61
  required_ruby_version: !ruby/object:Gem::Requirement
62
62
  requirements:
63
- - - ">="
63
+ - - "~>"
64
64
  - !ruby/object:Gem::Version
65
- version: '0'
65
+ version: '2.3'
66
66
  required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - ">="
@@ -1,29 +0,0 @@
1
- require 'recursive-open-struct'
2
-
3
- module Viberroo
4
- class Response
5
- class << self
6
- def init(params)
7
- warn 'WARNING: Response.init is deprecated and will be gone in next minor release. Use Callback.new as a replacement.'
8
- @@os = RecursiveOpenStruct.new params.to_h
9
- @@os.user_id = user_id
10
- @@os
11
- end
12
-
13
- private
14
-
15
- def user_id
16
- case @@os.event
17
- when 'conversation_started', 'subscribed'
18
- @@os.user.id
19
- when 'unsubscribed', 'delivered', 'seen', 'failed'
20
- @@os.user_id
21
- when 'message'
22
- @@os.sender.id
23
- else
24
- @@os.dig(:user, :id)
25
- end
26
- end
27
- end
28
- end
29
- end