viberroo 0.2.0 → 0.2.1

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: 6e99b6a05f07fc41a2ae9952fe3d5088b34f55ce541f5624c9257713e29ec0c4
4
- data.tar.gz: 432960ff25d67e609e5357b76a4b63c33115aef892016b964847ee6fa980be5c
3
+ metadata.gz: 8d918d24a9f1cacebd5982601ec2e88efaad61517c8a969d7b78dd74205229c5
4
+ data.tar.gz: 3163feb39d9c4f9e9148bca976dabccf7b8b0fc170268149f21b5e87a9f7adab
5
5
  SHA512:
6
- metadata.gz: 4f800f461911f603c1a95ca30cfbe5ec0b33b9c1c02df3e681c462a2c1307fd7014074bd95f9478f2ee44c6c061a13c6ecba6533eee35c8d5d074c612425c076
7
- data.tar.gz: 78ea9bf73786aa9d36b1c43606b7df8363575237813f4e954bb980a7e3d188602f6db088eab3d05c1a48f3708d2588e2d110d55a42fae18f348efbcaca55649c
6
+ metadata.gz: 8d9f58550c03b4a8069ffca12e12aa7ee84c9a9e0906c29db088b598b395197793e47cbbe1cbb31d07b4f90f4ffbe0dff43996f8626dfa051add28e56fac4bd6
7
+ data.tar.gz: eaf3eaf19a685622bed73f97b196dd054333e7502844eb3d74021e215fe3073aec48d033bd8f6fd09f6a51394c63546014010254c4fe9d368e3ced1484bc3c87
@@ -1,10 +1,11 @@
1
1
  require 'json'
2
2
  require 'faraday'
3
+ require 'viberroo/configuration'
3
4
  require 'viberroo/message'
4
- require 'viberroo/bot'
5
5
  require 'viberroo/input'
6
6
  require 'viberroo/callback'
7
7
  require 'viberroo/bot'
8
+ require 'logger'
8
9
 
9
10
  module Viberroo
10
11
  module URL
@@ -1,20 +1,23 @@
1
1
  module Viberroo
2
2
  class Bot
3
- def initialize(token:, callback: nil)
4
- @headers = { 'X-Viber-Auth-Token': token, 'Content-Type': 'application/json' }
3
+ def initialize(token: nil, callback: nil)
4
+ Viberroo.configure
5
+
6
+ @headers = {
7
+ 'X-Viber-Auth-Token': token || Viberroo.config.auth_token,
8
+ 'Content-Type': 'application/json'
9
+ }
5
10
  @callback = callback
6
11
  end
7
12
 
8
13
  def set_webhook(url:, event_types: nil, send_name: nil, send_photo: nil)
9
14
  request(URL::WEBHOOK, url: url, event_types: event_types,
10
- send_name: send_name,
11
- send_photo: send_photo)
15
+ send_name: send_name, send_photo: send_photo)
12
16
  end
13
17
 
14
18
  def set_webhook!(url:, event_types: nil, send_name: nil, send_photo: nil)
15
19
  parse set_webhook(url: url, event_types: event_types,
16
- send_name: send_name,
17
- send_photo: send_photo)
20
+ send_name: send_name, send_photo: send_photo)
18
21
  end
19
22
 
20
23
  def remove_webhook
@@ -69,7 +72,11 @@ module Viberroo
69
72
  private
70
73
 
71
74
  def request(url, params = {})
72
- Faraday.post(url, compact(params).to_json, @headers)
75
+ response = Faraday.post(url, compact(params).to_json, @headers)
76
+ message = "##{caller_name} -- #{response.body}"
77
+ Viberroo.config.logger&.info(message)
78
+
79
+ response
73
80
  end
74
81
 
75
82
  def parse(request)
@@ -79,5 +86,9 @@ module Viberroo
79
86
  def compact(params)
80
87
  params.delete_if { |_, v| v.nil? }
81
88
  end
89
+
90
+ def caller_name
91
+ caller[1][/`.*'/][1..-2]
92
+ end
82
93
  end
83
94
  end
@@ -0,0 +1,23 @@
1
+ module Viberroo
2
+ class << self
3
+ attr_accessor :config
4
+ end
5
+
6
+ def self.configure
7
+ self.config ||= Configuration.new
8
+ yield(config) if block_given?
9
+ end
10
+
11
+ class Configuration
12
+ attr_accessor :logger, :auth_token
13
+
14
+ def initialize
15
+ @auth_token = nil
16
+
17
+ @logger = Logger.new(STDOUT)
18
+ @logger.formatter = proc do |severity, datetime, _, msg|
19
+ "[#{datetime}] #{severity} Viberroo::Bot #{msg}\n"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module Viberroo
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.2.1'.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.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Viktor Habchak
@@ -47,6 +47,7 @@ files:
47
47
  - lib/viberroo.rb
48
48
  - lib/viberroo/bot.rb
49
49
  - lib/viberroo/callback.rb
50
+ - lib/viberroo/configuration.rb
50
51
  - lib/viberroo/input.rb
51
52
  - lib/viberroo/message.rb
52
53
  - lib/viberroo/version.rb