rodbot 0.3.0 → 0.3.2
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 +4 -4
- checksums.yaml.gz.sig +2 -1
- data/CHANGELOG.md +14 -0
- data/README.md +3 -3
- data/checksums/rodbot-0.3.1.gem.sha512 +1 -0
- data/checksums/rodbot-0.3.2.gem.sha512 +1 -0
- data/lib/rodbot/generator.rb +3 -2
- data/lib/rodbot/plugins/matrix/relay.rb +1 -3
- data/lib/rodbot/plugins/slack/relay.rb +20 -5
- data/lib/rodbot/plugins/word_of_the_day/schedule.rb +5 -5
- data/lib/rodbot/rack.rb +5 -6
- data/lib/rodbot/relay.rb +18 -5
- data/lib/rodbot/simulator.rb +3 -12
- data/lib/rodbot/version.rb +1 -1
- data/lib/rodbot.rb +1 -0
- data/lib/templates/deploy/docker/compose.yaml.gerb +1 -1
- data/lib/templates/deploy/docker-split/compose.yaml.gerb +1 -1
- data/lib/templates/deploy/render/render-build.sh +10 -0
- data/lib/templates/deploy/render/render-start.sh +5 -0
- data/lib/templates/deploy/render/render.yaml.gerb +19 -0
- data/lib/templates/deploy/render-split/render-build.sh +10 -0
- data/lib/templates/deploy/render-split/render-start.sh +18 -0
- data/lib/templates/deploy/render-split/render.yaml.gerb +42 -0
- data/lib/templates/new/.ruby-version.gerb +1 -0
- data/lib/templates/new/app/app.rb +1 -0
- data/lib/templates/new/app/routes/healthz.rb +15 -0
- data/rodbot.gemspec +1 -1
- data.tar.gz.sig +0 -0
- metadata +14 -7
- metadata.gz.sig +0 -0
- data/lib/templates/new/.ruby-version +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0bf9f1ee8fd09d93797a5ba276aa6fec09be9620e540f118240525c73a6fda6b
|
|
4
|
+
data.tar.gz: b36fdd850e38596aaf7da805107d0cbbbcb46de823e76cad151676fbcc14dd9c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 37a9346640167dc0543d9361b1d53789e363d27e6c57129fde777897f7e8ec3fff51e735129accdfaf8caee943a29fa19daae2ea5acdab6023d11d7dbf4ebaaa
|
|
7
|
+
data.tar.gz: 6fec833877807a7b6dc85e19682c5bf88172ad2ff32ce0d0c5e83565cecbf60e54517f1aaeda451e17ee610f5338969bd05ffe5a8c002b649c28c3e35f25949b
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
?�Q\��^�
|
|
2
|
+
>>g��1s�;��Yp�zϲ���y��ZGjv���t�U������TDͱ9���ݙ5Ըq�{������E:E�M�d�Fi��-�L ����*u�x�2d4$��|��%%8Rc_Y�����g1�M)�-��E%qz�ɉ�$��xBX��/�L//�F�P�ZH��@mǣ���r�['%�ְ�0�]�w�j7!�<���~WN�ԟx��ɚx�(|��G��\<.T�����
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Nothing so far
|
|
4
4
|
|
|
5
|
+
## 0.3.2
|
|
6
|
+
|
|
7
|
+
#### Additions
|
|
8
|
+
* Simple /healthz route e.g. for deployments on render.com
|
|
9
|
+
* Deploy templates for render.com
|
|
10
|
+
|
|
11
|
+
#### Changes
|
|
12
|
+
* Switch from httparty to httpx
|
|
13
|
+
|
|
14
|
+
## 0.3.1
|
|
15
|
+
|
|
16
|
+
#### Fixes
|
|
17
|
+
* Explicitly require Forwardable
|
|
18
|
+
|
|
5
19
|
## 0.3.0
|
|
6
20
|
|
|
7
21
|
#### Additions
|
data/README.md
CHANGED
|
@@ -302,13 +302,13 @@ overmind start
|
|
|
302
302
|
|
|
303
303
|
## Request
|
|
304
304
|
|
|
305
|
-
To query the **app service**, you can either use the bundled [
|
|
305
|
+
To query the **app service**, you can either use the bundled [HTTPX](https://rubygems.org/gems/httpx) gem or the following convenience wrapper:
|
|
306
306
|
|
|
307
307
|
```ruby
|
|
308
|
-
response = Rodbot.request('/time',
|
|
308
|
+
response = Rodbot.request('/time', params: { zone: 'UTC' })
|
|
309
309
|
```
|
|
310
310
|
|
|
311
|
-
This uses the default `method: :get` and the default `timeout: 10` seconds, it returns an instance of [
|
|
311
|
+
This uses the default `method: :get` and the default `timeout: 10` seconds, it returns an instance of [HTTPX::Response](https://www.rubydoc.info/gems/httpx/HTTPX/Response):
|
|
312
312
|
|
|
313
313
|
```ruby
|
|
314
314
|
response.code # => 200
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a97fffc85421a4c32b8f206d2791c923d1a732ffb32f095aa2ef8f0c229147ce1638b604abb3b76ca8fd38a0fa3dee6406dc7b28e5ed23c74922c8a438529e76
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3704bffdb0e27a9544bbdc7538051a9253eeefe81bbbfeea14e1f486e36c701ae200a1b6da151306a96d8e8ccb154236cf18ce4cb27821cd42cbc165a6bc79e6
|
data/lib/rodbot/generator.rb
CHANGED
|
@@ -22,7 +22,7 @@ module Rodbot
|
|
|
22
22
|
class Generator
|
|
23
23
|
|
|
24
24
|
# Glob to filter relevant template files
|
|
25
|
-
GLOB = "**/{*,.ruby-version
|
|
25
|
+
GLOB = "**/{*,.ruby-version*,.gitignore,.keep}"
|
|
26
26
|
|
|
27
27
|
# Colors used by +info+ to color part of the output
|
|
28
28
|
TAG_COLORS = {
|
|
@@ -38,8 +38,9 @@ module Rodbot
|
|
|
38
38
|
|
|
39
39
|
# Print the interpolated template to STDOUT
|
|
40
40
|
def display
|
|
41
|
+
puts
|
|
41
42
|
each_template_path do |template_path, target_path, content|
|
|
42
|
-
puts "
|
|
43
|
+
puts "### #{target_path} ###", (content || template_path.read), nil
|
|
43
44
|
end
|
|
44
45
|
end
|
|
45
46
|
|
|
@@ -71,9 +71,7 @@ module Rodbot
|
|
|
71
71
|
|
|
72
72
|
def on_message(message)
|
|
73
73
|
if message.content[:msgtype] == 'm.text' && message.content[:body].start_with?('!')
|
|
74
|
-
|
|
75
|
-
html ||= reply_to(message)
|
|
76
|
-
room.send_html(html)
|
|
74
|
+
room.send_html(reply_to(message))
|
|
77
75
|
end
|
|
78
76
|
end
|
|
79
77
|
|
|
@@ -42,7 +42,11 @@ module Rodbot
|
|
|
42
42
|
body = remote.gets("\x04")
|
|
43
43
|
remote.close
|
|
44
44
|
body.force_encoding('UTF-8')
|
|
45
|
-
client.web_client.chat_postMessage(
|
|
45
|
+
client.web_client.chat_postMessage(
|
|
46
|
+
channel: channel_id,
|
|
47
|
+
text: md_to_slack_text(body),
|
|
48
|
+
as_user: true
|
|
49
|
+
)
|
|
46
50
|
end
|
|
47
51
|
end
|
|
48
52
|
end
|
|
@@ -56,23 +60,34 @@ module Rodbot
|
|
|
56
60
|
|
|
57
61
|
def on_message(message)
|
|
58
62
|
if message.text.start_with?('!')
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
client.web_client.chat_postMessage(
|
|
64
|
+
channel: message.channel,
|
|
65
|
+
text: reply_to(message),
|
|
66
|
+
as_user: true
|
|
67
|
+
)
|
|
62
68
|
end
|
|
63
69
|
end
|
|
64
70
|
|
|
65
71
|
def reply_to(message)
|
|
66
72
|
command(*message.text[1..].split(/\s+/, 2)).
|
|
67
|
-
psub(placeholders(message.user))
|
|
73
|
+
psub(placeholders(message.user)).
|
|
74
|
+
then { md_to_slack_text(_1) }
|
|
68
75
|
end
|
|
69
76
|
|
|
77
|
+
# @see https://api.slack.com/reference/surfaces/formatting
|
|
70
78
|
def placeholders(sender)
|
|
71
79
|
{
|
|
72
80
|
sender: "<@#{sender}>"
|
|
73
81
|
}
|
|
74
82
|
end
|
|
75
83
|
|
|
84
|
+
# @see https://api.slack.com/reference/surfaces/formatting
|
|
85
|
+
def md_to_slack_text(md)
|
|
86
|
+
md.
|
|
87
|
+
gsub(/\[(.+?)\]\((.+?)\)/, '<\2|\1>'). # convert links
|
|
88
|
+
gsub(/^\s*[*-]\s+/, '• ') # convert bullet lists
|
|
89
|
+
end
|
|
90
|
+
|
|
76
91
|
end
|
|
77
92
|
end
|
|
78
93
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'httpx'
|
|
4
4
|
|
|
5
5
|
module Rodbot
|
|
6
6
|
class Plugins
|
|
@@ -24,11 +24,11 @@ module Rodbot
|
|
|
24
24
|
|
|
25
25
|
class Today
|
|
26
26
|
def initialize
|
|
27
|
-
@response =
|
|
27
|
+
@response = HTTPX.with(timeout: { request_timeout: 60 }).get('https://www.merriam-webster.com/word-of-the-day')
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def message
|
|
31
|
-
if @response.
|
|
31
|
+
if @response.status == 200
|
|
32
32
|
"Word of the day: [#{word}](#{url})"
|
|
33
33
|
else
|
|
34
34
|
"Sorry, there was a problem fetching the word of the day."
|
|
@@ -38,11 +38,11 @@ module Rodbot
|
|
|
38
38
|
private
|
|
39
39
|
|
|
40
40
|
def word
|
|
41
|
-
@response.body.match(/<h2 class="word-header-txt">(.+?)</).captures.first
|
|
41
|
+
@response.body.to_s.match(/<h2 class="word-header-txt">(.+?)</).captures.first
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def url
|
|
45
|
-
@response.body.match(/<meta property="og:url" content="(.+?)"/).captures.first
|
|
45
|
+
@response.body.to_s.match(/<meta property="og:url" content="(.+?)"/).captures.first
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
data/lib/rodbot/rack.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen-string-literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'httpx'
|
|
4
4
|
|
|
5
5
|
using Rodbot::Refinements
|
|
6
6
|
|
|
@@ -36,12 +36,11 @@ module Rodbot
|
|
|
36
36
|
# Send request to the app service
|
|
37
37
|
#
|
|
38
38
|
# @param path [String] path e.g. +/help+
|
|
39
|
-
# @param
|
|
40
|
-
# @param method [Symbol, String] HTTP method
|
|
39
|
+
# @param params [Hash] params hash e.g. +{ search: 'foobar' }+
|
|
41
40
|
# @param timeout [Integer] max seconds to wait for response
|
|
42
|
-
# @return [
|
|
43
|
-
def request(path,
|
|
44
|
-
|
|
41
|
+
# @return [HTTPX::Response]
|
|
42
|
+
def request(path, params: {}, timeout: 10)
|
|
43
|
+
HTTPX.with(timeout: { request_timeout: timeout }).get(Rodbot::Services::App.url.uri_concat(path), params: params)
|
|
45
44
|
end
|
|
46
45
|
|
|
47
46
|
end
|
data/lib/rodbot/relay.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require 'digest'
|
|
4
4
|
require 'socket'
|
|
5
|
-
require '
|
|
5
|
+
require 'httpx'
|
|
6
6
|
|
|
7
7
|
module Rodbot
|
|
8
8
|
|
|
@@ -84,15 +84,28 @@ module Rodbot
|
|
|
84
84
|
]
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
-
# Perform the command
|
|
87
|
+
# Perform the built-in command or fall back to the app using +request+
|
|
88
88
|
#
|
|
89
89
|
# @param command [String] command to perform
|
|
90
90
|
# @param argument [String, nil] optional arguments
|
|
91
91
|
# @return [String] response as Markdown
|
|
92
92
|
def command(command, argument=nil)
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
when
|
|
93
|
+
case command
|
|
94
|
+
when 'ping' then 'pong'
|
|
95
|
+
when 'version' then "rodbot-#{Rodbot::VERSION}"
|
|
96
|
+
else request(command, argument)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Perform the command on the app using a GET request
|
|
101
|
+
#
|
|
102
|
+
# @param command [String] command to perform
|
|
103
|
+
# @param argument [String, nil] optional arguments
|
|
104
|
+
# @return [String] response as Markdown
|
|
105
|
+
def request(command, argument=nil)
|
|
106
|
+
response = Rodbot.request(command, params: { argument: argument })
|
|
107
|
+
case response.status
|
|
108
|
+
when 200 then response.body.to_s
|
|
96
109
|
when 404 then "[[SENDER]] I don't know what do do with `!#{command}`. 🤔"
|
|
97
110
|
else fail
|
|
98
111
|
end
|
data/lib/rodbot/simulator.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen-string-literal: true
|
|
2
2
|
|
|
3
3
|
require 'readline'
|
|
4
|
-
require '
|
|
4
|
+
require 'httpx'
|
|
5
5
|
require 'pastel'
|
|
6
6
|
require 'tty-markdown'
|
|
7
7
|
|
|
@@ -16,6 +16,7 @@ module Rodbot
|
|
|
16
16
|
# @param raw [Boolean] whether to display raw Markdown
|
|
17
17
|
def initialize(sender, raw: false)
|
|
18
18
|
@sender, @raw = sender, raw
|
|
19
|
+
@relay = Rodbot::Relay.new
|
|
19
20
|
@pastel = Pastel.new
|
|
20
21
|
end
|
|
21
22
|
|
|
@@ -33,17 +34,7 @@ module Rodbot
|
|
|
33
34
|
def reply_to(message)
|
|
34
35
|
return "(no command given)" unless message.match?(/^!/)
|
|
35
36
|
command, argument = message[1..].split(/\s+/, 2)
|
|
36
|
-
|
|
37
|
-
response = Rodbot.request(command, query: { argument: argument })
|
|
38
|
-
case response.code
|
|
39
|
-
when 200 then response.body
|
|
40
|
-
when 404 then "[[SENDER]] I've never heard of `!#{command}`, try `!help` instead. 🤔"
|
|
41
|
-
else fail
|
|
42
|
-
end
|
|
43
|
-
rescue
|
|
44
|
-
"[[SENDER]] I'm having trouble talking to the app. 💣"
|
|
45
|
-
end
|
|
46
|
-
text_for body.psub(placeholders)
|
|
37
|
+
text_for @relay.send(:command, command, argument).psub(placeholders)
|
|
47
38
|
end
|
|
48
39
|
|
|
49
40
|
def placeholders
|
data/lib/rodbot/version.rb
CHANGED
data/lib/rodbot.rb
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
services:
|
|
2
|
+
- type: web
|
|
3
|
+
name: bot
|
|
4
|
+
domains:
|
|
5
|
+
- bot.example.com # TODO: use a domain name of your own
|
|
6
|
+
runtime: ruby
|
|
7
|
+
buildCommand: render-build.sh
|
|
8
|
+
startCommand: render-start.sh
|
|
9
|
+
healthCheckPath: /healthz
|
|
10
|
+
autoDeploy: true
|
|
11
|
+
envVars:
|
|
12
|
+
- key: PORT
|
|
13
|
+
value: 7200
|
|
14
|
+
- key: PRODUCTION_CREDENTIALS_KEY
|
|
15
|
+
value:
|
|
16
|
+
- key: RODBOT_ENV
|
|
17
|
+
value: production
|
|
18
|
+
- key: RODBOT_PLUGINS
|
|
19
|
+
value: matrix # TODO: update space separated list of plugins
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
case 1 in
|
|
4
|
+
"app")
|
|
5
|
+
export RODBOT_APP_HOST=0.0.0.0
|
|
6
|
+
bundle exec rodbot start app
|
|
7
|
+
;;
|
|
8
|
+
"relay")
|
|
9
|
+
bundle exec rodbot start relay
|
|
10
|
+
;;
|
|
11
|
+
"schedule")
|
|
12
|
+
bundle exec rodbot start schedule
|
|
13
|
+
;;
|
|
14
|
+
*)
|
|
15
|
+
echo "Invalid argument"
|
|
16
|
+
exit 1
|
|
17
|
+
;;
|
|
18
|
+
esac
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
services:
|
|
2
|
+
- type: web
|
|
3
|
+
name: bot-app
|
|
4
|
+
domains:
|
|
5
|
+
- bot.example.com # TODO: use a domain name of your own
|
|
6
|
+
runtime: ruby
|
|
7
|
+
buildCommand: render-build.sh
|
|
8
|
+
startCommand: render-start.sh app
|
|
9
|
+
healthCheckPath: /healthz
|
|
10
|
+
autoDeploy: true
|
|
11
|
+
envVars:
|
|
12
|
+
- fromGroup: bot
|
|
13
|
+
- key: PORT
|
|
14
|
+
value: 7200
|
|
15
|
+
- type: worker
|
|
16
|
+
name: bot-relay
|
|
17
|
+
runtime: ruby
|
|
18
|
+
buildCommand: render-build.sh
|
|
19
|
+
startCommand: render-start.sh relay
|
|
20
|
+
autoDeploy: true
|
|
21
|
+
envVars:
|
|
22
|
+
- fromGroup: bot
|
|
23
|
+
- type: worker
|
|
24
|
+
name: bot-schedule
|
|
25
|
+
runtime: ruby
|
|
26
|
+
buildCommand: render-build.sh
|
|
27
|
+
startCommand: render-start.sh schedule
|
|
28
|
+
autoDeploy: true
|
|
29
|
+
envVars:
|
|
30
|
+
- fromGroup: bot
|
|
31
|
+
|
|
32
|
+
envVarGroups:
|
|
33
|
+
- name: bot
|
|
34
|
+
envVars:
|
|
35
|
+
- key: PRODUCTION_CREDENTIALS_KEY
|
|
36
|
+
value:
|
|
37
|
+
- key: RODBOT_ENV
|
|
38
|
+
value: production
|
|
39
|
+
- key: RODBOT_PLUGINS
|
|
40
|
+
value: "matrix" # TODO: update space separated list of plugins
|
|
41
|
+
- key: RODBOT_APP_URL
|
|
42
|
+
value: https://bot.example.com # TODO: use the above service domain name
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[%= RUBY_VERSION.sub(/\.\d+$/, '') %]
|
data/rodbot.gemspec
CHANGED
|
@@ -46,7 +46,7 @@ Gem::Specification.new do |spec|
|
|
|
46
46
|
spec.add_runtime_dependency 'dry-credentials', '~> 0'
|
|
47
47
|
spec.add_runtime_dependency 'tty-markdown', '~> 0'
|
|
48
48
|
spec.add_runtime_dependency 'pastel', '~> 0'
|
|
49
|
-
spec.add_runtime_dependency '
|
|
49
|
+
spec.add_runtime_dependency 'httpx', '~> 1'
|
|
50
50
|
spec.add_runtime_dependency 'puma', '~> 6', '>= 6.2'
|
|
51
51
|
spec.add_runtime_dependency 'roda', '~> 3'
|
|
52
52
|
spec.add_runtime_dependency 'tilt', '~> 2'
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rodbot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sven Schwyn
|
|
@@ -29,7 +29,7 @@ cert_chain:
|
|
|
29
29
|
kAyiRqgxF4dJviwtqI7mZIomWL63+kXLgjOjMe1SHxfIPo/0ji6+r1p4KYa7o41v
|
|
30
30
|
fwIwU1MKlFBdsjkd
|
|
31
31
|
-----END CERTIFICATE-----
|
|
32
|
-
date: 2023-10-
|
|
32
|
+
date: 2023-10-18 00:00:00.000000000 Z
|
|
33
33
|
dependencies:
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: zeitwerk
|
|
@@ -102,19 +102,19 @@ dependencies:
|
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
103
|
version: '0'
|
|
104
104
|
- !ruby/object:Gem::Dependency
|
|
105
|
-
name:
|
|
105
|
+
name: httpx
|
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
110
|
+
version: '1'
|
|
111
111
|
type: :runtime
|
|
112
112
|
prerelease: false
|
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
115
|
- - "~>"
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
117
|
+
version: '1'
|
|
118
118
|
- !ruby/object:Gem::Dependency
|
|
119
119
|
name: puma
|
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -450,6 +450,8 @@ files:
|
|
|
450
450
|
- checksums/rodbot-0.1.1.gem.sha512
|
|
451
451
|
- checksums/rodbot-0.2.0.gem.sha512
|
|
452
452
|
- checksums/rodbot-0.3.0.gem.sha512
|
|
453
|
+
- checksums/rodbot-0.3.1.gem.sha512
|
|
454
|
+
- checksums/rodbot-0.3.2.gem.sha512
|
|
453
455
|
- doc/rodbot.afphoto
|
|
454
456
|
- doc/rodbot.avif
|
|
455
457
|
- exe/rodbot
|
|
@@ -508,12 +510,17 @@ files:
|
|
|
508
510
|
- lib/templates/deploy/docker/compose.yaml.gerb
|
|
509
511
|
- lib/templates/deploy/procfile-split/Procfile.gerb
|
|
510
512
|
- lib/templates/deploy/procfile/Procfile.gerb
|
|
513
|
+
- lib/templates/deploy/render-split/render-build.sh
|
|
514
|
+
- lib/templates/deploy/render-split/render-start.sh
|
|
511
515
|
- lib/templates/deploy/render-split/render.yaml.gerb
|
|
516
|
+
- lib/templates/deploy/render/render-build.sh
|
|
517
|
+
- lib/templates/deploy/render/render-start.sh
|
|
512
518
|
- lib/templates/deploy/render/render.yaml.gerb
|
|
513
519
|
- lib/templates/new/.gitignore
|
|
514
|
-
- lib/templates/new/.ruby-version
|
|
520
|
+
- lib/templates/new/.ruby-version.gerb
|
|
515
521
|
- lib/templates/new/README.md
|
|
516
522
|
- lib/templates/new/app/app.rb
|
|
523
|
+
- lib/templates/new/app/routes/healthz.rb
|
|
517
524
|
- lib/templates/new/app/routes/help.rb
|
|
518
525
|
- lib/templates/new/app/views/layout.erb
|
|
519
526
|
- lib/templates/new/app/views/root.erb
|
|
@@ -562,7 +569,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
562
569
|
- !ruby/object:Gem::Version
|
|
563
570
|
version: '0'
|
|
564
571
|
requirements: []
|
|
565
|
-
rubygems_version: 3.4.
|
|
572
|
+
rubygems_version: 3.4.21
|
|
566
573
|
signing_key:
|
|
567
574
|
specification_version: 4
|
|
568
575
|
summary: Minimalistic framework to build chat bots on top of a Roda backend
|
metadata.gz.sig
CHANGED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.2
|