lenza-notifier 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: bb3b7fdd207dee4924e62f6d8944add97b0d4d49f4b006c17112cf1fc0d00566
4
+ data.tar.gz: b17b9ea778ef4e215e267737637c6f0b79d4232e089099c8c298cfd2b7128457
5
+ SHA512:
6
+ metadata.gz: bdf748596641c3a0f08e28873fde40c4e52a82a02a3ccb0467aa632432da6a48d2eb9e49209e69b179285e10a9f5b9e37987fb2f29d15e5249362bf355e9d5b0
7
+ data.tar.gz: fbb138cff94aa75ed4c73642b1557804722ef0dffc9c68e7b76eda24df839472c53d410d57bd37c6b46d06a04e434580e7ad3e2d79be067912a0afdba29129c2
data/CHANGELOG.md ADDED
@@ -0,0 +1,3 @@
1
+ ### 1.0.0 (20.01.2025)
2
+
3
+ * Базовая логика конфигурирования и отправки сообщений.
data/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # Lenza Notifier
2
+ [![Gem Version](https://badge.fury.io/rb/lenza-notifier.svg)](https://badge.fury.io/rb/lenza-notifier)
3
+
4
+ Ruby-гем для работы с API мессенджера Lenza.
5
+
6
+ ![](lenza.svg)
7
+
8
+ ## Установка
9
+
10
+ Добавить в Gemfile
11
+
12
+ ```ruby
13
+ gem 'lenza-notifier'
14
+ ```
15
+
16
+ И выполнить:
17
+
18
+ ```bash
19
+ bundle
20
+ ```
21
+
22
+ ## Использование
23
+
24
+ Создайте вебхук в пространстве Lenza и отправьте сообщение, передав его URL:
25
+
26
+ ```ruby
27
+ Lenza::Notifier.new('https://api.lenzaos.com/integration/webhook/Jsp_K2g6D6nPckttVvQxCG71SQ0Z6f8C74Xd7S9').ping('Привет!')
28
+ ```
29
+
30
+ ## Конфигурация
31
+
32
+ Добавьте файл конфигурации `config/initializers/lenza.rb` и задайте URL вебхука (настройка необязательна):
33
+
34
+ ```ruby
35
+ Lenza.configure do |config|
36
+
37
+ config.webhook_url = ENV['LENZA_WEBHOOK_URL']
38
+
39
+ end
40
+ ```
41
+
42
+ После этого передавать URL вебхука при отправке сообщения не обязательно:
43
+
44
+ ```ruby
45
+ Lenza::Notifier.new.ping('Привет!')
46
+ ```
@@ -0,0 +1,18 @@
1
+ module Lenza
2
+ module Config
3
+
4
+ extend self
5
+
6
+ attr_accessor :webhook_url
7
+
8
+ end
9
+
10
+ def self.configure
11
+ yield(config)
12
+ config
13
+ end
14
+
15
+ def self.config
16
+ Config
17
+ end
18
+ end
@@ -0,0 +1,33 @@
1
+ module Lenza
2
+ class Notifier
3
+
4
+ def initialize(webhook_url = nil)
5
+ url = Lenza::Config.webhook_url || webhook_url
6
+
7
+ if url.blank?
8
+ raise StandardError.new('URL вебхука отсутствует')
9
+ end
10
+
11
+ @uri = URI.parse(url)
12
+ end
13
+
14
+ def ping(message)
15
+ # формирование запроса
16
+ request = Net::HTTP::Post.new(@uri)
17
+ request.content_type = 'application/json'
18
+ request.body = JSON.dump(message:)
19
+
20
+ # отправка запроса
21
+ response = Net::HTTP.start(@uri.hostname, @uri.port, use_ssl: true) do |http|
22
+ http.request(request)
23
+ end
24
+
25
+ # ответ
26
+ {
27
+ code: response.code,
28
+ body: JSON.parse(response.body)
29
+ }
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,3 @@
1
+ module Lenza
2
+ VERSION = '1.0.0'.freeze
3
+ end
@@ -0,0 +1,2 @@
1
+ require_relative 'lenza/config'
2
+ require_relative 'lenza/notifier'
@@ -0,0 +1 @@
1
+ require 'lenza-notifier'
metadata ADDED
@@ -0,0 +1,53 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lenza-notifier
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Павел Бабин
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-01-20 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Ruby-wrapper для отправки сообщений в мессенджере Lenza с помощью вебхуков
14
+ email: babin359@icloud.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - CHANGELOG.md
20
+ - README.md
21
+ - lib/lenza-notifier.rb
22
+ - lib/lenza/config.rb
23
+ - lib/lenza/notifier.rb
24
+ - lib/lenza/version.rb
25
+ - lib/lenza_notifier.rb
26
+ homepage: https://gitverse.ru/babin/lenza-notifier
27
+ licenses:
28
+ - MIT
29
+ metadata:
30
+ rubygems_mfa_required: 'true'
31
+ changelog_uri: https://gitverse.ru/babin/lenza-notifier/content/master/CHANGELOG.md
32
+ source_code_uri: https://gitverse.ru/babin/lenza-notifier
33
+ bug_tracker_uri: https://gitverse.ru/babin/lenza-notifier/tasktracker
34
+ post_install_message:
35
+ rdoc_options: []
36
+ require_paths:
37
+ - lib
38
+ required_ruby_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 3.1.0
43
+ required_rubygems_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ requirements: []
49
+ rubygems_version: 3.0.6
50
+ signing_key:
51
+ specification_version: 4
52
+ summary: Ruby-wrapper для отправки сообщений в мессенджере Lenza с помощью вебхуков
53
+ test_files: []