mymedia 0.2.14 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/mymedia.rb +146 -97
  4. data.tar.gz.sig +0 -0
  5. metadata +52 -47
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 37eb0d3574ee0d0676653feb8acc58da966e168d
4
- data.tar.gz: 01bb4ada6aa2ee1f111987e596966cfb371b93e2
2
+ SHA256:
3
+ metadata.gz: 6fc78e7e213ed935fdffc733862d520abb3b0c7d1dc3afde43905372e8bfd427
4
+ data.tar.gz: fdae3bd4aeeb04d230dbe95b67700b68fe2ec92a09292124e912bc66285a1937
5
5
  SHA512:
6
- metadata.gz: 0e42a44c6ff7c40a9170c7a157e8e4bac27db46738c6c35bbe32d3b2abc4a5cf3e97183384e18c84dc6050b6a740a34e91d32b00a91b7fcf391dcd057e65f067
7
- data.tar.gz: b09c6d3d9306be235b46fa6e53e63ffa6ae27a665fd3009a5a79b82a46c89b7b7779222721d221eaaf7d70e31c9056d4269b80480278b302b7d82afd12940a92
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.02
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
- @website = c[:website]
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
- def auto_copy_publish(raw_msg='')
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
- dir = DirToXML.new(@media_src, recursive: true)
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 = "%s/%s" % [@home, public_path]
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
- publish_html(@home + '/' + s)
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
- end
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.2.14
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
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwMjE3MjA0OTMwWhcN
15
- MTkwMjE3MjA0OTMwWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbWelJ
17
- +yXHoPRlWOusMFHY5NbvAzeK4PrNygW7BG+wSgVuxv5xst6PBdD3gAQb9W7u0aj/
18
- 8ucJ2GH3FlHOfTb1lfTWuDDmiOOXW6JipiabWU5gPbd7xY9LMH1Z2TRxagB9F9Mc
19
- UZUeSnJHQYuCobqOlNsYnBRCpUmhZCk6SvbtPoI+5YaS3pmD+2ueza7uHFgT8T02
20
- BUBewdrDOG8aMyxxPSibTwwrvwyWSJCLruE2rQX2ZujPsz8FbiwdPSlHpx97mDju
21
- pHmgbMNB6ku/b9ERhavmYovz9/OFoUPaSSu3OUajjzXMZpP4hUbGur6BSThRQ0qS
22
- L+Y5yJHkiWF1keSPAgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFAN3vpXgUeUHtifLfcGxfn6sLbeoMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAAhvUhzAkk7QNZw76Kbv
26
- DnEs44bq5FGgMHOjGZh2TvAP0J0pe/sW0kWRNIiMGWWDsD3S1RB5lzpcorKZ65R6
27
- 2Po4BkKikNj6+RIAL63/gZbzXkIfbta6BSfl8AByymfhcBrPRUPlflFI3h0olBqf
28
- wh8yh/e6U1J4uOUDvaHIXbTQqUuwCMXvT6GkR18nwqfeU5g0QkxAql2/D/qtYaUf
29
- czLW3gcmQesp/fYOVKrPfX4CLMDuNu4uJR2K8/OXUgLOBD8wVH0mcivm8iHzT44T
30
- XCDues8F9CKrAD7HtYJJOzJ2F9IFeE67Yp46wOTiG6BawRBKp9OYWKmHlZgsdGrf
31
- r9Q=
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: 2018-02-17 00:00:00.000000000 Z
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.2'
46
+ version: '1.9'
42
47
  - - ">="
43
48
  - !ruby/object:Gem::Version
44
- version: 1.3.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.2'
56
+ version: '1.9'
52
57
  - - ">="
53
58
  - !ruby/object:Gem::Version
54
- version: 1.3.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.4'
66
+ version: '0.5'
62
67
  - - ">="
63
68
  - !ruby/object:Gem::Version
64
- version: 0.4.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.4'
76
+ version: '0.5'
72
77
  - - ">="
73
78
  - !ruby/object:Gem::Version
74
- version: 0.4.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.3'
86
+ version: '1.0'
82
87
  - - ">="
83
88
  - !ruby/object:Gem::Version
84
- version: 0.3.3
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.3'
96
+ version: '1.0'
92
97
  - - ">="
93
98
  - !ruby/object:Gem::Version
94
- version: 0.3.3
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.1.14
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.1.14
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.2'
146
+ version: '0.7'
142
147
  - - ">="
143
148
  - !ruby/object:Gem::Version
144
- version: 0.2.1
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.2'
156
+ version: '0.7'
152
157
  - - ">="
153
158
  - !ruby/object:Gem::Version
154
- version: 0.2.1
159
+ version: 0.7.2
155
160
  description:
156
- email: james@jamesrobertson.eu
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.6.13
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