viberroo 0.2.0 → 0.2.1

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