waylon-core 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.roxanne.yml +1 -1
- data/Gemfile.lock +11 -11
- data/lib/waylon/core.rb +1 -0
- data/lib/waylon/services/ping.rb +30 -0
- data/lib/waylon/version.rb +1 -1
- data/lib/waylon/webhook_registry.rb +32 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f5c64d272b9360761b3c7d77b9930cc0d04e23e6fd5e87ab28540be57d283f1
|
4
|
+
data.tar.gz: d6bcd56f391f3d842b082975bf1c2d7ffb2263a413a3be9ff943be9d0d54e2a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac0179b9880f4f0a30ff2d0f4bc39c4e2d991b87fc643c8ce323f707319dfdd56de2114d91b028e2f658480276f909dad89c2e17fdb82e4c05c58eb4b63dc144
|
7
|
+
data.tar.gz: 35e0eba674ddc78a8b49fcf4e47d35c529a0e4ab102afe955965ce64ca74d1cf4dfdda24126e25cf9bc277e64c2eed74b5d2c3f145e02ad240c5043dcac866ea
|
data/.roxanne.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
waylon-core (0.1.
|
4
|
+
waylon-core (0.1.3)
|
5
5
|
addressable (~> 2.8)
|
6
6
|
faraday (~> 1.8)
|
7
7
|
i18n (~> 1.8)
|
@@ -35,14 +35,14 @@ GEM
|
|
35
35
|
faraday-em_synchrony (1.0.0)
|
36
36
|
faraday-excon (1.1.0)
|
37
37
|
faraday-httpclient (1.0.1)
|
38
|
-
faraday-multipart (1.0.
|
38
|
+
faraday-multipart (1.0.3)
|
39
39
|
multipart-post (>= 1.2, < 3)
|
40
40
|
faraday-net_http (1.0.1)
|
41
41
|
faraday-net_http_persistent (1.2.0)
|
42
42
|
faraday-patron (1.0.0)
|
43
43
|
faraday-rack (1.0.0)
|
44
44
|
faraday-retry (1.0.3)
|
45
|
-
i18n (1.
|
45
|
+
i18n (1.9.1)
|
46
46
|
concurrent-ruby (~> 1.0)
|
47
47
|
json (2.6.1)
|
48
48
|
moneta (1.4.2)
|
@@ -56,12 +56,12 @@ GEM
|
|
56
56
|
parser (3.1.0.0)
|
57
57
|
ast (~> 2.4.1)
|
58
58
|
public_suffix (4.0.6)
|
59
|
-
puma (5.
|
59
|
+
puma (5.6.1)
|
60
60
|
nio4r (~> 2.0)
|
61
61
|
rack (2.2.3)
|
62
62
|
rack-protection (2.1.0)
|
63
63
|
rack
|
64
|
-
rainbow (3.
|
64
|
+
rainbow (3.1.1)
|
65
65
|
rake (13.0.6)
|
66
66
|
redis (4.5.1)
|
67
67
|
redis-namespace (1.8.1)
|
@@ -78,18 +78,18 @@ GEM
|
|
78
78
|
rspec-core (~> 3.10.0)
|
79
79
|
rspec-expectations (~> 3.10.0)
|
80
80
|
rspec-mocks (~> 3.10.0)
|
81
|
-
rspec-core (3.10.
|
81
|
+
rspec-core (3.10.2)
|
82
82
|
rspec-support (~> 3.10.0)
|
83
|
-
rspec-expectations (3.10.
|
83
|
+
rspec-expectations (3.10.2)
|
84
84
|
diff-lcs (>= 1.2.0, < 2.0)
|
85
85
|
rspec-support (~> 3.10.0)
|
86
|
-
rspec-mocks (3.10.
|
86
|
+
rspec-mocks (3.10.3)
|
87
87
|
diff-lcs (>= 1.2.0, < 2.0)
|
88
88
|
rspec-support (~> 3.10.0)
|
89
89
|
rspec-support (3.10.3)
|
90
|
-
rubocop (1.
|
90
|
+
rubocop (1.25.0)
|
91
91
|
parallel (~> 1.10)
|
92
|
-
parser (>= 3.
|
92
|
+
parser (>= 3.1.0.0)
|
93
93
|
rainbow (>= 2.2.2, < 4.0)
|
94
94
|
regexp_parser (>= 1.8, < 3.0)
|
95
95
|
rexml
|
@@ -100,7 +100,7 @@ GEM
|
|
100
100
|
parser (>= 3.0.1.1)
|
101
101
|
rubocop-rake (0.6.0)
|
102
102
|
rubocop (~> 1.0)
|
103
|
-
rubocop-rspec (2.
|
103
|
+
rubocop-rspec (2.8.0)
|
104
104
|
rubocop (~> 1.19)
|
105
105
|
ruby-progressbar (1.11.0)
|
106
106
|
ruby2_keywords (0.0.5)
|
data/lib/waylon/core.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Waylon
|
4
|
+
module Services
|
5
|
+
# A Ping Service for monitoring
|
6
|
+
class Ping < Sinatra::Base
|
7
|
+
configure do
|
8
|
+
set :protection, except: :http_origin
|
9
|
+
set :logging, ::Waylon::Logger
|
10
|
+
end
|
11
|
+
|
12
|
+
before do
|
13
|
+
content_type "application/json"
|
14
|
+
halt 403 unless request.get? || request.options?
|
15
|
+
end
|
16
|
+
|
17
|
+
after do
|
18
|
+
headers "Access-Control-Allow-Methods" => %w[OPTIONS GET] if request.options?
|
19
|
+
end
|
20
|
+
|
21
|
+
get "/" do
|
22
|
+
{ status: :ok }.to_json
|
23
|
+
end
|
24
|
+
|
25
|
+
options "/" do
|
26
|
+
halt 200
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/waylon/version.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Waylon
|
4
|
+
# Registry of Webhook subclasses known to Waylon
|
5
|
+
class WebhookRegistry
|
6
|
+
include Singleton
|
7
|
+
|
8
|
+
attr_reader :webhooks
|
9
|
+
|
10
|
+
# A convenience wrapper around the singleton instance #register method
|
11
|
+
# @param (see #register)
|
12
|
+
# @return (see #register)
|
13
|
+
def self.register(name, class_name)
|
14
|
+
instance.register(name, class_name)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Add the provided Webhook class to the registry under `name`
|
18
|
+
# @param name [String] The name of the Webhook in the registry
|
19
|
+
# @param class_name [Class] The Webhook subclass to add
|
20
|
+
# @return [Class] The Webhook subclass
|
21
|
+
def register(name, class_name)
|
22
|
+
@webhooks ||= {}
|
23
|
+
@webhooks[name.to_s] = class_name
|
24
|
+
end
|
25
|
+
|
26
|
+
# Provides a Hash version of this registry
|
27
|
+
# @return [Hash]
|
28
|
+
def to_hash
|
29
|
+
(@webhooks || {}).transform_keys { |k| "/hooks/#{k}" }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: waylon-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Gnagy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01
|
11
|
+
date: 2022-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -276,6 +276,7 @@ files:
|
|
276
276
|
- lib/waylon/rspec/test_worker.rb
|
277
277
|
- lib/waylon/sense.rb
|
278
278
|
- lib/waylon/sense_registry.rb
|
279
|
+
- lib/waylon/services/ping.rb
|
279
280
|
- lib/waylon/skill.rb
|
280
281
|
- lib/waylon/skill_registry.rb
|
281
282
|
- lib/waylon/skills/default.rb
|
@@ -286,6 +287,7 @@ files:
|
|
286
287
|
- lib/waylon/user.rb
|
287
288
|
- lib/waylon/version.rb
|
288
289
|
- lib/waylon/webhook.rb
|
290
|
+
- lib/waylon/webhook_registry.rb
|
289
291
|
- scripts/test.sh
|
290
292
|
- waylon-core.gemspec
|
291
293
|
homepage: https://github.com/jgnagy/waylon-core
|