konsierge-notifier 0.1.4 → 0.1.6
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 +4 -4
- data/konsierge-notifier.gemspec +2 -2
- data/lib/konsierge/notifier/configuration.rb +11 -5
- data/lib/konsierge/notifier/version.rb +1 -1
- data/lib/konsierge/notifier.rb +8 -3
- metadata +9 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc425bfa6f9517f101566c0eafc628825b199bab158a745ed774bed0c671cc6f
|
4
|
+
data.tar.gz: dd3e91fcbdedebf8b0103dcb10fb092b7c1075202f5073c75b78e2289855f569
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b52bc1f695f699711c5d0a195db9828787919daafaa71b968a4be790eac813aa36ee7302c559998c4f4af5b2229c7f329352a0cb818487edc73c24f67e837ac
|
7
|
+
data.tar.gz: 05fb8eecec7b5d8f2f9f5db32bc8a3f0290271d08ba9ddd096d491bb0c1645f9e61542f50c1652d399c835b6e090c06183c8a029e33fa1f5be75ecb738e7ff00
|
data/konsierge-notifier.gemspec
CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
26
26
|
spec.require_paths = ['lib']
|
27
27
|
|
28
|
-
spec.add_dependency 'dotenv', '
|
29
|
-
spec.add_dependency 'erb', '
|
28
|
+
spec.add_dependency 'dotenv', '>= 2.0'
|
29
|
+
spec.add_dependency 'erb', '>= 2.0'
|
30
30
|
spec.add_dependency 'telegram-bot', '~> 0.16.1'
|
31
31
|
|
32
32
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
@@ -5,17 +5,18 @@ require_relative 'adapters/telegram'
|
|
5
5
|
module Konsierge
|
6
6
|
module Notifier
|
7
7
|
class Configuration
|
8
|
+
class Error < StandardError; end
|
9
|
+
|
8
10
|
ADAPTER_IMPLEMENTATIONS = {
|
9
11
|
telegram: Adapters::Telegram
|
10
12
|
}.freeze
|
11
13
|
|
12
|
-
attr_accessor :app_name, :adapter, :chat_id, :bot_enabled,
|
13
|
-
:parse_mode
|
14
|
+
attr_accessor :app_name, :adapter, :chat_id, :bot_enabled,
|
15
|
+
:message_template_path, :error_template_path, :logger, :parse_mode
|
14
16
|
|
15
17
|
def initialize
|
16
18
|
@app_name = nil
|
17
19
|
@adapter = :telegram
|
18
|
-
@adapter_class = ADAPTER_IMPLEMENTATIONS[@adapter.to_s.to_sym]
|
19
20
|
@chat_id = ENV.fetch('TELEGRAM_CHANNEL_ID', nil)
|
20
21
|
@bot_enabled = ENV.fetch('TELEGRAM_BOT_ENABLED', false)
|
21
22
|
@message_template_path = File.expand_path('templates/telegram/message.html.erb', __dir__)
|
@@ -30,8 +31,13 @@ module Konsierge
|
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
33
|
-
def
|
34
|
-
|
34
|
+
def adapter_class
|
35
|
+
unless ADAPTER_IMPLEMENTATIONS[@adapter]
|
36
|
+
error_msg = "#{@adapter} must be one of #{ADAPTER_IMPLEMENTATIONS.keys.join(', ')}"
|
37
|
+
raise Error, error_msg
|
38
|
+
end
|
39
|
+
|
40
|
+
ADAPTER_IMPLEMENTATIONS[@adapter.to_s.to_sym]
|
35
41
|
end
|
36
42
|
end
|
37
43
|
end
|
data/lib/konsierge/notifier.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'logger'
|
4
4
|
require 'telegram/bot'
|
5
5
|
|
6
|
+
require_relative 'notifier/version'
|
6
7
|
require_relative 'notifier/configuration'
|
7
8
|
require_relative 'notifier/adapters/telegram'
|
8
9
|
require_relative 'notifier/rails_report_subscriber'
|
@@ -20,12 +21,16 @@ module Konsierge
|
|
20
21
|
yield(config)
|
21
22
|
end
|
22
23
|
|
24
|
+
def adapter_instance
|
25
|
+
@adapter_instance ||= config.adapter_class.new
|
26
|
+
end
|
27
|
+
|
23
28
|
def send_message(...)
|
24
|
-
|
29
|
+
adapter_instance.send_message(...)
|
25
30
|
end
|
26
31
|
|
27
32
|
def send_error(...)
|
28
|
-
|
33
|
+
adapter_instance.send_error(...)
|
29
34
|
end
|
30
35
|
|
31
36
|
alias report_error send_error
|
@@ -33,7 +38,7 @@ module Konsierge
|
|
33
38
|
private
|
34
39
|
|
35
40
|
def subscribe_on_reporter
|
36
|
-
return unless
|
41
|
+
return unless Gem::Version.new(::Rails.version).segments.first >= 7
|
37
42
|
|
38
43
|
config.logger.debug { 'Konsierge notifier is subscribing to Rails error reporter...' }
|
39
44
|
Rails.error.subscribe(RailsReportSubscriber.new)
|
metadata
CHANGED
@@ -1,41 +1,40 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: konsierge-notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rybolovlev
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: dotenv
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- - "
|
16
|
+
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
18
|
+
version: '2.0'
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
|
-
- - "
|
23
|
+
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
25
|
+
version: '2.0'
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
27
|
name: erb
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
|
-
- - "
|
30
|
+
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '2.0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
|
-
- - "
|
37
|
+
- - ">="
|
39
38
|
- !ruby/object:Gem::Version
|
40
39
|
version: '2.0'
|
41
40
|
- !ruby/object:Gem::Dependency
|
@@ -83,12 +82,10 @@ files:
|
|
83
82
|
- mise.toml
|
84
83
|
- sig/konsierge.rbs
|
85
84
|
- sig/konsierge/notifier.rbs
|
86
|
-
homepage:
|
87
85
|
licenses: []
|
88
86
|
metadata:
|
89
87
|
source_code_uri: https://gitlab.konsierge.com/digitalbox/gem/konsierge-notifier
|
90
88
|
rubygems_mfa_required: 'true'
|
91
|
-
post_install_message:
|
92
89
|
rdoc_options: []
|
93
90
|
require_paths:
|
94
91
|
- lib
|
@@ -103,8 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
100
|
- !ruby/object:Gem::Version
|
104
101
|
version: '0'
|
105
102
|
requirements: []
|
106
|
-
rubygems_version: 3.
|
107
|
-
signing_key:
|
103
|
+
rubygems_version: 3.6.8
|
108
104
|
specification_version: 4
|
109
105
|
summary: Notifier for Konsierge.
|
110
106
|
test_files: []
|