zetabot 2.1.2 → 2.2.1

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: 46af2180fa140b7a4a13ff6aa3238a10641aa49aacd602c1681aa188ba086925
4
- data.tar.gz: e9fadf22b7c2ea0e310ab6161a06be6e259ca5b85c469e0cc36e6b0c65be54bc
3
+ metadata.gz: f8e39c59a8f99836efb2437f8201d1ee3adab62989ef546b30e31a51774ab1ea
4
+ data.tar.gz: 20fc3e2ddb8926fc0f81da0b5d325d88974e1a43cf7ec9b6217cf5fc02a80095
5
5
  SHA512:
6
- metadata.gz: df6c87ba8cffd091d528aeae97be147f5e0e4ed3fd13f1523c43b79112ceb75ffe749040875b08a0921c80336dc59400c17cd3e56d3689061b1dd619414a7a1e
7
- data.tar.gz: 807a2d87d838cb17b5e79adcc5ba154d2b207446edf0135eecf58ca846f3b22b44e410cf491096a59f3b165f246cfef787c3422f3fb84cd98865eefbe9744f0f
6
+ metadata.gz: 89cb309e5b06b123427b3aca1d4e24f3c80414717b87cf1fd5cadd752f19d750aa01799bd948d06bb806db03325746414ad691c7408dcb9c5c0ff9cfb1661143
7
+ data.tar.gz: 994491b4d87d4e16bc9e03209f4b0fdda5d385fccc42ac2dd5174eb4bf2362ee4e17e793c9825a2cd02a80b57eb57a125ba108bd499dcd0ffb34f2b7140b5a47
data/.mise.toml ADDED
@@ -0,0 +1,2 @@
1
+ [tools]
2
+ ruby = "4.0.9"
data/.projectile ADDED
File without changes
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --require spec_helper
2
+ --format progress
data/Gemfile.lock CHANGED
@@ -1,15 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zetabot (2.1.1)
4
+ zetabot (2.2.1)
5
5
  actionview
6
+ base64
7
+ bigdecimal
8
+ cgi
6
9
  chronic
7
10
  chronic_duration
8
- cinch
9
- cinch-cooldown
10
- cinch-quotes
11
11
  cinch-toolbox
12
12
  crack
13
+ csv
13
14
  daemons
14
15
  destructor
15
16
  discourse_api
@@ -18,17 +19,20 @@ PATH
18
19
  faraday
19
20
  geocoder
20
21
  gist
21
- github_api
22
22
  haml
23
23
  hashie
24
24
  httparty
25
25
  humanize-bytes
26
26
  ipaddress
27
+ ircinch
28
+ logger
27
29
  mechanize
28
30
  mkfifo
29
- nokogiri (~> 1.13.6)
31
+ nokogiri (>= 1.13.6)
32
+ ostruct
30
33
  pdf-reader
31
34
  persist
35
+ pstore
32
36
  recursive-open-struct
33
37
  rest-client
34
38
  tag_formatter
@@ -41,291 +45,316 @@ PATH
41
45
  GEM
42
46
  remote: https://rubygems.org/
43
47
  specs:
44
- Ascii85 (1.1.0)
45
- actionview (7.0.4.3)
46
- activesupport (= 7.0.4.3)
48
+ Ascii85 (2.0.1)
49
+ actionview (8.1.4)
50
+ activesupport (= 8.1.4)
47
51
  builder (~> 3.1)
48
- erubi (~> 1.4)
49
- rails-dom-testing (~> 2.0)
50
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
51
- activesupport (7.0.4.3)
52
- concurrent-ruby (~> 1.0, >= 1.0.2)
52
+ erubi (~> 1.11)
53
+ rails-dom-testing (~> 2.2)
54
+ rails-html-sanitizer (~> 1.6)
55
+ activesupport (8.1.4)
56
+ base64
57
+ bigdecimal
58
+ concurrent-ruby (~> 1.0, >= 1.3.1)
59
+ connection_pool (>= 2.2.5)
60
+ drb
53
61
  i18n (>= 1.6, < 2)
62
+ json
63
+ logger (>= 1.4.2)
54
64
  minitest (>= 5.1)
55
- tzinfo (~> 2.0)
56
- addressable (2.8.4)
57
- public_suffix (>= 2.0.2, < 6.0)
58
- afm (0.2.2)
59
- ansi (1.5.0)
60
- ast (2.4.2)
61
- binding.repl (3.0.0)
62
- builder (3.2.4)
63
- cd (1.0.1)
65
+ securerandom (>= 0.3)
66
+ tzinfo (~> 2.0, >= 2.0.5)
67
+ uri (>= 0.13.1)
68
+ addressable (2.9.0)
69
+ public_suffix (>= 2.0.2, < 8.0)
70
+ afm (1.0.1)
71
+ ansi (1.6.0)
72
+ ast (2.4.3)
73
+ base64 (0.3.0)
74
+ bigdecimal (4.1.3)
75
+ builder (3.3.0)
76
+ cd (1.0.2)
77
+ cgi (0.5.2)
64
78
  chronic (0.10.2)
65
79
  chronic_duration (0.10.6)
66
80
  numerizer (~> 0.1.1)
67
- cinch (2.3.4)
68
- cinch-cooldown (1.2.1)
69
- cinch (~> 2)
70
- time-lord (~> 1.0, >= 1.0.1)
71
- cinch-quotes (0.0.4)
72
- cinch (~> 2.0)
73
81
  cinch-toolbox (1.1.7)
74
82
  nokogiri (~> 1.6)
75
- clipboard (1.3.6)
76
- code (0.9.3)
83
+ clipboard (2.0.0)
84
+ code (0.9.5)
77
85
  coderay (~> 1.1)
78
86
  method_source (>= 0.9, < 2.0)
79
87
  coderay (1.1.3)
80
- concurrent-ruby (1.2.2)
81
- connection_pool (2.4.0)
82
- crack (0.4.5)
88
+ concurrent-ruby (1.3.8)
89
+ connection_pool (3.0.2)
90
+ core_docs (0.9.13)
91
+ yard (~> 0.9.11)
92
+ crack (1.0.1)
93
+ bigdecimal
83
94
  rexml
84
- crass (1.0.6)
95
+ crass (1.0.8)
96
+ csv (3.3.6)
85
97
  daemons (1.4.1)
86
- debugging (1.1.2)
87
- binding.repl (~> 3.0)
98
+ debugging (2.1.1)
88
99
  paint (>= 0.9, < 3.0)
89
- descendants_tracker (0.0.4)
90
- thread_safe (~> 0.3, >= 0.3.1)
91
100
  destructor (0.1.0)
92
- diff-lcs (1.5.0)
93
- discourse_api (1.1.0)
94
- faraday (~> 1.0)
95
- faraday_middleware (~> 1.0)
101
+ diff-lcs (1.6.2)
102
+ discourse_api (2.1.0)
103
+ faraday (~> 2.7)
104
+ faraday-follow_redirects
105
+ faraday-multipart
96
106
  rack (>= 1.6)
97
107
  dnsbl-client (1.1.1)
98
- domain_name (0.5.20190701)
99
- unf (>= 0.0.5, < 1.0.0)
108
+ domain_name (0.7.20261007)
109
+ drb (2.2.3)
100
110
  dronebl.rb (0.1.0.0)
101
111
  httparty (~> 0.13)
102
112
  nokogiri (~> 1.6)
103
- erubi (1.12.0)
104
- every_day_irb (2.1.1)
113
+ erb (6.0.7)
114
+ erubi (1.13.1)
115
+ every_day_irb (2.3.0)
105
116
  cd (~> 1.0)
106
- fancy_irb (1.4.3)
117
+ irb
118
+ fancy_irb (2.1.3)
119
+ irb (>= 1.7, < 2.0)
107
120
  paint (>= 0.9, < 3.0)
108
- unicode-display_width (>= 1.1)
109
- faraday (1.10.3)
110
- faraday-em_http (~> 1.0)
111
- faraday-em_synchrony (~> 1.0)
112
- faraday-excon (~> 1.1)
113
- faraday-httpclient (~> 1.0)
114
- faraday-multipart (~> 1.0)
115
- faraday-net_http (~> 1.0)
116
- faraday-net_http_persistent (~> 1.0)
117
- faraday-patron (~> 1.0)
118
- faraday-rack (~> 1.0)
119
- faraday-retry (~> 1.0)
120
- ruby2_keywords (>= 0.0.4)
121
- faraday-em_http (1.0.0)
122
- faraday-em_synchrony (1.0.0)
123
- faraday-excon (1.1.0)
124
- faraday-httpclient (1.0.1)
125
- faraday-multipart (1.0.4)
126
- multipart-post (~> 2)
127
- faraday-net_http (1.0.1)
128
- faraday-net_http_persistent (1.2.0)
129
- faraday-patron (1.0.0)
130
- faraday-rack (1.0.0)
131
- faraday-retry (1.0.3)
132
- faraday_middleware (1.2.0)
133
- faraday (~> 1.0)
134
- ffi (1.15.5)
135
- geocoder (1.8.1)
136
- gist (6.0.0)
137
- github_api (0.19.0)
138
- addressable (~> 2.4)
139
- descendants_tracker (~> 0.0.4)
140
- faraday (>= 0.8, < 2)
141
- hashie (~> 3.5, >= 3.5.2)
142
- oauth2 (~> 1.0)
143
- haml (6.1.1)
121
+ unicode-display_width (>= 2.5)
122
+ faraday (2.15.0)
123
+ faraday-net_http (>= 2.0, < 3.6)
124
+ json
125
+ logger
126
+ faraday-follow_redirects (0.5.0)
127
+ faraday (>= 1, < 3)
128
+ faraday-multipart (1.2.0)
129
+ multipart-post (~> 2.0)
130
+ faraday-net_http (3.5.0)
131
+ net-http (~> 0.5)
132
+ ffi (1.17.4)
133
+ geocoder (1.8.6)
134
+ base64 (>= 0.1.0)
135
+ csv (>= 3.0.0)
136
+ gist (6.1.0)
137
+ haml (7.5.1)
138
+ prism (>= 1.1.0)
144
139
  temple (>= 0.8.2)
145
140
  thor
146
141
  tilt
142
+ hashdiff (1.2.1)
147
143
  hashery (2.1.2)
148
- hashie (3.6.0)
144
+ hashie (5.2.0)
145
+ logger
149
146
  hirb (0.7.3)
150
147
  http-accept (1.7.0)
151
- http-cookie (1.0.5)
148
+ http-cookie (1.1.6)
152
149
  domain_name (~> 0.5)
153
- httparty (0.21.0)
150
+ httparty (0.24.3)
151
+ csv
154
152
  mini_mime (>= 1.0.0)
155
153
  multi_xml (>= 0.5.2)
156
154
  humanize-bytes (2.2.0)
157
- i18n (1.13.0)
155
+ i18n (1.15.2)
158
156
  concurrent-ruby (~> 1.0)
159
- interactive_editor (0.0.11)
160
- spoon (>= 0.0.1)
161
- io-console (0.5.11)
157
+ interactive_editor (0.0.12)
158
+ spoon (~> 0.0.6)
159
+ io-console (0.9.4)
162
160
  ipaddress (0.8.3)
163
- irb (1.4.1)
164
- reline (>= 0.3.0)
165
- irbtools (3.0.5)
166
- binding.repl (~> 3.0)
167
- clipboard (~> 1.3)
168
- code (>= 0.9.2, < 2.0)
161
+ irb (1.18.0)
162
+ pp (>= 0.6.0)
163
+ prism (>= 1.3.0)
164
+ rdoc (>= 4.0.0)
165
+ reline (>= 0.4.2)
166
+ irbtools (4.2.0)
167
+ clipboard (>= 1.4, < 3.0)
168
+ code (>= 0.9.5, < 2.0)
169
169
  coderay (~> 1.1)
170
- debugging (~> 1.1)
171
- every_day_irb (~> 2.0)
172
- fancy_irb (~> 1.2, >= 1.2.1)
170
+ core_docs (~> 0.9.13)
171
+ debugging (~> 2.1)
172
+ every_day_irb (~> 2.3)
173
+ fancy_irb (~> 2.1, >= 2.1.3)
173
174
  hirb (~> 0.7, >= 0.7.3)
174
- interactive_editor (~> 0.0, >= 0.0.10)
175
- irb (>= 0.9.6)
176
- methodfinder (~> 2.2, >= 2.2.2)
177
- object_shadow (~> 1.1)
178
- ori (~> 0.1.0)
179
- os
175
+ interactive_editor (~> 0.0, >= 0.0.12)
176
+ irb (~> 1.16)
177
+ looksee (>= 5.0, < 7.0)
178
+ methodfinder (~> 2.2, >= 2.2.5)
179
+ object_shadow (~> 1.1, >= 1.1.2)
180
+ os (~> 1.1, >= 1.1.4)
180
181
  paint (>= 0.9, < 3.0)
181
- ruby_engine (~> 1.0)
182
- ruby_info (~> 1.0)
182
+ ruby_engine (~> 2.0)
183
183
  ruby_version (~> 1.0)
184
- wirb (~> 2.0, >= 2.2.1)
184
+ wirb (~> 3.0)
185
+ ircinch (2.4.5)
186
+ ostruct
185
187
  iso8601 (0.13.0)
186
- jwt (2.7.0)
188
+ json (3.1.0)
187
189
  liner (0.2.4)
188
- loofah (2.20.0)
190
+ logger (1.7.0)
191
+ loofah (2.25.2)
189
192
  crass (~> 1.0.2)
190
- nokogiri (>= 1.5.9)
191
- mechanize (2.9.1)
193
+ nokogiri (>= 1.12.0)
194
+ looksee (5.1.0)
195
+ mechanize (2.14.1)
192
196
  addressable (~> 2.8)
197
+ base64
193
198
  domain_name (~> 0.5, >= 0.5.20190701)
194
199
  http-cookie (~> 1.0, >= 1.0.3)
195
- mime-types (~> 3.0)
200
+ mime-types (~> 3.3)
196
201
  net-http-digest_auth (~> 1.4, >= 1.4.1)
197
202
  net-http-persistent (>= 2.5.2, < 5.0.dev)
203
+ nkf
198
204
  nokogiri (~> 1.11, >= 1.11.2)
199
205
  rubyntlm (~> 0.6, >= 0.6.3)
200
206
  webrick (~> 1.7)
201
207
  webrobots (~> 0.1.2)
202
- memoizable (0.4.2)
203
- thread_safe (~> 0.3, >= 0.3.1)
204
- method_source (1.0.0)
205
- methodfinder (2.2.4)
206
- mime-types (3.4.1)
207
- mime-types-data (~> 3.2015)
208
- mime-types-data (3.2023.0218.1)
209
- mini_mime (1.1.2)
210
- mini_portile2 (2.8.7)
211
- minitest (5.18.0)
208
+ memoizable (0.5.1)
209
+ method_source (1.1.0)
210
+ methodfinder (2.3.1)
211
+ mime-types (3.7.0)
212
+ logger
213
+ mime-types-data (~> 3.2025, >= 3.2025.0507)
214
+ mime-types-data (3.2026.1020)
215
+ mini_mime (1.1.5)
216
+ mini_portile2 (2.8.9)
217
+ minitest (6.0.6)
218
+ drb (~> 2.0)
219
+ prism (~> 1.5)
212
220
  mkfifo (0.1.1)
213
- multi_json (1.15.0)
214
- multi_xml (0.6.0)
215
- multipart-post (2.3.0)
221
+ multi_xml (0.9.1)
222
+ bigdecimal (>= 3.1, < 5)
223
+ multipart-post (2.4.1)
224
+ net-http (0.10.0)
225
+ net-protocol (>= 0.3.0)
226
+ uri (>= 0.11.1)
216
227
  net-http-digest_auth (1.4.1)
217
- net-http-persistent (4.0.2)
218
- connection_pool (~> 2.2)
228
+ net-http-persistent (4.0.8)
229
+ connection_pool (>= 2.2.4, < 4)
230
+ net-protocol (0.4.0)
231
+ timeout
219
232
  net_http_timeout_errors (1.0.0)
220
233
  netrc (0.11.0)
221
- nokogiri (1.13.10)
222
- mini_portile2 (~> 2.8.0)
234
+ nkf (0.3.0)
235
+ nokogiri (1.19.4)
236
+ mini_portile2 (~> 2.8.2)
223
237
  racc (~> 1.4)
224
238
  numerizer (0.1.1)
225
- oauth2 (1.4.11)
226
- faraday (>= 0.17.3, < 3.0)
227
- jwt (>= 1.0, < 3.0)
228
- multi_json (~> 1.3)
229
- multi_xml (~> 0.5)
230
- rack (>= 1.2, < 4)
231
- object_shadow (1.1.1)
232
- oga (3.4)
239
+ object_shadow (1.1.2)
240
+ oga (3.5)
233
241
  ast
234
- ruby-ll (~> 2.1)
235
- ori (0.1.0)
242
+ ruby-ll (~> 2.2)
236
243
  os (1.1.4)
237
- paint (2.2.1)
244
+ ostruct (0.6.3)
245
+ paint (2.3.0)
238
246
  parslet (2.0.0)
239
- pdf-reader (2.11.0)
240
- Ascii85 (~> 1.0)
241
- afm (~> 0.2.1)
247
+ pdf-reader (2.16.0)
248
+ Ascii85 (>= 1.0, < 3.0, != 2.0.0)
249
+ afm (>= 0.2.1, < 2)
242
250
  hashery (~> 2.0)
243
- ruby-rc4
244
251
  ttfunk
245
252
  persist (1.0.0)
246
- public_suffix (5.0.1)
247
- racc (1.8.0)
248
- rack (3.0.7)
249
- rails-dom-testing (2.0.3)
250
- activesupport (>= 4.2.0)
253
+ pp (0.6.4)
254
+ prettyprint
255
+ prettyprint (0.2.1)
256
+ prism (1.9.0)
257
+ pstore (0.2.1)
258
+ public_suffix (7.0.5)
259
+ racc (1.8.1)
260
+ rack (3.2.7)
261
+ rails-dom-testing (2.3.0)
262
+ activesupport (>= 5.0.0)
263
+ minitest
251
264
  nokogiri (>= 1.6)
252
- rails-html-sanitizer (1.5.0)
253
- loofah (~> 2.19, >= 2.19.1)
254
- rake (10.5.0)
255
- recursive-open-struct (1.1.3)
256
- reline (0.3.1)
265
+ rails-html-sanitizer (1.7.1)
266
+ loofah (~> 2.25, >= 2.25.2)
267
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
268
+ rake (13.4.2)
269
+ rbs (4.2.0)
270
+ logger
271
+ prism (>= 1.6.0)
272
+ tsort
273
+ rdoc (8.1.0)
274
+ erb
275
+ prism (>= 1.6.0)
276
+ rbs (>= 4.0.0)
277
+ tsort
278
+ recursive-open-struct (2.1.1)
279
+ ostruct
280
+ reline (0.7.0)
257
281
  io-console (~> 0.5)
258
282
  rest-client (2.1.0)
259
283
  http-accept (>= 1.7.0, < 2.0)
260
284
  http-cookie (>= 1.0.2, < 2.0)
261
285
  mime-types (>= 1.16, < 4.0)
262
286
  netrc (~> 0.8)
263
- rexml (3.2.5)
264
- rspec (3.11.0)
265
- rspec-core (~> 3.11.0)
266
- rspec-expectations (~> 3.11.0)
267
- rspec-mocks (~> 3.11.0)
268
- rspec-core (3.11.0)
269
- rspec-support (~> 3.11.0)
270
- rspec-expectations (3.11.0)
287
+ rexml (3.4.4)
288
+ rspec (3.13.2)
289
+ rspec-core (~> 3.13.0)
290
+ rspec-expectations (~> 3.13.0)
291
+ rspec-mocks (~> 3.13.0)
292
+ rspec-core (3.13.6)
293
+ rspec-support (~> 3.13.0)
294
+ rspec-expectations (3.13.5)
271
295
  diff-lcs (>= 1.2.0, < 2.0)
272
- rspec-support (~> 3.11.0)
273
- rspec-mocks (3.11.1)
296
+ rspec-support (~> 3.13.0)
297
+ rspec-mocks (3.13.8)
274
298
  diff-lcs (>= 1.2.0, < 2.0)
275
- rspec-support (~> 3.11.0)
276
- rspec-support (3.11.0)
277
- ruby-ll (2.1.2)
299
+ rspec-support (~> 3.13.0)
300
+ rspec-support (3.13.7)
301
+ ruby-ll (2.2.0)
278
302
  ansi
279
303
  ast
280
- ruby-rc4 (0.1.5)
281
- ruby2_keywords (0.0.5)
282
- ruby_engine (1.0.1)
283
- ruby_info (1.0.1)
284
- ruby_version (1.0.2)
285
- rubyntlm (0.6.3)
304
+ ruby_engine (2.0.3)
305
+ ruby_version (1.0.3)
306
+ rubyntlm (0.6.8)
307
+ base64
308
+ securerandom (0.4.1)
286
309
  signed_multiset (0.2.1)
287
310
  spoon (0.0.6)
288
311
  ffi
289
312
  tag_formatter (0.0.3)
290
- temple (0.10.0)
291
- thor (1.2.1)
292
- thread_safe (0.3.6)
293
- tilt (2.1.0)
294
- time-lord (1.0.1)
313
+ temple (0.10.7)
314
+ thor (1.5.0)
315
+ tilt (2.9.0)
316
+ timeout (0.6.1)
317
+ tsort (0.2.0)
295
318
  ttfunk (1.7.0)
296
319
  tzinfo (2.0.6)
297
320
  concurrent-ruby (~> 1.0)
298
- unf (0.1.4)
299
- unf_ext
300
- unf_ext (0.0.8.2)
301
- unicode-display_width (2.1.0)
321
+ unicode-display_width (3.3.0)
322
+ unicode-emoji (~> 4.3)
323
+ unicode-emoji (4.3.0)
302
324
  unitwise (2.3.0)
303
325
  liner (~> 0.2)
304
326
  memoizable (~> 0.4)
305
327
  parslet (~> 2.0)
306
328
  signed_multiset (~> 0.2)
307
- video_info (4.0.0)
329
+ uri (1.1.2)
330
+ video_info (4.2.0)
308
331
  iso8601 (~> 0.13.0)
309
332
  net_http_timeout_errors (~> 1.0.0)
310
333
  oga (~> 3.4)
311
- webrick (1.8.1)
334
+ webmock (3.34.0)
335
+ addressable (>= 2.8.0)
336
+ crack (>= 0.3.2)
337
+ hashdiff (>= 0.4.0, < 2.0.0)
338
+ webrick (1.9.2)
312
339
  webrobots (0.1.2)
313
- wirb (2.2.2)
314
- paint (>= 0.9, < 3.0)
315
- wolfram (0.2.1)
316
- nokogiri (>= 1.4.3)
340
+ wirb (3.0.0)
341
+ paint (>= 0.9, < 4.0)
342
+ wolfram (0.3.0)
343
+ nokogiri (~> 1, >= 1.4.3)
317
344
  wolfram-alpha (0.3.1)
318
345
  nokogiri
346
+ yard (0.9.45)
319
347
 
320
348
  PLATFORMS
321
349
  ruby
322
350
 
323
351
  DEPENDENCIES
324
- bundler (~> 2.4)
352
+ bundler (>= 2.4)
325
353
  irbtools
326
- rake (~> 10.0)
354
+ rake (~> 13.0)
327
355
  rspec (~> 3.0)
356
+ webmock (~> 3.0)
328
357
  zetabot!
329
358
 
330
359
  BUNDLED WITH
331
- 2.4.22
360
+ 4.0.23
data/README.md CHANGED
@@ -3,7 +3,7 @@ Cinch IRC bot written with plenty of help. I will not claim any of the plugins
3
3
  And will try to get the correct credits in source
4
4
 
5
5
  # Installation
6
- Zeta requires ruby >= 2.7.6 and rubygems. Installation beyond that is simple
6
+ Zeta requires ruby >= 3.2 (tested on 4.0) and rubygems. Installation beyond that is simple
7
7
 
8
8
  _Steps_
9
9
  * gem install zetabot
@@ -15,7 +15,7 @@ _Docker_
15
15
  Zeta will need its config file mounted in the `.zeta/config.rb` image for her to function.
16
16
 
17
17
  ```dockerfile
18
- FROM docker.io/ruby:2.7.6
18
+ FROM docker.io/ruby:4.0
19
19
  RUN useradd zeta -m
20
20
  USER zeta
21
21
  WORKDIR /home/zeta/
@@ -28,6 +28,17 @@ CMD [ "zetabot"]
28
28
  _Plugins_
29
29
  All plugins are automatically loaded that are in the plugins directory
30
30
 
31
+ _Development_
32
+
33
+ ```sh
34
+ bundle install
35
+ bundle exec rake # runs the rspec suite
36
+ ```
37
+
38
+ The specs boot the real bot against a temporary `$HOME` (see `spec/fixtures/config.rb`)
39
+ and feed raw IRC lines through Cinch, recording what the bot sends. No network access is
40
+ needed; HTTP APIs are stubbed with WebMock. Known bugs are kept as `pending` examples.
41
+
31
42
  ## Commands
32
43
  roles: owner,admin,operator,halfop,voice,nobody
33
44
  prefix: ?
data/Zeta.gemspec CHANGED
@@ -26,24 +26,33 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28
28
  spec.require_paths = ["lib"]
29
+ spec.required_ruby_version = ">= 3.2"
29
30
 
30
- spec.add_development_dependency "bundler", "~> 2.4"
31
- spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency "bundler", ">= 2.4"
32
+ spec.add_development_dependency "rake", "~> 13.0"
32
33
  spec.add_development_dependency "rspec", "~> 3.0"
34
+ spec.add_development_dependency "webmock", "~> 3.0"
33
35
  spec.add_development_dependency "irbtools"
34
36
 
37
+ # Former default gems that are bundled/removed in Ruby 3.4+ / 4.0
38
+ spec.add_dependency 'logger'
39
+ spec.add_dependency 'ostruct'
40
+ spec.add_dependency 'base64'
41
+ spec.add_dependency 'bigdecimal'
42
+ spec.add_dependency 'csv'
43
+ spec.add_dependency 'pstore'
44
+ spec.add_dependency 'cgi'
45
+
35
46
  spec.add_dependency 'daemons'
36
47
  spec.add_dependency 'destructor'
37
48
  spec.add_dependency 'tzinfo'
38
49
  spec.add_dependency 'unitwise'
39
50
 
40
- spec.add_dependency 'cinch'
41
- spec.add_dependency 'cinch-cooldown'
51
+ spec.add_dependency 'ircinch' # maintained, drop-in fork of the archived cinch gem
42
52
  spec.add_dependency 'cinch-toolbox'
43
- spec.add_dependency 'cinch-quotes'
44
53
 
45
54
  spec.add_dependency 'mkfifo'
46
- spec.add_dependency 'nokogiri', "~> 1.13.6"
55
+ spec.add_dependency 'nokogiri', ">= 1.13.6"
47
56
  spec.add_dependency 'dronebl.rb'
48
57
  spec.add_dependency 'dnsbl-client'
49
58
 
@@ -69,7 +78,6 @@ Gem::Specification.new do |spec|
69
78
  # API
70
79
  spec.add_dependency 'wolfram'
71
80
  spec.add_dependency 'wolfram-alpha'
72
- spec.add_dependency 'github_api'
73
81
  spec.add_dependency 'gist'
74
82
  spec.add_dependency 'discourse_api'
75
83
  spec.add_dependency 'video_info'
data/lib/Zeta/access.rb CHANGED
@@ -64,7 +64,7 @@ module Cinch
64
64
  when :a, :admin # Admin
65
65
  return true if channel.admins.include? user
66
66
  false
67
- when :o, :op # Op
67
+ when :o, :op, :operator # Op
68
68
  return true if channel.ops.include? user
69
69
  false
70
70
  when :h, :halfop # Half-Op