mymedia 0.5.5 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|