mymedia 0.2.14 → 0.3.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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data/lib/mymedia.rb +146 -97
- data.tar.gz.sig +0 -0
- metadata +52 -47
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6fc78e7e213ed935fdffc733862d520abb3b0c7d1dc3afde43905372e8bfd427
|
4
|
+
data.tar.gz: fdae3bd4aeeb04d230dbe95b67700b68fe2ec92a09292124e912bc66285a1937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee00e96ba62317e509b44024544885deae61cebbc973fd62417106bd56f6c025eba8aac5c6baa658ad965bff9be1d37501a8a8be2716e5d36f37b21d4cf88692
|
7
|
+
data.tar.gz: 0a4ed8e0eb86dccf1e6603d9f6a0b7bc78acbb3e864706c2e61724d46d1a925e520e84d94dfb111f4193b46615af9cc5132868f93f2c9d79c0c47272e0edd44b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/mymedia.rb
CHANGED
@@ -17,20 +17,20 @@ module MyMedia
|
|
17
17
|
|
18
18
|
class MyMediaPublisherException < Exception
|
19
19
|
end
|
20
|
-
|
21
|
-
|
20
|
+
|
21
|
+
|
22
22
|
class Publisher
|
23
|
-
|
23
|
+
|
24
24
|
def initialize(opts={})
|
25
25
|
@index_page = true
|
26
26
|
@opts = opts
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
protected
|
30
|
-
|
30
|
+
|
31
31
|
def publish_dynarex(dynarex_filepath='', \
|
32
32
|
record={title: '',url: '', raw_url: ''}, options={})
|
33
|
-
|
33
|
+
|
34
34
|
opt = {id: nil, rss: false}.merge(options)
|
35
35
|
|
36
36
|
dynarex = if File.exists? dynarex_filepath then
|
@@ -43,143 +43,190 @@ module MyMedia
|
|
43
43
|
dynarex.save dynarex_filepath
|
44
44
|
publish_html(dynarex_filepath) if @index_page == true
|
45
45
|
|
46
|
-
|
46
|
+
|
47
47
|
if opt[:rss] == true then
|
48
48
|
|
49
49
|
dynarex.xslt_schema = dynarex.summary[:xslt_schema]
|
50
50
|
rss_filepath = dynarex_filepath.sub(/\.xml$/,'_rss.xml')
|
51
|
-
File.open(rss_filepath, 'w'){|f| f.write dynarex.to_rss }
|
51
|
+
File.open(rss_filepath, 'w'){|f| f.write dynarex.to_rss }
|
52
52
|
end
|
53
53
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def publish_html(filepath)
|
57
57
|
|
58
|
-
path2 = File.dirname(filepath)
|
58
|
+
path2 = File.dirname(filepath)
|
59
59
|
template_path = File.join path2, 'index-template.html'
|
60
60
|
|
61
|
-
return unless @index_page == true
|
61
|
+
return unless @index_page == true
|
62
62
|
raise MyMediaPublisherException, \
|
63
63
|
"template path: #{template_path} not found" unless \
|
64
64
|
File.exists?(template_path)
|
65
|
-
=begin jr 040916
|
65
|
+
=begin jr 040916
|
66
66
|
dataisland = DataIsland.new(template_path, @opts)
|
67
67
|
|
68
68
|
File.open(path2 + '/index.html','w'){|f| f.write dataisland.html_doc.xml pretty: true}
|
69
|
-
=end
|
70
|
-
end
|
69
|
+
=end
|
70
|
+
end
|
71
|
+
|
72
|
+
def publish_dxlite(dynarex_filepath='', record={title: '',url: ''})
|
73
|
+
|
74
|
+
dynarex = if File.exists? dynarex_filepath then
|
75
|
+
DxLite.new(dynarex_filepath)
|
76
|
+
else
|
77
|
+
DxLite.new(@schema)
|
78
|
+
end
|
79
|
+
|
80
|
+
dynarex.create record
|
81
|
+
dynarex.save dynarex_filepath
|
82
|
+
end
|
71
83
|
|
72
84
|
def send_message(topic: @sps[:default_subscriber], msg: '')
|
73
85
|
|
74
|
-
fqm = "%s: %s" % [topic, msg]
|
86
|
+
fqm = "%s: %s" % [topic, msg]
|
75
87
|
|
76
88
|
SPSPub.notice fqm, address: @sps[:address]
|
77
|
-
sleep 0.
|
78
|
-
end
|
79
|
-
|
89
|
+
sleep 0.3
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
module IndexReader
|
95
|
+
|
96
|
+
def browse()
|
97
|
+
|
98
|
+
json_filepath = "%s/%s/dynarex.json" % [@home, @public_type]
|
99
|
+
|
100
|
+
if File.exists? json_filepath then
|
101
|
+
|
102
|
+
dx = DxLite.new(json_filepath)
|
103
|
+
return dx.all
|
104
|
+
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
def search(keyword)
|
110
|
+
|
111
|
+
json_filepath = "%s/%s/dynarex.json" % [@home, @public_type]
|
112
|
+
|
113
|
+
if File.exists? json_filepath then
|
114
|
+
|
115
|
+
dx = DxLite.new(json_filepath)
|
116
|
+
return dx.all.select {|x| x.title =~ /#{keyword}/i}
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
end
|
80
121
|
end
|
81
|
-
|
122
|
+
|
82
123
|
class BaseException < Exception
|
83
124
|
end
|
84
|
-
|
125
|
+
|
85
126
|
class Base < Publisher
|
86
127
|
|
87
128
|
attr_reader :to_s
|
88
129
|
|
89
|
-
def initialize(media_type: 'blog', public_type: 'blog',
|
90
|
-
ext: 'txt', config: nil, log: nil)
|
130
|
+
def initialize(media_type: 'blog', public_type: 'blog',
|
131
|
+
ext: 'txt', config: nil, log: nil, debug: false)
|
91
132
|
|
92
|
-
super()
|
133
|
+
super()
|
93
134
|
|
94
|
-
@schema = 'posts/post(title, url, raw_url)'
|
135
|
+
@schema = 'posts/post(title, url, raw_url)'
|
95
136
|
|
96
137
|
raise BaseException, "no config found" if config.nil?
|
97
138
|
|
98
139
|
c = SimpleConfig.new(config).to_h
|
99
|
-
|
140
|
+
|
100
141
|
@home = c[:home]
|
101
|
-
@
|
142
|
+
@media_src = "%s/media/%s" % [@home, media_type]
|
143
|
+
@website = c[:website]
|
102
144
|
|
103
145
|
@dynamic_website = c[:dynamic_website]
|
104
146
|
@www = c[:www]
|
105
147
|
@domain = @website[/[^\.]+\.[^\.]+$/]
|
106
148
|
|
107
149
|
@sps = c[:sps]
|
108
|
-
|
150
|
+
|
109
151
|
@log = log
|
110
152
|
|
111
153
|
|
112
154
|
@media_type = media_type
|
113
155
|
@public_type = public_type ||= @media_type
|
114
|
-
|
156
|
+
|
115
157
|
@xslt_schema = 'channel[title:title,description:desc]/' + \
|
116
158
|
'item(title:title,link:url)'
|
117
159
|
@ext = ext
|
118
160
|
@rss = false
|
119
|
-
|
161
|
+
@debug = debug
|
162
|
+
|
120
163
|
Dir.chdir @home
|
121
164
|
|
122
165
|
end
|
123
|
-
|
166
|
+
|
124
167
|
def add_feed_item(raw_msg, record, options={})
|
125
|
-
|
126
|
-
dynarex_filepath = File.join([@home, @public_type, 'dynarex.xml'])
|
127
|
-
id = Increment.update(File.join([@home, @public_type, 'counter.txt']))
|
168
|
+
|
169
|
+
dynarex_filepath = File.join([@home, @public_type, 'dynarex.xml'])
|
170
|
+
id = Increment.update(File.join([@home, @public_type, 'counter.txt']))
|
128
171
|
static_url = @static_baseurl + id
|
129
172
|
record[:uri] = static_url
|
130
|
-
|
131
|
-
publish_dynarex(dynarex_filepath, record, {id: id}.merge(options))
|
132
|
-
publish_timeline(raw_msg, static_url)
|
133
|
-
publish_html(@home + '/index.html')
|
134
|
-
end
|
135
173
|
|
136
|
-
|
174
|
+
publish_dynarex(dynarex_filepath, record, {id: id}.merge(options))
|
175
|
+
publish_timeline(raw_msg, static_url)
|
176
|
+
publish_html(@home + '/index.html')
|
177
|
+
end
|
137
178
|
|
138
|
-
|
179
|
+
def auto_copy_publish(raw_msg='', &blk)
|
139
180
|
|
181
|
+
@log.info 'Base inside auto_copy_publish' if @log
|
182
|
+
puts '@media_src: ' + @media_src.inspect if @debug
|
183
|
+
#exit
|
184
|
+
dir = DirToXML.new(@media_src, recursive: true, debug: false)
|
185
|
+
puts 'before dir.last_modified' if @debug
|
140
186
|
r = dir.last_modified
|
187
|
+
puts 'r: ' + r.inspect if @debug
|
141
188
|
|
142
189
|
filename = r.is_a?(Hash) ? r[:name] : File.join(r.map {|x| x[:name]})
|
143
190
|
|
144
|
-
copy_publish( filename ,raw_msg)
|
191
|
+
copy_publish( filename ,raw_msg, &blk)
|
145
192
|
|
146
193
|
end
|
147
|
-
|
194
|
+
|
148
195
|
def basename(s1, s2)
|
149
196
|
|
150
197
|
(s2.split('/') - s1.split('/')).join('/')
|
151
198
|
|
152
|
-
end
|
153
|
-
|
154
|
-
def copy_publish(filename, raw_msg='')
|
199
|
+
end
|
200
|
+
|
201
|
+
def copy_publish(filename, raw_msg='', &blk)
|
155
202
|
file_publish(File.join(@media_src,filename), raw_msg)
|
156
203
|
end
|
157
|
-
|
204
|
+
|
158
205
|
|
159
206
|
private
|
160
|
-
|
207
|
+
|
161
208
|
def file_publish(src_path, raw_msg='')
|
162
209
|
|
163
210
|
#raise @logger.debug("source file '%s' not found" % src_path) unless File.exists? src_path
|
164
211
|
ext = File.extname(src_path)
|
165
212
|
@target_ext ||= ext
|
166
|
-
|
213
|
+
|
167
214
|
public_path = "%s/%s/%shrs%s" % [@public_type, \
|
168
|
-
Time.now.strftime('%Y/%b/%d').downcase, Time.now.strftime('%H%M'),
|
215
|
+
Time.now.strftime('%Y/%b/%d').downcase, Time.now.strftime('%H%M'),
|
169
216
|
@target_ext]
|
170
217
|
|
171
218
|
public_path2 = "%s/%s/%shrs%s%s" % [@public_type, \
|
172
|
-
Time.now.strftime('%Y/%b/%d').downcase, Time.now.strftime('%H%M'),
|
219
|
+
Time.now.strftime('%Y/%b/%d').downcase, Time.now.strftime('%H%M'),
|
173
220
|
Time.now.strftime('%S%2N'), @target_ext]
|
174
|
-
|
221
|
+
|
175
222
|
raw_destination = "%s/%s/%s" % [@home, 'r', public_path]
|
176
|
-
|
223
|
+
|
177
224
|
if File.exists? raw_destination then
|
178
225
|
raw_destination = "%s/%s/%s" % [@home, 'r', public_path2]
|
179
226
|
public_path = public_path2
|
180
227
|
end
|
181
228
|
|
182
|
-
destination =
|
229
|
+
destination = File.join(@home, public_path)
|
183
230
|
FileUtils.mkdir_p File.dirname(raw_destination)
|
184
231
|
FileUtils.mkdir_p File.dirname(destination)
|
185
232
|
|
@@ -187,31 +234,31 @@ module MyMedia
|
|
187
234
|
|
188
235
|
raw_msg = src_path[/([^\/]+)\.\w+$/,1] + ' ' + raw_msg if raw_msg[/^#/]
|
189
236
|
|
190
|
-
|
237
|
+
|
191
238
|
if block_given? then
|
192
|
-
raw_msg, target_url = yield(destination, raw_destination)
|
239
|
+
raw_msg, target_url = yield(destination, raw_destination)
|
193
240
|
static_url = target_url
|
194
241
|
else
|
195
242
|
FileUtils.cp src_path, destination
|
196
243
|
FileUtils.cp src_path, raw_destination
|
197
244
|
end
|
198
245
|
|
199
|
-
raw_msg = raw_msg.join if raw_msg.is_a? Array
|
246
|
+
raw_msg = raw_msg.join if raw_msg.is_a? Array
|
200
247
|
|
201
248
|
static_filename = if raw_msg.to_s.length > 0 then
|
202
249
|
normalize(raw_msg) + File.extname(destination)
|
203
250
|
else
|
204
|
-
|
251
|
+
|
205
252
|
basename(@media_src, src_path)
|
206
|
-
|
207
|
-
end
|
208
|
-
|
253
|
+
|
254
|
+
end
|
255
|
+
|
209
256
|
static_path = "%s/%s/%s" % [@public_type, \
|
210
257
|
Time.now.strftime('%Y/%b/%d').downcase, static_filename]
|
211
|
-
|
258
|
+
|
212
259
|
raw_static_destination = "%s/%s/%s" % [@home, 'r',static_path]
|
213
260
|
|
214
|
-
static_destination = "%s/%s" % [@home, static_path]
|
261
|
+
static_destination = "%s/%s" % [@home, static_path]
|
215
262
|
|
216
263
|
#FileUtils.mkdir_p File.dirname(static_destination)
|
217
264
|
FileUtils.cp destination, static_destination
|
@@ -222,46 +269,46 @@ module MyMedia
|
|
222
269
|
if File.extname(static_destination) == '.html' then
|
223
270
|
|
224
271
|
xmlfilepath = destination.sub('.html','.xml')
|
225
|
-
|
272
|
+
|
226
273
|
if File.exists?(xmlfilepath) then
|
227
274
|
FileUtils.cp xmlfilepath, static_destination.sub('.html','.xml')
|
228
275
|
end
|
229
276
|
|
230
277
|
end
|
231
|
-
|
278
|
+
|
232
279
|
target_url ||= "%s/%s" % [@website, public_path]
|
233
280
|
static_url ||= "%s/%s" % [@website, static_path]
|
234
281
|
|
235
282
|
msg = "%s %s" % [target_url, raw_msg ]
|
236
|
-
|
237
|
-
sps_message = ['publish', @public_type,
|
283
|
+
|
284
|
+
sps_message = ['publish', @public_type,
|
238
285
|
target_url, static_url, raw_msg]
|
239
286
|
|
240
287
|
send_message(msg: sps_message.join(' '))
|
241
288
|
|
242
289
|
static_url
|
243
|
-
|
290
|
+
|
244
291
|
end
|
245
|
-
|
292
|
+
|
246
293
|
def normalize(s)
|
247
294
|
|
248
295
|
r = s.downcase.gsub(/\s#\w+/,'').strip.gsub(/\W/,'-').gsub(/-{2,}/,'-').gsub(/^-|-$/,'')
|
249
296
|
return s.scan(/#(\w+)/)[0..1].join('_').downcase if r.empty?
|
250
|
-
return r
|
251
|
-
end
|
297
|
+
return r
|
298
|
+
end
|
252
299
|
|
253
300
|
end
|
254
|
-
|
255
|
-
|
301
|
+
|
302
|
+
|
256
303
|
class FrontpageException < Exception
|
257
304
|
end
|
258
|
-
|
305
|
+
|
259
306
|
class Frontpage < Publisher
|
260
|
-
|
307
|
+
|
261
308
|
def initialize(config: nil, public_type: '', rss: nil)
|
262
|
-
|
309
|
+
|
263
310
|
raise FrontpageException, "no config found" if config.nil?
|
264
|
-
|
311
|
+
|
265
312
|
c = SimpleConfig.new(config).to_h
|
266
313
|
|
267
314
|
@home = c[:home]
|
@@ -270,18 +317,20 @@ module MyMedia
|
|
270
317
|
@rss = rss
|
271
318
|
@sps = c[:sps]
|
272
319
|
@opts = {username: c[:username], password: c[:password]}
|
273
|
-
|
320
|
+
|
274
321
|
end
|
275
|
-
|
276
|
-
def publish_frontpage(s='index.html')
|
277
322
|
|
278
|
-
|
323
|
+
def publish_frontpage(s='index.html')
|
324
|
+
|
325
|
+
publish_html(@home + '/' + s)
|
279
326
|
'frontpage published'
|
280
|
-
end
|
327
|
+
end
|
328
|
+
|
281
329
|
|
282
|
-
|
283
330
|
def publish_to_lists(record={}, public_type=nil)
|
284
|
-
|
331
|
+
|
332
|
+
@log.info 'inside publish_to_lists' if @log
|
333
|
+
|
285
334
|
@public_type = public_type if public_type
|
286
335
|
|
287
336
|
raw_msg, static_url, target_url = \
|
@@ -291,33 +340,33 @@ module MyMedia
|
|
291
340
|
raw_dynarex_filepath = "%s/r/%s/dynarex.xml" % [@home, @public_type]
|
292
341
|
|
293
342
|
|
294
|
-
publish_dynarex(dynarex_filepath, record, {rss: @rss || false})
|
295
|
-
publish_dynarex(raw_dynarex_filepath, record, {rss: @rss || false})
|
343
|
+
publish_dynarex(dynarex_filepath, record, {rss: @rss || false})
|
344
|
+
publish_dynarex(raw_dynarex_filepath, record, {rss: @rss || false})
|
296
345
|
|
297
|
-
publish_timeline(raw_msg, static_url, target_url)
|
346
|
+
publish_timeline(raw_msg, static_url, target_url)
|
298
347
|
send_message(msg: 'publish_to_lists completed')
|
299
|
-
|
348
|
+
|
300
349
|
end
|
301
350
|
|
302
|
-
|
351
|
+
|
303
352
|
def publish_timeline(raw_msg, static_url, target_url='')
|
304
353
|
|
305
|
-
timeline_filepath = "%s/timeline/dynarex.xml" % @home
|
306
|
-
record = Dynarex.new(@home + '/dynarex/main-directory.xml').find_by_title(@public_type)
|
354
|
+
timeline_filepath = "%s/timeline/dynarex.xml" % @home
|
355
|
+
record = Dynarex.new(@home + '/dynarex/main-directory.xml').find_by_title(@public_type)
|
307
356
|
|
308
357
|
thumbnail, subject_url = record.thumbnail, record.url
|
309
|
-
|
358
|
+
|
310
359
|
content = {
|
311
|
-
title: raw_msg,
|
360
|
+
title: raw_msg,
|
312
361
|
url: static_url,
|
313
|
-
thumbnail: thumbnail,
|
314
|
-
subject_url: subject_url,
|
315
|
-
raw_url: target_url
|
362
|
+
thumbnail: thumbnail,
|
363
|
+
subject_url: subject_url,
|
364
|
+
raw_url: target_url
|
316
365
|
}
|
317
|
-
|
318
|
-
publish_dynarex(timeline_filepath, content, rss: true)
|
319
366
|
|
320
|
-
|
367
|
+
publish_dynarex(timeline_filepath, content, rss: true)
|
368
|
+
|
369
|
+
end
|
321
370
|
|
322
371
|
end
|
323
372
|
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.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -10,27 +10,32 @@ 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
|
-
|
13
|
+
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjAzMjE0MDM4WhcN
|
15
|
+
MjMwMjAzMjE0MDM4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDLhnus
|
17
|
+
EmCSf8Mh4kdpLThgpsLS0N/kupJ35qxUqlluM0Treka8rn+Xv+su5eGY7bwT1lis
|
18
|
+
4rNk+H/YxNqm+7JoleqcdygCSMJju75WILEAuPtaZJbIlHiwlboe2P1Q/Q0qjYV4
|
19
|
+
5Hod6xYAFzjx4NRTCfRwvFjyXrvUJK/CgUWgDLraQEM4iQTWpxp+oIDsQIV5DLn7
|
20
|
+
wv4u+RKVrcHZkeu1r+vt/KBm9qNh2cK/kGw96tylW4/6sSTaPNNY9dvYx2Ee04jf
|
21
|
+
GTuxXBqtyvDKOfQAI/sWQ5J94+uIppx2dDL3eSEYfl2V8CwWVZxx3dETJ8M1fG6M
|
22
|
+
CMA+15zld92rCvGYsLh4jkZnyCt2l1O6IYMW/gAScwgzvlC01U2vV2P+8bwm17Un
|
23
|
+
pWP2FbNiihwZD7mdyKbi8noCeWrompgX5+hJZumFlsqld5XhoaPwQB6VNgVCxtOG
|
24
|
+
ZHXdP6MiTPhH0t6XVmRSMX+zEedaoL2Z2OxaBAM9abkOJ8kNtI3pqqVkQmkCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUTUv11jAO
|
26
|
+
mX0Ta1tkNdz9cHZLKZowJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
|
+
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEARdXjjSCHczpSquJFR7p/1Xovom9aQAmp8aCgZJg4
|
29
|
+
9oln3FIyBnk3W/LTUJVGS5a3u8JcVMxLTEJqkUMrBVGa8AcJzsPEU8XAG9R2360z
|
30
|
+
iZxVyGiFdi+DUOo++vjbiBRvgl2o3gKEwp8RPFj+OUemVDeFexBHKukDDdk7MJNp
|
31
|
+
WmLLvRyAmB+grz7eMPFjTxfRcV4/6WHNS5MFdXZ0ZioAKUatCNYIpDS7NqnT/nhD
|
32
|
+
CSEqt9HQknjKDK8LFS8Ostfbn0wZxYdh7Gxy6TKEh9dt0mMkIdzKxOJW70N+6bPP
|
33
|
+
CDRYB4NTKybJ2XnbEbJsUBezXDF8p+dmOEhygIAcNrjY9OyorRiZD3m60O+UuqXx
|
34
|
+
jumKCvffqUahjzaQRcW0r0OkF8v087BT7xUdq+K9Iza2Vuc3Qj2YxrFskE7gUhgB
|
35
|
+
bL55NDdi8BFHkNVohRBak7aqxsw41LJKy3UTP+4TzU5vyluDJMiscK6JJFaM4JiS
|
36
|
+
xtlAM0O5ZFe9QflatP+P8JnB
|
32
37
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
38
|
+
date: 2022-02-03 00:00:00.000000000 Z
|
34
39
|
dependencies:
|
35
40
|
- !ruby/object:Gem::Dependency
|
36
41
|
name: dynarex
|
@@ -38,80 +43,80 @@ dependencies:
|
|
38
43
|
requirements:
|
39
44
|
- - "~>"
|
40
45
|
- !ruby/object:Gem::Version
|
41
|
-
version: '1.
|
46
|
+
version: '1.9'
|
42
47
|
- - ">="
|
43
48
|
- !ruby/object:Gem::Version
|
44
|
-
version: 1.
|
49
|
+
version: 1.9.2
|
45
50
|
type: :runtime
|
46
51
|
prerelease: false
|
47
52
|
version_requirements: !ruby/object:Gem::Requirement
|
48
53
|
requirements:
|
49
54
|
- - "~>"
|
50
55
|
- !ruby/object:Gem::Version
|
51
|
-
version: '1.
|
56
|
+
version: '1.9'
|
52
57
|
- - ">="
|
53
58
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
59
|
+
version: 1.9.2
|
55
60
|
- !ruby/object:Gem::Dependency
|
56
61
|
name: sps-pub
|
57
62
|
requirement: !ruby/object:Gem::Requirement
|
58
63
|
requirements:
|
59
64
|
- - "~>"
|
60
65
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
66
|
+
version: '0.5'
|
62
67
|
- - ">="
|
63
68
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.
|
69
|
+
version: 0.5.5
|
65
70
|
type: :runtime
|
66
71
|
prerelease: false
|
67
72
|
version_requirements: !ruby/object:Gem::Requirement
|
68
73
|
requirements:
|
69
74
|
- - "~>"
|
70
75
|
- !ruby/object:Gem::Version
|
71
|
-
version: '0.
|
76
|
+
version: '0.5'
|
72
77
|
- - ">="
|
73
78
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
79
|
+
version: 0.5.5
|
75
80
|
- !ruby/object:Gem::Dependency
|
76
81
|
name: dir-to-xml
|
77
82
|
requirement: !ruby/object:Gem::Requirement
|
78
83
|
requirements:
|
79
84
|
- - "~>"
|
80
85
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0
|
86
|
+
version: '1.0'
|
82
87
|
- - ">="
|
83
88
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.
|
89
|
+
version: 1.0.8
|
85
90
|
type: :runtime
|
86
91
|
prerelease: false
|
87
92
|
version_requirements: !ruby/object:Gem::Requirement
|
88
93
|
requirements:
|
89
94
|
- - "~>"
|
90
95
|
- !ruby/object:Gem::Version
|
91
|
-
version: '0
|
96
|
+
version: '1.0'
|
92
97
|
- - ">="
|
93
98
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.
|
99
|
+
version: 1.0.8
|
95
100
|
- !ruby/object:Gem::Dependency
|
96
101
|
name: dataisland
|
97
102
|
requirement: !ruby/object:Gem::Requirement
|
98
103
|
requirements:
|
99
|
-
- - "~>"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0.1'
|
102
104
|
- - ">="
|
103
105
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
106
|
+
version: 0.3.0
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.3'
|
105
110
|
type: :runtime
|
106
111
|
prerelease: false
|
107
112
|
version_requirements: !ruby/object:Gem::Requirement
|
108
113
|
requirements:
|
109
|
-
- - "~>"
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0.1'
|
112
114
|
- - ">="
|
113
115
|
- !ruby/object:Gem::Version
|
114
|
-
version: 0.
|
116
|
+
version: 0.3.0
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0.3'
|
115
120
|
- !ruby/object:Gem::Dependency
|
116
121
|
name: increment
|
117
122
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,22 +143,22 @@ dependencies:
|
|
138
143
|
requirements:
|
139
144
|
- - "~>"
|
140
145
|
- !ruby/object:Gem::Version
|
141
|
-
version: '0.
|
146
|
+
version: '0.7'
|
142
147
|
- - ">="
|
143
148
|
- !ruby/object:Gem::Version
|
144
|
-
version: 0.2
|
149
|
+
version: 0.7.2
|
145
150
|
type: :runtime
|
146
151
|
prerelease: false
|
147
152
|
version_requirements: !ruby/object:Gem::Requirement
|
148
153
|
requirements:
|
149
154
|
- - "~>"
|
150
155
|
- !ruby/object:Gem::Version
|
151
|
-
version: '0.
|
156
|
+
version: '0.7'
|
152
157
|
- - ">="
|
153
158
|
- !ruby/object:Gem::Version
|
154
|
-
version: 0.2
|
159
|
+
version: 0.7.2
|
155
160
|
description:
|
156
|
-
email:
|
161
|
+
email: digital.robertson@gmail.com
|
157
162
|
executables: []
|
158
163
|
extensions: []
|
159
164
|
extra_rdoc_files: []
|
@@ -179,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
184
|
version: '0'
|
180
185
|
requirements: []
|
181
186
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.
|
187
|
+
rubygems_version: 2.7.10
|
183
188
|
signing_key:
|
184
189
|
specification_version: 4
|
185
190
|
summary: Makes publishing to the web easier
|
metadata.gz.sig
CHANGED
Binary file
|