lenza-notifier 1.0.1 → 1.1.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: 0b1066745cf5897b8772ef977543a879c76f599e62436df9b9d616f83e367292
4
+ data.tar.gz: 53ff88e2da9c3de1444a92d84cd73cc809bae0f7d21980b5796b7b6029272bf7
5
5
  SHA512:
6
- metadata.gz: 91ecbab992dcab32eb39e9b8115d1655ccd8b33bde1fccca1bb09656f6ff94c9664ebac5534e112c1734dd78c0651c75cbb7687b4c243fb338aa05abbc071e83
7
- data.tar.gz: 15340f38f620979467986eb9fba069683ad76378a8add7ce5d469b6394d21fccc812b264598bb6c7b9cf4b3044d5a8cb714238a37cd5b3b2b7a5e0503b615686
6
+ metadata.gz: c1a9f55d4d9d95bba1c8c0e3d2a7da5bb7a906903d20f2c2b9e442059192a43c7136f320df53cc21aab939d852d9c570e0ff90072717f6e78bfc87bdacf2f0bc
7
+ data.tar.gz: 07b9ad47b4a257d613bdccd197d6d994aa9ca2229dc5f7d025a1992b78b98fa4ce5a3ae252afd7ac724a5911065fea76b8399856b9674d8241f832bfb66f7a17
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### 1.1.0 (22.04.2025)
2
+
3
+ * Возможность настройки уведомлений об обновлениях через Capistrano.
4
+
1
5
  ### 1.0.0 (20.01.2025)
2
6
 
3
7
  * Базовая логика конфигурирования и отправки сообщений.
data/README.md CHANGED
@@ -44,3 +44,19 @@ 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
+ ```
@@ -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__)
@@ -1,10 +1,12 @@
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
6
8
 
7
- if url.blank?
9
+ if url == '' || url.nil?
8
10
  raise StandardError.new('URL вебхука отсутствует')
9
11
  end
10
12
 
data/lib/lenza/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lenza
2
- VERSION = '1.0.1'.freeze
2
+ VERSION = '1.1.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.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
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-04-22 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