viberroo 0.1.2 → 0.2.0

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