mymedia 0.5.5 → 0.6.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/mymedia.rb +119 -108
- data.tar.gz.sig +0 -0
- metadata +30 -29
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0e73232af677ec81115b33b8c13c8df4b5eb54c79f0af3c063afd7169db3c9c
|
4
|
+
data.tar.gz: e12bf14b0cedfb4689f58ab44cad8213e7f70f4e7859b72ce3301d2e5a1a8554
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35a2248a7b2ac7cb7007d7d349d2cfd223324597ae1cc67b7282804a948c78b21b602bb60ab2783f2bec13074f59aa538f1bbb644ba200224d8463b998176123
|
7
|
+
data.tar.gz: 90a8cfb9aece78804c4812b3d6f7c2861e9296d8fd756bfabcba27609da5e0019dd0c928c53cad9f826e160878a8810cb43db8ba873f5b18f36c712fe209218c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/mymedia.rb
CHANGED
@@ -14,12 +14,24 @@ require 'rxfileio'
|
|
14
14
|
require 'wordsdotdat'
|
15
15
|
|
16
16
|
|
17
|
+
module StringFilter
|
18
|
+
|
19
|
+
def normalize(s)
|
20
|
+
|
21
|
+
r = s.downcase.gsub(/\s#\w+/,'').strip.gsub(/\W/,'-').gsub(/-{2,}/,'-')\
|
22
|
+
.gsub(/^-|-$/,'')
|
23
|
+
return s.scan(/#(\w+)/)[0..1].join('_').downcase if r.empty?
|
24
|
+
return r
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
17
29
|
module MyMedia
|
18
30
|
|
19
31
|
class MyMediaPublisherException < Exception
|
20
32
|
end
|
21
|
-
|
22
|
-
|
33
|
+
|
34
|
+
|
23
35
|
class Publisher
|
24
36
|
include RXFReadWriteModule
|
25
37
|
|
@@ -27,12 +39,12 @@ module MyMedia
|
|
27
39
|
@index_page = true
|
28
40
|
@opts = opts
|
29
41
|
end
|
30
|
-
|
42
|
+
|
31
43
|
protected
|
32
|
-
|
44
|
+
|
33
45
|
def publish_dynarex(dynarex_filepath='', \
|
34
46
|
record={title: '',url: '', raw_url: ''}, options={})
|
35
|
-
|
47
|
+
|
36
48
|
opt = {id: nil, rss: false}.merge(options)
|
37
49
|
|
38
50
|
dynarex = if FileX.exists? dynarex_filepath then
|
@@ -45,7 +57,7 @@ module MyMedia
|
|
45
57
|
dynarex.save dynarex_filepath
|
46
58
|
publish_html(dynarex_filepath) if @index_page == true
|
47
59
|
|
48
|
-
|
60
|
+
|
49
61
|
if opt[:rss] == true then
|
50
62
|
|
51
63
|
dynarex.xslt_schema = dynarex.summary[:xslt_schema]
|
@@ -57,19 +69,19 @@ module MyMedia
|
|
57
69
|
|
58
70
|
def publish_html(filepath)
|
59
71
|
|
60
|
-
path2 = File.dirname(filepath)
|
72
|
+
path2 = File.dirname(filepath)
|
61
73
|
template_path = File.join path2, 'index-template.html'
|
62
74
|
|
63
|
-
return unless @index_page == true
|
75
|
+
return unless @index_page == true
|
64
76
|
raise MyMediaPublisherException, \
|
65
77
|
"template path: #{template_path} not found" unless \
|
66
78
|
FileX.exists?(template_path)
|
67
|
-
=begin jr 040916
|
79
|
+
=begin jr 040916
|
68
80
|
dataisland = DataIsland.new(template_path, @opts)
|
69
81
|
|
70
82
|
File.open(path2 + '/index.html','w'){|f| f.write dataisland.html_doc.xml pretty: true}
|
71
|
-
=end
|
72
|
-
end
|
83
|
+
=end
|
84
|
+
end
|
73
85
|
|
74
86
|
def publish_dxlite(dynarex_filepath='', record={title: '',url: ''})
|
75
87
|
|
@@ -85,12 +97,12 @@ module MyMedia
|
|
85
97
|
|
86
98
|
def send_message(topic: @sps[:default_subscriber], msg: '')
|
87
99
|
|
88
|
-
fqm = "%s: %s" % [topic, msg]
|
100
|
+
fqm = "%s: %s" % [topic, msg]
|
89
101
|
|
90
102
|
SPSPub.notice fqm, address: @sps[:address]
|
91
103
|
sleep 0.3
|
92
|
-
end
|
93
|
-
|
104
|
+
end
|
105
|
+
|
94
106
|
end
|
95
107
|
|
96
108
|
module IndexReader
|
@@ -98,7 +110,7 @@ module MyMedia
|
|
98
110
|
|
99
111
|
def browse(startswith=nil)
|
100
112
|
|
101
|
-
json_filepath = "%s/%s/dynarex.json" % [@home, @public_type]
|
113
|
+
json_filepath = "%s/%s/%s/dynarex.json" % [@home, @www, @public_type]
|
102
114
|
|
103
115
|
if FileX.exists? json_filepath then
|
104
116
|
|
@@ -183,30 +195,35 @@ module MyMedia
|
|
183
195
|
|
184
196
|
end
|
185
197
|
end
|
198
|
+
|
199
|
+
|
186
200
|
|
187
201
|
class BaseException < Exception
|
188
202
|
end
|
189
|
-
|
203
|
+
|
190
204
|
class Base < Publisher
|
191
205
|
include RXFileIOModule
|
206
|
+
include StringFilter
|
192
207
|
|
193
|
-
attr_reader :to_s
|
208
|
+
attr_reader :to_s, :destination
|
194
209
|
|
195
210
|
def initialize(media_type: 'blog', public_type: media_type,
|
196
|
-
ext: 'txt', config: nil, log: nil,
|
211
|
+
ext: 'txt', config: nil, log: nil, now: Time.now,
|
212
|
+
debug: false)
|
197
213
|
|
198
|
-
super()
|
214
|
+
super()
|
199
215
|
|
200
|
-
@
|
216
|
+
@now = now
|
217
|
+
@schema = 'posts/post(title, url, raw_url)'
|
201
218
|
|
202
|
-
raise BaseException, "no config found"
|
219
|
+
raise BaseException, "no config found" unless config
|
203
220
|
|
204
221
|
c = SimpleConfig.new(config).to_h
|
205
|
-
|
222
|
+
|
206
223
|
@home = c[:home]
|
207
224
|
puts '@home: ' + @home.inspect if @debug
|
208
225
|
@media_src = "%s/media/%s" % [@home, media_type]
|
209
|
-
@website = c[:website]
|
226
|
+
@website = c[:website]
|
210
227
|
|
211
228
|
@dynamic_website = c[:dynamic_website]
|
212
229
|
@www = c[:www]
|
@@ -214,33 +231,33 @@ module MyMedia
|
|
214
231
|
|
215
232
|
@sps = c[:sps]
|
216
233
|
@omit_html_ext = c[:omit_html_ext]
|
217
|
-
|
234
|
+
|
218
235
|
@log = log
|
219
236
|
|
220
237
|
|
221
238
|
@media_type = media_type
|
222
239
|
@public_type = public_type ||= @media_type
|
223
|
-
|
240
|
+
|
224
241
|
@xslt_schema = 'channel[title:title,description:desc]/' + \
|
225
242
|
'item(title:title,link:url)'
|
226
243
|
@ext = ext
|
227
244
|
@rss = false
|
228
245
|
@debug = debug
|
229
|
-
|
246
|
+
|
230
247
|
DirX.chdir @home
|
231
248
|
|
232
249
|
end
|
233
|
-
|
250
|
+
|
234
251
|
def add_feed_item(raw_msg, record, options={})
|
235
|
-
|
236
|
-
dynarex_filepath = File.join([@home, @public_type, 'dynarex.xml'])
|
237
|
-
id = Increment.update(File.join([@home, @public_type, 'counter.txt']))
|
252
|
+
|
253
|
+
dynarex_filepath = File.join([@home, @public_type, 'dynarex.xml'])
|
254
|
+
id = Increment.update(File.join([@home, @public_type, 'counter.txt']))
|
238
255
|
static_url = @static_baseurl + id
|
239
256
|
record[:uri] = static_url
|
240
|
-
|
241
|
-
publish_dynarex(dynarex_filepath, record, {id: id}.merge(options))
|
242
|
-
publish_timeline(raw_msg, static_url)
|
243
|
-
publish_html(@home + '/index.html')
|
257
|
+
|
258
|
+
publish_dynarex(dynarex_filepath, record, {id: id}.merge(options))
|
259
|
+
publish_timeline(raw_msg, static_url)
|
260
|
+
publish_html(@home + '/index.html')
|
244
261
|
end
|
245
262
|
|
246
263
|
def auto_copy_publish(raw_msg='', &blk)
|
@@ -260,7 +277,7 @@ module MyMedia
|
|
260
277
|
end
|
261
278
|
|
262
279
|
end
|
263
|
-
|
280
|
+
|
264
281
|
def basename(raw_s1, raw_s2)
|
265
282
|
|
266
283
|
s1 = raw_s1.sub(/dfs:\/\/[^\/]+/,'')
|
@@ -268,38 +285,40 @@ module MyMedia
|
|
268
285
|
|
269
286
|
(s2.split('/') - s1.split('/')).join('/')
|
270
287
|
|
271
|
-
end
|
272
|
-
|
288
|
+
end
|
289
|
+
|
273
290
|
def copy_publish(filename, raw_msg='', &blk)
|
274
291
|
file_publish(filename, raw_msg)
|
275
292
|
end
|
276
|
-
|
293
|
+
|
277
294
|
|
278
295
|
private
|
296
|
+
|
297
|
+
def file_publish(src_path, raw_msg='', sps: true)
|
279
298
|
|
280
|
-
def file_publish(src_path, raw_msg='')
|
281
|
-
|
282
|
-
#raise @logger.debug("source file '%s' not found" % src_path) unless File.exists? src_path
|
283
299
|
ext = File.extname(src_path)
|
284
300
|
@target_ext ||= ext
|
285
|
-
|
301
|
+
|
286
302
|
public_path = "%s/%s/%shrs%s" % [@public_type, \
|
287
|
-
|
303
|
+
@now.strftime('%Y/%b/%d').downcase, @now.strftime('%H%M'),
|
288
304
|
@target_ext]
|
289
305
|
|
290
306
|
public_path2 = "%s/%s/%shrs%s%s" % [@public_type, \
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
raw_destination =
|
295
|
-
|
307
|
+
@now.strftime('%Y/%b/%d').downcase, @now.strftime('%H%M'),
|
308
|
+
@now.strftime('%S%2N'), @target_ext]
|
309
|
+
|
310
|
+
raw_destination = File.join(@home, @www, 'r', public_path)
|
311
|
+
|
296
312
|
if FileX.exists? raw_destination then
|
297
|
-
raw_destination =
|
313
|
+
raw_destination = File.join(@home, @www, 'r', public_path2)
|
298
314
|
public_path = public_path2
|
299
315
|
end
|
300
316
|
|
301
|
-
destination = File.join(@home, public_path)
|
317
|
+
destination = File.join(@home, @www, public_path)
|
318
|
+
puts 'before raw_destination: ' + raw_destination.inspect if @debug
|
302
319
|
FileX.mkdir_p File.dirname(raw_destination)
|
320
|
+
|
321
|
+
puts 'before destination: ' + destination.inspect if @debug
|
303
322
|
FileX.mkdir_p File.dirname(destination)
|
304
323
|
|
305
324
|
if @debug then
|
@@ -311,9 +330,9 @@ module MyMedia
|
|
311
330
|
|
312
331
|
raw_msg = src_path[/([^\/]+)\.\w+$/,1] + ' ' + raw_msg if raw_msg[/^#/]
|
313
332
|
|
314
|
-
|
333
|
+
|
315
334
|
if block_given? then
|
316
|
-
raw_msg, target_url = yield(destination, raw_destination)
|
335
|
+
raw_msg, target_url = yield(destination, raw_destination)
|
317
336
|
static_url = target_url
|
318
337
|
else
|
319
338
|
|
@@ -333,22 +352,21 @@ module MyMedia
|
|
333
352
|
|
334
353
|
end
|
335
354
|
|
336
|
-
raw_msg = raw_msg.join if raw_msg.is_a? Array
|
355
|
+
raw_msg = raw_msg.join if raw_msg.is_a? Array
|
337
356
|
|
338
357
|
static_filename = if raw_msg.to_s.length > 0 then
|
339
358
|
normalize(raw_msg) + File.extname(destination)
|
340
359
|
else
|
341
|
-
|
360
|
+
|
342
361
|
basename(@media_src, src_path)
|
343
|
-
|
344
|
-
end
|
345
|
-
|
362
|
+
|
363
|
+
end
|
364
|
+
|
346
365
|
static_path = "%s/%s/%s" % [@public_type, \
|
347
|
-
|
348
|
-
|
349
|
-
raw_static_destination =
|
350
|
-
|
351
|
-
static_destination = "%s/%s" % [@home, static_path]
|
366
|
+
@now.strftime('%Y/%b/%d').downcase, static_filename]
|
367
|
+
|
368
|
+
raw_static_destination = File.join(@home, @www, 'r',static_path)
|
369
|
+
static_destination = File.join(@home, @www, static_path)
|
352
370
|
|
353
371
|
#FileUtils.mkdir_p File.dirname(static_destination)
|
354
372
|
|
@@ -365,7 +383,7 @@ module MyMedia
|
|
365
383
|
if File.extname(static_destination) == '.html' then
|
366
384
|
|
367
385
|
xmlfilepath = destination.sub('.html','.xml')
|
368
|
-
|
386
|
+
|
369
387
|
if FileX.exists?(xmlfilepath) then
|
370
388
|
|
371
389
|
FileX.cp xmlfilepath, static_destination.sub('.html','.xml')
|
@@ -377,40 +395,33 @@ module MyMedia
|
|
377
395
|
end
|
378
396
|
|
379
397
|
end
|
380
|
-
|
398
|
+
|
381
399
|
target_url ||= "%s/%s" % [@website, public_path]
|
382
400
|
static_url ||= "%s/%s" % [@website, static_path]
|
383
401
|
|
384
402
|
msg = "%s %s" % [target_url, raw_msg ]
|
385
|
-
|
386
|
-
sps_message = ['publish', @public_type,
|
403
|
+
|
404
|
+
sps_message = ['publish', @public_type,
|
387
405
|
target_url, static_url, raw_msg]
|
388
406
|
|
389
|
-
send_message(msg: sps_message.join(' '))
|
407
|
+
send_message(msg: sps_message.join(' ')) if sps
|
390
408
|
|
391
409
|
static_url
|
392
|
-
|
393
|
-
end
|
394
|
-
|
395
|
-
def normalize(s)
|
396
|
-
|
397
|
-
r = s.downcase.gsub(/\s#\w+/,'').strip.gsub(/\W/,'-').gsub(/-{2,}/,'-').gsub(/^-|-$/,'')
|
398
|
-
return s.scan(/#(\w+)/)[0..1].join('_').downcase if r.empty?
|
399
|
-
return r
|
400
|
-
end
|
410
|
+
|
411
|
+
end
|
401
412
|
|
402
413
|
end
|
403
|
-
|
404
|
-
|
414
|
+
|
415
|
+
|
405
416
|
class FrontpageException < Exception
|
406
417
|
end
|
407
|
-
|
418
|
+
|
408
419
|
class Frontpage < Publisher
|
409
|
-
|
420
|
+
|
410
421
|
def initialize(config: nil, public_type: '', rss: nil)
|
411
|
-
|
422
|
+
|
412
423
|
raise FrontpageException, "no config found" if config.nil?
|
413
|
-
|
424
|
+
|
414
425
|
c = SimpleConfig.new(config).to_h
|
415
426
|
|
416
427
|
@home = c[:home]
|
@@ -419,56 +430,56 @@ module MyMedia
|
|
419
430
|
@rss = rss
|
420
431
|
@sps = c[:sps]
|
421
432
|
@opts = {username: c[:username], password: c[:password]}
|
422
|
-
|
433
|
+
|
423
434
|
end
|
435
|
+
|
436
|
+
def publish_frontpage(s='index.html')
|
424
437
|
|
425
|
-
|
426
|
-
|
427
|
-
publish_html(@home + '/' + s)
|
438
|
+
publish_html(@home + '/' + s)
|
428
439
|
'frontpage published'
|
429
|
-
end
|
430
|
-
|
440
|
+
end
|
431
441
|
|
442
|
+
|
432
443
|
def publish_to_lists(record={}, public_type=nil)
|
433
|
-
|
444
|
+
|
434
445
|
@log.info 'inside publish_to_lists' if @log
|
435
|
-
|
446
|
+
|
436
447
|
@public_type = public_type if public_type
|
437
448
|
|
438
449
|
raw_msg, static_url, target_url = \
|
439
450
|
record[:title], record[:url], record[:static_url]
|
440
451
|
|
441
|
-
dynarex_filepath =
|
442
|
-
raw_dynarex_filepath =
|
443
|
-
|
452
|
+
dynarex_filepath = File.join(@home, @www, @public_type, 'dynarex.xml')
|
453
|
+
raw_dynarex_filepath = File.join(@home, @www, 'r', @public_type, 'dynarex.xml')
|
444
454
|
|
445
|
-
publish_dynarex(dynarex_filepath, record, {rss: @rss || false})
|
446
|
-
publish_dynarex(raw_dynarex_filepath, record, {rss: @rss || false})
|
455
|
+
publish_dynarex(dynarex_filepath, record, {rss: @rss || false})
|
456
|
+
publish_dynarex(raw_dynarex_filepath, record, {rss: @rss || false})
|
447
457
|
|
448
|
-
publish_timeline(raw_msg, static_url, target_url)
|
458
|
+
publish_timeline(raw_msg, static_url, target_url)
|
449
459
|
send_message(msg: 'publish_to_lists completed')
|
450
|
-
|
460
|
+
|
451
461
|
end
|
452
462
|
|
453
|
-
|
463
|
+
|
454
464
|
def publish_timeline(raw_msg, static_url, target_url='')
|
455
465
|
|
456
|
-
timeline_filepath =
|
457
|
-
|
466
|
+
timeline_filepath = File.join(@home, @www, 'timeline', 'dynarex.xml')
|
467
|
+
main_dir = File.join(@home, @www, 'dynarex', 'main-directory.xml')
|
468
|
+
record = Dynarex.new(main_dir).find_by_title(@public_type)
|
458
469
|
|
459
470
|
thumbnail, subject_url = record.thumbnail, record.url
|
460
|
-
|
471
|
+
|
461
472
|
content = {
|
462
|
-
title: raw_msg,
|
473
|
+
title: raw_msg,
|
463
474
|
url: static_url,
|
464
|
-
thumbnail: thumbnail,
|
465
|
-
subject_url: subject_url,
|
466
|
-
raw_url: target_url
|
475
|
+
thumbnail: thumbnail,
|
476
|
+
subject_url: subject_url,
|
477
|
+
raw_url: target_url
|
467
478
|
}
|
479
|
+
|
480
|
+
publish_dynarex(timeline_filepath, content, rss: true)
|
468
481
|
|
469
|
-
|
470
|
-
|
471
|
-
end
|
482
|
+
end
|
472
483
|
|
473
484
|
end
|
474
485
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mymedia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -10,32 +10,33 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
13
|
+
MIIEljCCAv6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBIMRIwEAYDVQQDDAlnZW1t
|
14
|
+
YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
|
15
|
+
8ixkARkWAmV1MB4XDTIzMDIyMjE4NTk1MFoXDTI0MDIyMjE4NTk1MFowSDESMBAG
|
16
|
+
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
17
|
+
EjAQBgoJkiaJk/IsZAEZFgJldTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
|
18
|
+
ggGBAKA1cGKoDX7bTA9dtbjHRNKdTDV446tBLwevBBPFeSsIibVRYf8XmKeZcuIu
|
19
|
+
ZYcKaCBBFebaZGeFxx96zJUARg93CTF3AzKcelUkwHZKqDUmv7rHGZ2aGVqAeBUo
|
20
|
+
nXOTYkg0krKse5rhqvfd0L3/SsEPWoVNVIdbGlN9piASAreuTRp58ZrqyquaZPwj
|
21
|
+
qKrb8LLalBE5sPWF6cgUuUscbg9FLNSBPaW01HeD2XiVcLlT6jl0BgpW9nzKgwQw
|
22
|
+
0GI8jU6mCTHnwzzmK3A/TgaNXxJtmoRnHZJ/GqnTe3QEgRACey6PTTI2v80LJ0iO
|
23
|
+
6Y0uNLbxCCH4+NLsdigKImYParvE017VjsQt7/SUNL0gHhvtfC9X3Vy+25Rtpz9M
|
24
|
+
AHmMm1f1c9eanxkc+4uivKhkUKY1TI4eGL/CW/VkUJ+rScspqESUty21NGBWJIjZ
|
25
|
+
UhjbYh7HXoGZW7Q+qs3HZNSh5e9ZR6uS/Z89c5xliMGLSzGwvFlMsOTBKh7e+Li8
|
26
|
+
HW8qbQIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
27
|
+
BBQO6GN9hFPUtZm9hXSHjrK0vDYuyTAmBgNVHREEHzAdgRtnZW1tYXN0ZXJAamFt
|
28
|
+
ZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
29
|
+
c29uLmV1MA0GCSqGSIb3DQEBCwUAA4IBgQBi7zH6cYWgeoNoOD/Az2Q1WMbhgoV5
|
30
|
+
HOxqGqnwBsXX33P53WjRrAt0J9sIdplU6lhb/ZYpvPiAKBHO4Ky+SPNQcF7hBKdj
|
31
|
+
U+9uJLikOA8z14ek4z2CJqNiBO7ouZ14PiLPCDBKcEph6pve6OYQG7x5bnS5UmOP
|
32
|
+
coSFSo+bCwu15iBoQDgTSZSY7RDD5HNRL/klat8SaKrFwp0XXfUiRi8LTHRWxswe
|
33
|
+
QcpshuyUHnpaGJ3XftwGw2FZGCAGSqIoSsVpAtazx3/ycK7JfwvATOS8l/7VWs3O
|
34
|
+
DsvPtPbxt2RLMp8hushLA4zXRYPIG6J1oey40opKxQks1SJX3tDiyk5jebwsT/ZB
|
35
|
+
0EzYO3shlM98rrWiiFxLwv+ebOPV9SrDbivLfXs8VMxYD0rOF3ap53AfBiElvszL
|
36
|
+
XV2ORsrE0BA5hbgbfiQFazW2d62rWKrt3CTi36GNST95GXGBpapX9CyezadYE+5i
|
37
|
+
D3/VNb1+lseG5sGSOWMV8J01/J89XOfp5Gk=
|
37
38
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
39
|
+
date: 2023-02-26 00:00:00.000000000 Z
|
39
40
|
dependencies:
|
40
41
|
- !ruby/object:Gem::Dependency
|
41
42
|
name: dir-to-xml
|
@@ -106,7 +107,7 @@ dependencies:
|
|
106
107
|
version: '0.7'
|
107
108
|
- - ">="
|
108
109
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.7.
|
110
|
+
version: 0.7.3
|
110
111
|
type: :runtime
|
111
112
|
prerelease: false
|
112
113
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -116,7 +117,7 @@ dependencies:
|
|
116
117
|
version: '0.7'
|
117
118
|
- - ">="
|
118
119
|
- !ruby/object:Gem::Version
|
119
|
-
version: 0.7.
|
120
|
+
version: 0.7.3
|
120
121
|
- !ruby/object:Gem::Dependency
|
121
122
|
name: wordsdotdat
|
122
123
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
164
|
- !ruby/object:Gem::Version
|
164
165
|
version: '0'
|
165
166
|
requirements: []
|
166
|
-
rubygems_version: 3.
|
167
|
+
rubygems_version: 3.4.4
|
167
168
|
signing_key:
|
168
169
|
specification_version: 4
|
169
170
|
summary: Makes publishing to the web easier
|
metadata.gz.sig
CHANGED
Binary file
|