pushmore 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/push_more.rb +35 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b09e582b2e9f1a3690a62df9153ebc1383b131c4
4
+ data.tar.gz: b32f74c9a73b05230447332f750019280a941e75
5
+ SHA512:
6
+ metadata.gz: 9634fc3b2c1027dee9433267dc1fd133ebe2139b2d3e4e2fa0e70eb600a11b12e68c81f7b01419c818ddd8412a4b87c395461de208693aa8ade286b2236b6534
7
+ data.tar.gz: 10a89801f52c3018182b88abd97b221eae0ddfe897b1ee4d7a02292ed18490d2cee981708b383e02fb57ef30d94f688d561510a376ffe7c1d8fbf11ad5ada742
data/lib/push_more.rb ADDED
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "net/https"
4
+
5
+ class PushMore
6
+ WEBHOOK_BASE_URL = "https://pushmore.io/webhook/"
7
+
8
+ def initialize(body, key: ENV.fetch("PUSH_MORE_KEY"))
9
+ @body = body
10
+ @key = key
11
+ end
12
+
13
+ def deliver
14
+ http = Net::HTTP.new(webhook_uri.host, webhook_uri.port)
15
+ http.use_ssl = true
16
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
17
+
18
+ request = Net::HTTP::Post.new(webhook_uri.request_uri)
19
+ request.body = @body
20
+
21
+ response = http.request(request)
22
+
23
+ if response.body.include? "Error"
24
+ raise response.body
25
+ else
26
+ true
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def webhook_uri
33
+ URI.parse WEBHOOK_BASE_URL + @key
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pushmore
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Marc Köhlbrugge
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-04-18 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Easily send notifications to Telegram
14
+ email: hey@marckohlbrugge.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/push_more.rb
20
+ homepage: http://rubygems.org/gems/pushmore
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.6.11
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Ruby client for PushMore.io
44
+ test_files: []