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 +4 -4
- data/lib/viberroo.rb +2 -1
- data/lib/viberroo/bot.rb +18 -7
- data/lib/viberroo/configuration.rb +23 -0
- data/lib/viberroo/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d918d24a9f1cacebd5982601ec2e88efaad61517c8a969d7b78dd74205229c5
|
4
|
+
data.tar.gz: 3163feb39d9c4f9e9148bca976dabccf7b8b0fc170268149f21b5e87a9f7adab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d9f58550c03b4a8069ffca12e12aa7ee84c9a9e0906c29db088b598b395197793e47cbbe1cbb31d07b4f90f4ffbe0dff43996f8626dfa051add28e56fac4bd6
|
7
|
+
data.tar.gz: eaf3eaf19a685622bed73f97b196dd054333e7502844eb3d74021e215fe3073aec48d033bd8f6fd09f6a51394c63546014010254c4fe9d368e3ced1484bc3c87
|
data/lib/viberroo.rb
CHANGED
@@ -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
|
data/lib/viberroo/bot.rb
CHANGED
@@ -1,20 +1,23 @@
|
|
1
1
|
module Viberroo
|
2
2
|
class Bot
|
3
|
-
def initialize(token
|
4
|
-
|
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
|
data/lib/viberroo/version.rb
CHANGED
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.
|
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
|