lenza-notifier 1.0.1 → 1.2.0

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: f5d6b7d583de93bccb3f53723dc125003a937e542e266ade01da7a34a03d5a10
4
- data.tar.gz: ef327914727779a4ca09db27860c5f9bfe94b3fbf82270a1d133aa403a42c1f5
3
+ metadata.gz: 529cb1c069b40190fe1fb7cc1dd5d62769ef3823aed9446c7bf355af72f2198a
4
+ data.tar.gz: 23b33bf33eb5e42b3348a25e4786537b59b60fc561cf0d280455e24e6f01f21e
5
5
  SHA512:
6
- metadata.gz: 91ecbab992dcab32eb39e9b8115d1655ccd8b33bde1fccca1bb09656f6ff94c9664ebac5534e112c1734dd78c0651c75cbb7687b4c243fb338aa05abbc071e83
7
- data.tar.gz: 15340f38f620979467986eb9fba069683ad76378a8add7ce5d469b6394d21fccc812b264598bb6c7b9cf4b3044d5a8cb714238a37cd5b3b2b7a5e0503b615686
6
+ metadata.gz: 2865368e5aa2276dd87e52f7249d3e1053e80ca93a6ba3d2c2564f81ecbe2114e16b7eba4059eddb42ecdb6dd99ac07ffd9a051fd16672bdc7f34ccb8755e17f
7
+ data.tar.gz: 00616a6361e4ab913c97b88ebabf6a586b805099025ffbcd6853bdfd817315bd61bd1b54f51e10eabd4e8adc19b47cfa2e9671659b59c06905fe4d0db48f0270
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 1.2.0 (18.09.2025)
2
+
3
+ * Возможность проверки SSL-сертификатов при отправке запроса.
4
+
5
+ ### 1.1.0 (22.04.2025)
6
+
7
+ * Возможность настройки уведомлений об обновлениях через Capistrano.
8
+
1
9
  ### 1.0.0 (20.01.2025)
2
10
 
3
11
  * Базовая логика конфигурирования и отправки сообщений.
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Lenza Notifier
2
2
  [![Gem Version](https://badge.fury.io/rb/lenza-notifier.svg)](https://badge.fury.io/rb/lenza-notifier)
3
3
 
4
- Ruby-гем для отправки сообщений в каналы мессенджера Lenza с помощью вебхуков.
4
+ Ruby-гем для отправки сообщений в каналы мессенджера [Lenza](https://lenzaos.com/) с помощью вебхуков.
5
5
 
6
6
  ![](lenza.svg)
7
7
 
@@ -44,3 +44,22 @@ end
44
44
  ```ruby
45
45
  Lenza::Notifier.new.ping('Привет!')
46
46
  ```
47
+
48
+ ## Capistrano
49
+
50
+ Для уведомлений о процессах обновления с помощью Capistrano добавьте в Capfile:
51
+
52
+ ```ruby
53
+ require 'lenza/capistrano'
54
+ ```
55
+
56
+ А также задайте URL вебхука в `config/deploy.rb` или конфигурации для среды Capistrano:
57
+
58
+ ```ruby
59
+ set :lenza, {
60
+ webhook_url: ENV['LENZA_WEBHOOK_URL']
61
+ }
62
+ ```
63
+ Во время процесса обновления и после его успешного (или неуспешного) завершения в канал Lenza отправятся сообщения, пример:
64
+
65
+ <img src="capistrano-msg.png" width="450">
@@ -0,0 +1,48 @@
1
+ require 'lenza-notifier'
2
+
3
+ namespace :lenza do
4
+ namespace :deploy do
5
+
6
+ desc 'Уведомление о запуске обновления'
7
+ task :start do
8
+ message = "Запуск обновления [b]#{fetch(:application)}[/b]"
9
+
10
+ if !fetch(:stage).nil? && fetch(:stage) != ''
11
+ message += " в среде [b]#{fetch(:stage)}[/b]"
12
+ end
13
+
14
+ Lenza::Notifier.new(fetch(:lenza)[:webhook_url]).ping(message)
15
+ end
16
+
17
+ desc 'Уведомление об успешном обновлении'
18
+ task :success do
19
+ message = "Обновление [b]#{fetch(:application)}[/b]"
20
+
21
+ if !fetch(:stage).nil? && fetch(:stage) != ''
22
+ message += " в среде [b]#{fetch(:stage)}[/b]"
23
+ end
24
+
25
+ message += ' прошло успешно'
26
+
27
+ Lenza::Notifier.new(fetch(:lenza)[:webhook_url]).ping(message)
28
+ end
29
+
30
+ desc 'Уведомление о неуспешном обновлении'
31
+ task :fail do
32
+ message = "При обновлении [b]#{fetch(:application)}[/b]"
33
+
34
+ if !fetch(:stage).nil? && fetch(:stage) != ''
35
+ message += " в среде [b]#{fetch(:stage)}[/b]"
36
+ end
37
+
38
+ message += ' произошла ошибка'
39
+
40
+ Lenza::Notifier.new(fetch(:lenza)[:webhook_url]).ping(message)
41
+ end
42
+
43
+ end
44
+ end
45
+
46
+ before 'deploy:starting', 'lenza:deploy:start'
47
+ after 'deploy:finishing', 'lenza:deploy:success'
48
+ after 'deploy:failed', 'lenza:deploy:fail'
@@ -0,0 +1 @@
1
+ load File.expand_path('../capistrano/tasks/lenza_notification.rake', __FILE__)
data/lib/lenza/config.rb CHANGED
@@ -3,7 +3,7 @@ module Lenza
3
3
 
4
4
  extend self
5
5
 
6
- attr_accessor :webhook_url
6
+ attr_accessor :webhook_url, :verify_ssl
7
7
 
8
8
  end
9
9
 
@@ -1,10 +1,13 @@
1
+ require 'net/http'
2
+
1
3
  module Lenza
2
4
  class Notifier
3
5
 
4
6
  def initialize(webhook_url = nil)
5
7
  url = Lenza::Config.webhook_url || webhook_url
8
+ @verify_ssl = Lenza::Config.verify_ssl || OpenSSL::SSL::VERIFY_PEER
6
9
 
7
- if url.blank?
10
+ if url == '' || url.nil?
8
11
  raise StandardError.new('URL вебхука отсутствует')
9
12
  end
10
13
 
@@ -18,7 +21,7 @@ module Lenza
18
21
  request.body = JSON.dump(message:)
19
22
 
20
23
  # отправка запроса
21
- response = Net::HTTP.start(@uri.hostname, @uri.port, use_ssl: true) do |http|
24
+ response = Net::HTTP.start(@uri.hostname, @uri.port, use_ssl: true, verify_mode: @verify_ssl) do |http|
22
25
  http.request(request)
23
26
  end
24
27
 
data/lib/lenza/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lenza
2
- VERSION = '1.0.1'.freeze
2
+ VERSION = '1.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lenza-notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-25 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2025-09-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: net-http
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Ruby-wrapper для отправки сообщений в мессенджере Lenza с помощью вебхуков
14
28
  email: babin359@icloud.com
15
29
  executables: []
@@ -19,6 +33,8 @@ files:
19
33
  - CHANGELOG.md
20
34
  - README.md
21
35
  - lib/lenza-notifier.rb
36
+ - lib/lenza/capistrano.rb
37
+ - lib/lenza/capistrano/tasks/lenza_notification.rake
22
38
  - lib/lenza/config.rb
23
39
  - lib/lenza/notifier.rb
24
40
  - lib/lenza/version.rb
@@ -31,7 +47,7 @@ metadata:
31
47
  changelog_uri: https://gitverse.ru/babin/lenza-notifier/content/master/CHANGELOG.md
32
48
  source_code_uri: https://gitverse.ru/babin/lenza-notifier
33
49
  bug_tracker_uri: https://gitverse.ru/babin/lenza-notifier/tasktracker
34
- post_install_message:
50
+ post_install_message:
35
51
  rdoc_options: []
36
52
  require_paths:
37
53
  - lib
@@ -47,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
63
  version: '0'
48
64
  requirements: []
49
65
  rubygems_version: 3.3.3
50
- signing_key:
66
+ signing_key:
51
67
  specification_version: 4
52
68
  summary: Ruby-wrapper для отправки сообщений в мессенджере Lenza с помощью вебхуков
53
69
  test_files: []