mymedia-pages 0.5.4 → 0.5.6
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-pages.rb +84 -59
- data.tar.gz.sig +3 -2
- metadata +38 -37
- 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: 66a2ada0b7a67d7608dd498a0a7c5e93d0161aa4217be023892999a5235aa32d
|
4
|
+
data.tar.gz: ba7827eade00588b91c0a0c3d3b48ff48dd6e36304d82c27a69210669277bbab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b0b25653c2467a0ff887895933652ddd07d62094b63191ac913217948eea87e72d9a17801a50a2b301a4cb063e07d98423e899dc42c6de9548022d5d22cd658
|
7
|
+
data.tar.gz: 5199bc65006de434dfdbb596a70a39e69c24eae36ad7922d64413f0396a73ff4a7e23b64109162f6d6f8262fc3d42d21d29769f6a66da97becd58763e3406d42
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/mymedia-pages.rb
CHANGED
@@ -16,7 +16,7 @@ module PageReader
|
|
16
16
|
#
|
17
17
|
def read(raw_filename)
|
18
18
|
|
19
|
-
filename = raw_filename
|
19
|
+
filename = escape(raw_filename)
|
20
20
|
FileX.read File.join(@media_src, filename)
|
21
21
|
|
22
22
|
end
|
@@ -27,15 +27,19 @@ module PageReader
|
|
27
27
|
|
28
28
|
filepath = if s.count('/') > 1 then
|
29
29
|
# archived file
|
30
|
-
File.join(@home, @www, @public_type, s + '.html')
|
30
|
+
File.join(@home, @www, @public_type, s.sub(/\.html$/,'') + '.html')
|
31
31
|
else
|
32
32
|
# static file
|
33
|
-
File.join(@home, @public_type, s)
|
33
|
+
File.join(@home, @www, @public_type, s.sub(/\.html$/,'') + '.html')
|
34
34
|
end
|
35
35
|
|
36
36
|
FileX.read(filepath)
|
37
37
|
end
|
38
38
|
|
39
|
+
def escape(s)
|
40
|
+
s.gsub(/ +/,'_')#.gsub(/'/,'%27')
|
41
|
+
end
|
42
|
+
|
39
43
|
end
|
40
44
|
|
41
45
|
class MyMediaPagesError < Exception
|
@@ -48,31 +52,34 @@ class MyMediaPages < MyMedia::Base
|
|
48
52
|
def initialize(media_type: media_type='pages',
|
49
53
|
public_type: @public_type=media_type, ext: '.(html|md|txt)',
|
50
54
|
config: nil, log: nil, debug: false)
|
51
|
-
|
55
|
+
|
56
|
+
raise MyMediaPagesError, 'Missing config' unless config
|
57
|
+
|
52
58
|
super(media_type: media_type, public_type: @public_type=media_type,
|
53
59
|
ext: '.(html|md|txt)', config: config, log: log)
|
54
60
|
|
55
61
|
@target_ext = '.html'
|
56
62
|
@static_html = true
|
57
63
|
@debug = debug
|
58
|
-
|
59
|
-
end
|
60
|
-
|
64
|
+
|
65
|
+
end
|
66
|
+
|
61
67
|
def copy_publish(filename, raw_msg='')
|
62
68
|
|
63
69
|
@log.info 'MyMediaPagesinside copy_publish' if @log
|
64
70
|
@filename = filename
|
65
|
-
src_path = File.join(filename)
|
71
|
+
#jr2022-10-09 src_path = File.join(@media_src, filename)
|
72
|
+
src_path = filename
|
66
73
|
|
67
|
-
if File.basename(src_path)[/[a-z]\d{6}T\d{4}\.(?:html)/] then
|
74
|
+
if File.basename(src_path)[/[a-z]\d{6}T\d{4}\.(?:html)/] then
|
68
75
|
return file_publish(src_path, raw_msg)
|
69
76
|
end
|
70
77
|
|
71
78
|
file_publish(src_path, raw_msg) do |destination, raw_destination|
|
72
79
|
|
73
80
|
ext = File.extname(src_path)
|
74
|
-
|
75
|
-
if ext[/\.(?:md|txt)/] then
|
81
|
+
|
82
|
+
if ext[/\.(?:md|txt)/] then
|
76
83
|
|
77
84
|
raw_dest_xml = raw_destination.sub(/html$/,'xml')
|
78
85
|
dest_xml = destination.sub(/html$/,'xml')
|
@@ -80,7 +87,7 @@ class MyMediaPages < MyMedia::Base
|
|
80
87
|
|
81
88
|
puts "src: %s dest: %s" % [src_path, x_destination] if @debug
|
82
89
|
FileX.cp src_path, x_destination
|
83
|
-
|
90
|
+
|
84
91
|
source = x_destination[/\/r\/#{@public_type}.*/]
|
85
92
|
s = @website + source
|
86
93
|
|
@@ -96,15 +103,15 @@ class MyMediaPages < MyMedia::Base
|
|
96
103
|
@log.info 'mymedia_pages/copy_publish: after modify_xml' if @log
|
97
104
|
|
98
105
|
FileX.write raw_destination,
|
99
|
-
xsltproc(File.join(@home, 'r', 'xsl', @public_type + '.xsl'),
|
106
|
+
xsltproc(File.join(@home, @www, 'r', 'xsl', @public_type + '.xsl'),
|
100
107
|
raw_dest_xml)
|
101
108
|
FileX.write destination,
|
102
109
|
xsltproc(File.join(@home, @www, 'xsl', @public_type + '.xsl'),
|
103
110
|
dest_xml)
|
104
111
|
|
105
112
|
html_filename = basename(@media_src, src_path).sub(/(?:md|txt)$/,'html')
|
106
|
-
|
107
|
-
|
113
|
+
|
114
|
+
|
108
115
|
xml_filename = html_filename.sub(/html$/,'xml')
|
109
116
|
|
110
117
|
FileX.mkdir_p File.dirname(File.join(File.dirname(destination),
|
@@ -117,59 +124,77 @@ class MyMediaPages < MyMedia::Base
|
|
117
124
|
FileX.cp dest_xml, File.join(File.dirname(dest_xml), xml_filename)
|
118
125
|
|
119
126
|
tags = doc.root.xpath('summary/tags/tag/text()')
|
120
|
-
raw_msg = "%s %s" % [doc.root.text('summary/title'),
|
127
|
+
raw_msg = "%s %s" % [doc.root.text('summary/title'),
|
121
128
|
tags.map {|x| "#%s" % x }.join(' ')]
|
122
|
-
|
123
|
-
|
129
|
+
|
130
|
+
|
124
131
|
@log.info "msg: %s tags: %s" % [raw_msg, tags.inspect] if @log
|
125
132
|
|
126
133
|
|
127
134
|
else
|
128
|
-
|
135
|
+
|
129
136
|
html_filename = basename(src_path)
|
130
|
-
|
137
|
+
|
131
138
|
if html_filename =~ /\// then
|
132
139
|
FileX.mkdir_p File.dirname(html_filename)
|
133
|
-
end
|
134
|
-
|
140
|
+
end
|
141
|
+
|
135
142
|
FileX.cp src_path, destination
|
136
143
|
FileX.cp src_path, raw_destination
|
137
|
-
|
144
|
+
|
138
145
|
raw_msg = FileX.read(destination)[/<title>([^<]+)<\/title>/,1]
|
139
146
|
end
|
140
|
-
|
147
|
+
|
141
148
|
if not File.basename(src_path)[/[a-z]\d{6}T\d{4}\.(?:html|md|txt)/] then
|
142
|
-
|
149
|
+
|
143
150
|
@log.info 'MyMediaPages::copy_publish before FileUtils' if @log
|
144
|
-
|
145
|
-
|
151
|
+
|
152
|
+
html_filepath = File.join(@home, @www, @public_type, html_filename)
|
153
|
+
FileX.mkdir_p File.dirname(html_filepath)
|
154
|
+
FileX.cp destination, html_filepath
|
146
155
|
|
147
156
|
if xml_filename then
|
148
|
-
|
157
|
+
xml_filepath = File.join(@home, @www, @public_type, xml_filename)
|
158
|
+
FileUtils.cp dest_xml, xml_filepath
|
149
159
|
end
|
150
160
|
|
151
|
-
static_filepath = @home
|
152
|
-
x_filename = @static_html == true ? html_filename : xml_filename
|
153
|
-
|
154
|
-
|
161
|
+
static_filepath = File.join(@home, @www, @public_type, 'static.xml')
|
162
|
+
x_filename = @static_html == true ? html_filename : xml_filename
|
163
|
+
|
155
164
|
if @log then
|
156
165
|
@log.info 'MyMediaPages::copy_publish ->file_publish ' +
|
157
166
|
'before publish_dynarex'
|
158
167
|
end
|
159
|
-
|
168
|
+
|
169
|
+
target_url = File.join(@website, @public_type, x_filename)
|
160
170
|
target_url.sub!(/\.html$/,'') if @omit_html_ext
|
161
|
-
publish_dynarex(static_filepath, {title: raw_msg, url: target_url })
|
171
|
+
publish_dynarex(static_filepath, {title: raw_msg, url: target_url })
|
162
172
|
|
163
173
|
end
|
164
174
|
|
165
175
|
[raw_msg, target_url]
|
166
|
-
end
|
176
|
+
end
|
177
|
+
|
178
|
+
end
|
167
179
|
|
180
|
+
def escape(s)
|
181
|
+
s.gsub(/ +/,'_')#.gsub(/'/,'%27')
|
168
182
|
end
|
169
183
|
|
184
|
+
def writecopy_publish(raws, filename=nil)
|
170
185
|
|
171
|
-
|
186
|
+
s = raws.strip.gsub(/\r/,'')
|
187
|
+
|
188
|
+
title = escape(s.lines[0].chomp)
|
189
|
+
filename ||= title + '.txt'
|
190
|
+
FileX.write File.join(@media_src, filename), s
|
172
191
|
|
192
|
+
copy_publish File.join(@media_src, filename)
|
193
|
+
end
|
194
|
+
|
195
|
+
|
196
|
+
private
|
197
|
+
|
173
198
|
def htmlize(raw_buffer)
|
174
199
|
|
175
200
|
buffer = Martile.new(raw_buffer, ignore_domainlabel: @domain).to_s
|
@@ -187,7 +212,7 @@ class MyMediaPages < MyMedia::Base
|
|
187
212
|
html = Kramdown::Document.new(s).to_html
|
188
213
|
[raw_title, raw_tags, html]
|
189
214
|
|
190
|
-
end
|
215
|
+
end
|
191
216
|
|
192
217
|
def microblog_title(doc)
|
193
218
|
|
@@ -195,7 +220,7 @@ class MyMediaPages < MyMedia::Base
|
|
195
220
|
|
196
221
|
title = summary.text('title')
|
197
222
|
tags = summary.xpath('tags/tag/text()').map{|x| '#' + x}.join(' ')
|
198
|
-
|
223
|
+
|
199
224
|
url = "%s/%s/yy/mm/dd/hhmmhrs.html" % [@website, @media_type]
|
200
225
|
full_title = (url + title + ' ' + tags)
|
201
226
|
|
@@ -206,9 +231,9 @@ class MyMediaPages < MyMedia::Base
|
|
206
231
|
|
207
232
|
title + ' ' + tags
|
208
233
|
|
209
|
-
end
|
210
|
-
|
211
|
-
|
234
|
+
end
|
235
|
+
|
236
|
+
|
212
237
|
def modify_xml(docx, filepath, xslpath='r/')
|
213
238
|
|
214
239
|
if @debug then
|
@@ -218,9 +243,9 @@ class MyMediaPages < MyMedia::Base
|
|
218
243
|
if @log then
|
219
244
|
@log.info 'mymedia_pages: inside modify_xml: docx.xml: ' + docx.xml.inspect
|
220
245
|
end
|
221
|
-
|
246
|
+
|
222
247
|
doc = Rexle.new docx.xml pretty: false
|
223
|
-
|
248
|
+
|
224
249
|
if @log then
|
225
250
|
@log.info 'doc.xml: ' + doc.xml.inspect if @log
|
226
251
|
end
|
@@ -233,7 +258,7 @@ class MyMediaPages < MyMedia::Base
|
|
233
258
|
yield(doc) if block_given?
|
234
259
|
FileX.write filepath, doc.xml(declaration: true, pretty: false)
|
235
260
|
end
|
236
|
-
|
261
|
+
|
237
262
|
def xml(raw_buffer, filename, original_file)
|
238
263
|
|
239
264
|
begin
|
@@ -242,12 +267,12 @@ class MyMediaPages < MyMedia::Base
|
|
242
267
|
raw_title, raw_tags, html = htmlize(raw_buffer)
|
243
268
|
puts 'after htmlize'
|
244
269
|
|
245
|
-
doc = Rexle.new("<body>%s</body>" % html)
|
270
|
+
doc = Rexle.new("<body>%s</body>" % html)
|
246
271
|
|
247
272
|
doc.root.xpath('//a').each do |x|
|
248
273
|
|
249
274
|
next unless x.attributes[:href] and x.attributes[:href].empty?
|
250
|
-
|
275
|
+
|
251
276
|
new_link = x.text.gsub(/\s/,'_')
|
252
277
|
|
253
278
|
x.attributes[:href] = "#{@dynamic_website}/do/#{@public_type}/new/" \
|
@@ -255,18 +280,18 @@ class MyMediaPages < MyMedia::Base
|
|
255
280
|
x.attributes[:class] = 'new'
|
256
281
|
x.attributes[:title] = x.text + ' (page does not exist)'
|
257
282
|
end
|
258
|
-
|
283
|
+
|
259
284
|
body = doc.root.children.join
|
260
285
|
|
261
|
-
# A special tag can be used to represent a metatag which indicates if
|
262
|
-
# the document access is to be made public. The special tag can either
|
286
|
+
# A special tag can be used to represent a metatag which indicates if
|
287
|
+
# the document access is to be made public. The special tag can either
|
263
288
|
# be a 'p' or 'public'
|
264
289
|
|
265
290
|
access = raw_tags.last[/^(?:p|public)$/] ? raw_tags.pop : nil
|
266
|
-
|
291
|
+
|
267
292
|
xml = RexleBuilder.new
|
268
|
-
|
269
|
-
a = xml.page do
|
293
|
+
|
294
|
+
a = xml.page do
|
270
295
|
xml.summary do
|
271
296
|
xml.title raw_title
|
272
297
|
xml.tags { raw_tags.each {|tag| xml.tag tag }}
|
@@ -277,20 +302,20 @@ class MyMediaPages < MyMedia::Base
|
|
277
302
|
xml.published Time.now.strftime("%d-%m-%Y %H:%M")
|
278
303
|
xml.filetitle original_file[/.*(?=\.\w+$)/]
|
279
304
|
end
|
280
|
-
|
305
|
+
|
281
306
|
xml.body body
|
282
307
|
end
|
283
|
-
|
284
|
-
|
308
|
+
|
309
|
+
|
285
310
|
rescue
|
286
311
|
raise MyMediaPagesError, 'xml(): ' + ($!).inspect
|
287
312
|
end
|
288
313
|
|
289
314
|
return Rexle.new(a)
|
290
|
-
end
|
291
|
-
|
292
|
-
def xsltproc(xslpath, xmlpath)
|
293
|
-
|
315
|
+
end
|
316
|
+
|
317
|
+
def xsltproc(xslpath, xmlpath)
|
318
|
+
|
294
319
|
if not FileX.exists? xslpath then
|
295
320
|
raise MyMediaPagesError, 'Missing file - ' + xslpath
|
296
321
|
end
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
L���l;� �Mh|�/ΜU��8��-���x�|N��w�;�*�e�c�6�`��v�GkF�zU���i��3��X��q.lrB�yѷ���)�9��Bqp!�c@:��jUT��|�w_��E�.��W;�-�o�bw��,���2�Q�l�;��ӊ�٦�nK���i=����O��N���-��M�L�6��6�:��yea�����/CG�"۬�w}p�9�ڍ�Z�5�̏��YS׳S,X�~�0�&t����L5�[Q0?�y�
|
2
|
+
0�oi?qz�T�Xĕm�x�1�Ǵ��>�R*��]b�vX�eI$���(�y��{
|
3
|
+
������k�c�I�0�Tl̓�i|D��S��PjG+:�����z*_����"�F���X�H�`�[�
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mymedia-pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
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
|
+
8ixkARkWAmV1MB4XDTIzMDIyMTE2MTUwNloXDTI0MDIyMTE2MTUwNlowSDESMBAG
|
16
|
+
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
17
|
+
EjAQBgoJkiaJk/IsZAEZFgJldTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
|
18
|
+
ggGBALbR+uY8Oo3fZCsufvicOAAr1/qPySuDheNENOTld2pVEgG6AbnUk5GiRGoL
|
19
|
+
MOObAU0hxvrL1C/Y8oz7ExfaPPZ23tSy6qx5INsAeJRABEftzSrQGdJiTfr8OxQZ
|
20
|
+
W15kKATzpxQJm8SYfDpjIWmT3kSw03pTC6QRJWc39CpnBlpyYPqsLncBhrw022SE
|
21
|
+
1foO0ybxWAtYnAiov+kkJsseDnsVO1Hg4C/sOwXuh7RO8ehAvHSUAy+KPLVm4aX4
|
22
|
+
r/UwV70dbV1DZZzmpWBPSm7UPXg27yCTn4KGwAHT4eLz74cyt7B9NZ9cO45xFGCf
|
23
|
+
6Hf4jCb5DD6xn5LNnLtvrs/tqWXX35VAEKXBpbou4Ufe9pAo82hhpT+nZEkQZZXk
|
24
|
+
ysrRD1FngqZtZ5ujy/pH03enbcsVzerBc0x2FqkjqXZdfI4nsinpq+TfGVUxo7rO
|
25
|
+
Ll9BT3tydPNJ33E7kb8l8Q6snKcATCTklenC8raI4z/gYzi4a/kZgD7llwWX4S6F
|
26
|
+
a5OtKwIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
27
|
+
BBTO10cGGIh/ETBnCKMw5dkIaE5OHjAmBgNVHREEHzAdgRtnZW1tYXN0ZXJAamFt
|
28
|
+
ZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
29
|
+
c29uLmV1MA0GCSqGSIb3DQEBCwUAA4IBgQCy1qflp5WM3c27wqkJa9BQty37R5+z
|
30
|
+
382k7twdaIcOrk66Yb7H5R6KV3ysEVKgR98tEL+JefXyei/a9bM+NYQ/3k/QBCAn
|
31
|
+
39Gp1gem4/4A3/kNxpwQQOW1edTz9bu1qZ7ktpKHlVQSKErvQX3/b0oSfqO2xv+M
|
32
|
+
CotJDFOtipit0+WBfZSrVuVZFgg8tJnAqMmdJt+zdn5YD1V65IXiY0KNIy+WEFVG
|
33
|
+
iAAoDhhci/sLwgcGlmb6rclSLGLavn+CLd8eSunc8qFWKpKfiLvSEuevV+vJGcQi
|
34
|
+
6D0W3ZONRUTEN4nQdkyLCyXrwdCmSlgzo3ojRoza48uwsQmUyo/FtQ8SZEdwWmOH
|
35
|
+
/c8NuOCfmVbR19NAejS3CdlkIRQaYJAd6sdGjq6fQER/LZ81aTvFe2IE/uILLjv/
|
36
|
+
ngT+/RQQOTNmhN3XBRq8VfcVGUw+w5jm4emNDe1pzTATNmzyadOHF0Rokv0B2T4u
|
37
|
+
txMWqrBuLISsGTO4DRqpDmR09caoN5dRM6k=
|
37
38
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
39
|
+
date: 2023-02-21 00:00:00.000000000 Z
|
39
40
|
dependencies:
|
40
41
|
- !ruby/object:Gem::Dependency
|
41
42
|
name: mymedia
|
@@ -46,7 +47,7 @@ dependencies:
|
|
46
47
|
version: '0.5'
|
47
48
|
- - ">="
|
48
49
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.5.
|
50
|
+
version: 0.5.5
|
50
51
|
type: :runtime
|
51
52
|
prerelease: false
|
52
53
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -56,47 +57,47 @@ dependencies:
|
|
56
57
|
version: '0.5'
|
57
58
|
- - ">="
|
58
59
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.5.
|
60
|
+
version: 0.5.5
|
60
61
|
- !ruby/object:Gem::Dependency
|
61
62
|
name: martile
|
62
63
|
requirement: !ruby/object:Gem::Requirement
|
63
64
|
requirements:
|
64
65
|
- - "~>"
|
65
66
|
- !ruby/object:Gem::Version
|
66
|
-
version: '1.
|
67
|
+
version: '1.6'
|
67
68
|
- - ">="
|
68
69
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
70
|
+
version: 1.6.2
|
70
71
|
type: :runtime
|
71
72
|
prerelease: false
|
72
73
|
version_requirements: !ruby/object:Gem::Requirement
|
73
74
|
requirements:
|
74
75
|
- - "~>"
|
75
76
|
- !ruby/object:Gem::Version
|
76
|
-
version: '1.
|
77
|
+
version: '1.6'
|
77
78
|
- - ">="
|
78
79
|
- !ruby/object:Gem::Version
|
79
|
-
version: 1.
|
80
|
+
version: 1.6.2
|
80
81
|
- !ruby/object:Gem::Dependency
|
81
82
|
name: kramdown
|
82
83
|
requirement: !ruby/object:Gem::Requirement
|
83
84
|
requirements:
|
84
85
|
- - "~>"
|
85
86
|
- !ruby/object:Gem::Version
|
86
|
-
version: '2.
|
87
|
+
version: '2.4'
|
87
88
|
- - ">="
|
88
89
|
- !ruby/object:Gem::Version
|
89
|
-
version: 2.
|
90
|
+
version: 2.4.0
|
90
91
|
type: :runtime
|
91
92
|
prerelease: false
|
92
93
|
version_requirements: !ruby/object:Gem::Requirement
|
93
94
|
requirements:
|
94
95
|
- - "~>"
|
95
96
|
- !ruby/object:Gem::Version
|
96
|
-
version: '2.
|
97
|
+
version: '2.4'
|
97
98
|
- - ">="
|
98
99
|
- !ruby/object:Gem::Version
|
99
|
-
version: 2.
|
100
|
+
version: 2.4.0
|
100
101
|
description:
|
101
102
|
email: digital.robertson@gmail.com
|
102
103
|
executables: []
|
@@ -123,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
124
|
- !ruby/object:Gem::Version
|
124
125
|
version: '0'
|
125
126
|
requirements: []
|
126
|
-
rubygems_version: 3.
|
127
|
+
rubygems_version: 3.4.4
|
127
128
|
signing_key:
|
128
129
|
specification_version: 4
|
129
130
|
summary: A MyMedia gem to publish a basic web page
|
metadata.gz.sig
CHANGED
Binary file
|