rack-rscript 1.2.0 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35ab3661aa2c2f191b140e28dbda3805f32a97e6a3eaf6c1f410e30f411d6b6c
4
- data.tar.gz: b6d2ba9fd30c7ae71571f69918583c8206cd0d5dbebd89dd796e4f35d44662d0
3
+ metadata.gz: eb8f81937a9057df995fed0866db887efb7d3b51821c94fd8981be81443fc0fb
4
+ data.tar.gz: 4145e73c58a2ae1de7e636b576e33a51ac08a021b631e54aef864bc8e1753352
5
5
  SHA512:
6
- metadata.gz: 216dc0e7c0e24231bf0e0fbb7d6cd5550cf9bf027a37b860102f909a378c608c78c806f51ab1b170a4b5880d0fc021311cd23d2d42782b56dc200ffa15eacde4
7
- data.tar.gz: da45f89a5e37161bf83a9c63cdc8830e69ed949241f004990db59e67e7d21d33d9533932df96de08f5136339d1d61b81589d73fa9814149a0fe20997a93f0845
6
+ metadata.gz: b0775bf1401dc6bd0cb792065b9db9347254693e50934dd8ebe7c960692d4153935ebecb671d930994bb521fb2b194f76c2865c7dd498b0c7149fa283b9e9904
7
+ data.tar.gz: ca86b8dcc16acf51140b9e8ad375df2cb1949a35ef83ce871c62aa7b22dc5af6851f8e34c48956a0fda564c87f20f117751bad799ca64ca82889bcbb59faa25f
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/rack-rscript.rb CHANGED
@@ -17,7 +17,7 @@ require 'polyrex-links'
17
17
 
18
18
  class Redirect
19
19
  attr_reader :to_url
20
-
20
+
21
21
  def initialize(url)
22
22
  @to_url = url
23
23
  end
@@ -33,56 +33,59 @@ class RackRscript
33
33
  include AppRoutes
34
34
  include RXFHelperModule
35
35
  using ColouredText
36
-
36
+
37
37
  attr_reader :req, :rsc
38
-
39
-
40
- def initialize(log: nil, pkg_src: '', cache: 5, rsc_host: nil,
38
+
39
+
40
+ def initialize(log: nil, pkg_src: '', cache: 5, rsc_host: nil,
41
+ rsc: {host: rsc_host, port: '61000'},
41
42
  pxlinks: nil, debug: false, root: '', static: {})
42
43
 
43
44
  @log, @debug, @static = log, debug, static
44
- #=begin
45
+ #=begin
45
46
  puts '@app_root: ' + @app_root.inspect if @debug
46
47
  puts 'root: ' + root.inspect if @debug
47
-
48
+
48
49
  @params = {}
49
-
50
+
50
51
  @templates = {}
51
-
52
+
52
53
  @rscript = RScriptRW.new log: log, pkg_src: pkg_src, cache: cache, debug: true
53
54
  @render = NThrut.new(self)
54
-
55
+
55
56
  @url_base = pkg_src # web server serving the RSF files
56
- @url_base += '/' unless @url_base[-1] == '/'
57
-
57
+ @url_base += '/' unless @url_base[-1] == '/'
58
+
58
59
  if pxlinks then
59
-
60
+
60
61
  src, _ = RXFHelper.read(pxlinks)
61
-
62
+
62
63
  if src =~ /^<\?/ then
63
-
64
+
64
65
  @pxlinks = PolyrexLinks.new src
65
-
66
+
66
67
  else
67
-
68
+
68
69
  @pxlinks = PolyrexLinks.new
69
70
  @pxlinks.parse pxlinks
70
-
71
- end
72
-
71
+
72
+ end
73
+
73
74
  end
74
75
 
75
76
  super() # required for app-routes initialize method to exectue
76
- default_routes(@env, @params || {})
77
-
77
+ default_routes(@env, @params || {})
78
+
78
79
  @rsc = nil
79
80
 
80
- @rsc = RSC.new rsc_host if rsc_host and rsc_host.length > 0
81
-
81
+ if rsc[:host] and rsc[:host].length > 0 then
82
+ @rsc = RSC.new(rsc[:host], port: rsc[:port])
83
+ end
84
+
82
85
  @filetype = {xml: 'application/xml', html: 'text/html', png: 'image/png',
83
86
  jpg: 'image/jpeg', txt: 'text/plain', css: 'text/css',
84
- xsl: 'application/xml', svg: 'image/svg+xml'}
85
-
87
+ xsl: 'application/xml', svg: 'image/svg+xml'}
88
+
86
89
  @root, @static = root, static
87
90
  @initialized = {}
88
91
  #=end
@@ -96,28 +99,28 @@ class RackRscript
96
99
  #raw_request = env['REQUEST_PATH']
97
100
 
98
101
  @log.info 'RackRscript/call: ' + env.inspect if @log
99
-
102
+
100
103
  if testmode == false then
101
-
104
+
102
105
  @req = Rack::Request.new(env)
103
106
  @req_params = @req.params
104
-
107
+
105
108
  end
106
-
109
+
107
110
  default_routes(env,@params)
108
-
111
+
109
112
  request = if @pxlinks then
110
113
  found = @pxlinks.locate(raw_request)
111
114
  found ? found.join : raw_request
112
115
  else
113
116
  raw_request
114
117
  end
115
-
118
+
116
119
  @log.info 'RackRscript/call/request: ' + request.inspect if @log
117
- #=begin
120
+ #=begin
118
121
  puts 'request: ' + request.inspect if @debug
119
122
  run_request(request)
120
- #=end
123
+ #=end
121
124
  # [200, {"Content-Type" => "text/plain"}, [env.inspect]]
122
125
  end
123
126
 
@@ -130,46 +133,46 @@ class RackRscript
130
133
  puts 'inside run_job' if @debug
131
134
  @log.debug 'RackRscript/run_job/params: ' + params.inspect if @log
132
135
  @log.debug 'RackRscript/run_job/qargs: ' + qargs.inspect if @log
133
-
136
+
134
137
  if @params[:splat] then
135
138
  @params.each do |k,v|
136
139
  @params.delete k unless k == :splat or k == :package \
137
140
  or k == :job or k == :captures
138
141
  end
139
- end
140
-
142
+ end
143
+
141
144
  if @params[:splat] and @params[:splat].length > 0 then
142
- h = @params[:splat].first[1..-1].split('&').inject({}) do |r,x|
145
+ h = @params[:splat].first[1..-1].split('&').inject({}) do |r,x|
143
146
  k, v = x.split('=')
144
147
  v ? r.merge(k[/\w+$/].to_sym => Rack::Utils.unescape(v)) : r
145
148
  end
146
149
  @params.merge! h
147
150
  end
148
-
151
+
149
152
  @params.merge! @req.params if @req
150
153
  @rscript.type = type
151
-
154
+
152
155
  if not @rscript.jobs(url).include?(job.to_sym) then
153
-
156
+
154
157
  if @rscript.jobs(url).include?(:job_missing) then
155
- job = 'job_missing'
158
+ job = 'job_missing'
156
159
  else
157
160
  [404, 'job not found']
158
161
  end
159
162
 
160
163
  end
161
-
164
+
162
165
  result, args = @rscript.read([url, '//job:' + job, \
163
166
  qargs].flatten)
164
167
 
165
168
  rws = self
166
- rsc = @rsc if @rsc
169
+ rsc = @rsc if @rsc
167
170
  req = @req if @req
168
-
171
+
169
172
  begin
170
173
 
171
174
  if @debug then
172
- puts @rscript.jobs(url).inspect
175
+ puts @rscript.jobs(url).inspect
173
176
  puts 'job: ' + job.inspect
174
177
  puts 'url: ' + url.inspect
175
178
  puts '@initialized: ' + @initialized.inspect
@@ -177,74 +180,74 @@ class RackRscript
177
180
  !@initialized[url] and job != 'initialize'
178
181
  puts 'bflag: ' + bflag.inspect
179
182
  end
180
-
181
- if @rscript.jobs(url).include?(:initialize) and
183
+
184
+ if @rscript.jobs(url).include?(:initialize) and
182
185
  !@initialized[url] and job != 'initialize' then
183
186
  puts 'before run initialize' if @debug
184
- r2 = @rscript.read([url, '//job:initialize'])
187
+ r2 = @rscript.read([url, '//job:initialize'])
185
188
  puts 'r2: ' + r2.inspect if @debug
186
189
  eval r2.join
187
190
  @initialized[url] = true
188
191
  end
189
-
192
+
190
193
 
191
194
  r = eval result
192
195
 
193
196
  return r
194
197
 
195
- rescue Exception => e
196
-
198
+ rescue Exception => e
199
+
197
200
  @params = {}
198
- err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
201
+ err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
199
202
  raise RackRscriptError, err_label
200
203
 
201
204
  @log.debug 'RackRscript/run_job/error: ' + err_label if @log
202
205
  end
203
-
206
+
204
207
  end
205
208
 
206
-
209
+
207
210
  def redirect(url)
208
211
  Redirect.new url
209
212
  end
210
-
213
+
211
214
  # jr 140616 not yet used and still needs to be tested
212
215
  def transform(xsl, xml)
213
216
  Rexslt.new(xsl, xml).to_s
214
217
  end
215
218
 
216
- def haml(name,options={})
219
+ def haml(name,options={})
217
220
  @render.haml name, options
218
- end
219
-
221
+ end
222
+
220
223
  def slim(name,options={})
221
224
  @render.slim name, options
222
- end
223
-
225
+ end
226
+
224
227
  protected
225
228
 
226
229
  def default_routes(env, params)
227
230
 
228
231
  @log.info 'RackRscript/default_routes: ' + params.inspect if @log
229
-
232
+
230
233
  get '/do/:package/:job' do |package,job|
231
234
  @log.info 'RackRscript/route/do/package/job: ' + [package, job].inspect if @log
232
- run_job("%s%s.rsf" % [@url_base, package], job, params)
233
- end
235
+ run_job("%s%s.rsf" % [@url_base, package], job, params)
236
+ end
234
237
 
235
238
  get /\/(.*)\/do\/(\w+)\/(\w+)$/ do |d, package,job|
236
239
  run_job(("%s%s/%s.rsf" % [@url_base, d, package]), job, params)
237
- end
238
-
240
+ end
241
+
239
242
  get /\/(.*)\/do\/(\w+)\/(\w+)\/(.*)/ do |d, package, job, raw_args|
240
243
  args = raw_args.split('/')
241
244
  run_job(("%s%s/%s.rsf" % [@url_base, d, package]), job, params, :get, args)
242
- end
245
+ end
243
246
 
244
247
  post '/do/:package/:job' do |package,job|
245
- run_job("%s%s.rsf" % [@url_base, package], job, params, :post)
248
+ run_job("%s%s.rsf" % [@url_base, package], job, params, :post)
246
249
  end
247
-
250
+
248
251
  get '/do/:package/:job/*' do |package, job|
249
252
  raw_args = params[:splat]
250
253
  args = raw_args.first[/[^\s\?]+/].to_s.split('/')[1..-1]
@@ -260,65 +263,65 @@ class RackRscript
260
263
  get '/source/:package/:job' do |package,job|
261
264
  url = "%s%s.rsf" % [@url_base, package]
262
265
  [@rscript.read([url, job]).first, 'text/plain']
263
- end
266
+ end
264
267
 
265
268
  get '/source/:package' do |package,job|
266
-
269
+
267
270
  url = "%s%s.rsf" % [@url_base, package]
268
271
 
269
272
  begin
270
-
273
+
271
274
  [RXFHelper.read(url).first,'text/plain']
272
275
 
273
276
  rescue
274
-
277
+
275
278
  ['url: ' + url + '; ' + ($!).inspect + \
276
279
  'couldn\'t find that package', 'text/plain']
277
280
  end
278
281
 
279
- end
282
+ end
280
283
 
281
284
  get '/ls' do
282
-
285
+
283
286
  FileX.exists? @url_base
284
287
  filepath = @url_base
285
-
288
+
286
289
  [Dir.glob(filepath + '/*.rsf').map{|x| x[/([^\/]+)\.rsf$/,1]}.to_json,\
287
290
  'application/json']
288
291
 
289
- end
290
-
292
+ end
293
+
291
294
  if @static.any? then
292
-
295
+
293
296
  get /^(\/(?:#{@static.keys.join('|')}).*)/ do |raw_path|
294
297
 
295
298
  _, file, tailpath = raw_path.split('/',3)
296
-
299
+
297
300
  filepath = if @static[file].empty? then
298
-
301
+
299
302
  path = raw_path
300
303
  puts 'path: ' + path.inspect if @debug
301
- filepath = File.join(@app_root, @root, path )
302
-
304
+ filepath = File.join(@app_root, @root, path )
305
+
303
306
  else
304
-
305
- File.join(@static[file], tailpath)
306
-
307
+
308
+ File.join(@static[file], tailpath)
309
+
307
310
  end
308
311
 
309
- @log.debug 'RackRscript/default_routes/filepath: ' + filepath.inspect if @log
312
+ @log.debug 'RackRscript/default_routes/filepath: ' + filepath.inspect if @log
310
313
 
311
314
 
312
315
  if @log then
313
- @log.info 'DandelionS1/default_routes: ' +
316
+ @log.info 'DandelionS1/default_routes: ' +
314
317
  "root: %s path: %s" % [@root, path]
315
318
  end
316
319
 
317
320
  if filepath.length < 1 or filepath[-1] == '/' then
318
- filepath += 'index.html'
321
+ filepath += 'index.html'
319
322
  FileX.read filepath
320
323
  elsif FileX.directory? filepath then
321
- Redirect.new (filepath + '/')
324
+ Redirect.new (filepath + '/')
322
325
  elsif FileX.exists? filepath then
323
326
 
324
327
  content_type = @filetype[filepath[/\w+$/].to_sym]
@@ -338,28 +341,39 @@ class RackRscript
338
341
  else
339
342
  Time.now.inspect
340
343
  end
341
-
344
+
345
+ end
346
+
347
+ # file exists?
348
+ a = Dir.glob( File.join(@root.to_s, '*')).select do |x|
349
+ File::ftype(x) == 'directory'
350
+ end
351
+
352
+ get /^\/#{a.join('|')}/ do
353
+
354
+ 'found' + a.inspect
355
+
342
356
  end
343
357
 
344
358
  end
345
-
359
+
346
360
  def run_request(request)
347
-
361
+
348
362
  #@log.debug 'inside run_request: ' + request.inspect if @log
349
363
  #@log.debug 'inside run_request @env: ' + @env.inspect if @log
350
364
  method_type = @env ? @env['REQUEST_METHOD'] : 'GET'
351
- content, content_type, status_code = run_route(request, method_type)
365
+ content, content_type, status_code = run_route(request, method_type)
352
366
  @log.info 'RackRscript/run_request/content: ' + content.inspect if @log
353
367
  #puts 'content: ' + content.inspect if @debug
354
368
 
355
369
  #@log.debug 'inside run_request' if @log
356
370
  if content.is_a? Redirect then
357
-
371
+
358
372
  redirectx = content
359
373
  res = Rack::Response.new
360
374
  res.redirect(redirectx.to_url)
361
- res.finish
362
-
375
+ res.finish
376
+
363
377
  else
364
378
 
365
379
  e = $!
@@ -368,18 +382,18 @@ class RackRscript
368
382
  content, status_code = e, 500
369
383
  @log.debug 'RackRscript/call/error: ' + e if @log
370
384
  elsif content.nil? then
371
- content, status_code = "404: page not found", 404
372
- end
385
+ content, status_code = "404: page not found", 404
386
+ end
373
387
 
374
- tilt_proc = lambda do |s, content_type|
388
+ tilt_proc = lambda do |s, content_type|
375
389
  type = content_type[/[^\/]+$/]
376
390
  s = [s,{}] unless s.is_a? Array
377
391
  content, options = s
378
392
  [Tilt[type].new() {|x| content}.render(self, options), 'text/html']
379
393
  end
380
-
394
+
381
395
  passthru_proc = lambda{|c, ct| [c,ct]}
382
-
396
+
383
397
  ct_list = {
384
398
  'text/html' => passthru_proc,
385
399
  'text/haml' => tilt_proc,
@@ -393,26 +407,26 @@ class RackRscript
393
407
  'application/json' => passthru_proc,
394
408
  'image/png' => passthru_proc,
395
409
  'image/jpeg' => passthru_proc,
396
- 'image/svg+xml' => passthru_proc
410
+ 'image/svg+xml' => passthru_proc
397
411
  }
398
-
412
+
399
413
  content_type ||= 'text/html'
400
- status_code ||= 200
414
+ status_code ||= 200
401
415
  proc = ct_list[content_type]
402
416
  proc ||= passthru_proc
403
- content, content_type = proc.call(content, content_type)
404
-
417
+ content, content_type = proc.call(content, content_type)
418
+
405
419
  [status_code, {"Content-Type" => content_type}, [content]]
406
- end
407
-
420
+ end
421
+
408
422
  end
409
-
423
+
410
424
  alias jumpto run_request
411
425
 
412
426
  private
413
-
427
+
414
428
  def template(name, type=nil, &blk)
415
429
  @render.template name, type, &blk
416
- end
417
-
430
+ end
431
+
418
432
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-rscript
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -11,31 +11,31 @@ cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwNjI4MTA0NTMzWhcN
15
- MjEwNjI4MTA0NTMzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC++hKM
17
- OkDJ8KaD3zDoCEYnfM3w0zHKKGDhTr5pAWeFG3uSMEDpjSFjpDTNLRQnYXnAlkTQ
18
- iqnnkZ3PgKD2DrL3Tebb7i1xxiYDEV8uQJApP51MPd/bgdLka8y1Z/gNx0o5N42Z
19
- biScnOGCSwl1XpQHVgO+zhhLoPhsb4rneuOZRrT14OiHb5ERJilqE5DJhhErymQv
20
- Cs5NDHjLp39Ui3jpe0j3qdNMWBH49V7tXREIyKaM/vjDQGvaS/NX4jLGw0YVdMCE
21
- W8yadDcqRDWkFK7cz+omnIUZHGu6tcJA2oTeL/plSfJneyUXxMAAqarmm9jKWGiE
22
- Sa9icmAmueF4fjrPm8wiXcrOwDiCS0nAAOsiXnfrwJq+IKZDdvfiYrbJYqV3jpxO
23
- Zc47nGjO3oH85YcaWd0IQqpt+c0CVzRTy3wBK35xDSI9oRh3Io3qZq8YnJxpCTtR
24
- f/tFJkOfA97aDaU+n6NflYphEJgQIbNR8g5HH6aYMC1hV9NHBSj9C0+IPL0CAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUotFCdsTq
26
- oF0+c4sgqZqQGAzOATIwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjExMjI5MTgxNDQyWhcN
15
+ MjIxMjI5MTgxNDQyWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC86yKR
17
+ KdjeR2YaKGfHPYSq+dF7O6QO+iCllVNfuVLgdZ46E35mBPMRNiXkwu3nnzEcdKnp
18
+ gN23mnWcl/riMqR6I+aymlqzFuqOeeOEl/A4T/fCcuhGx7DZmOEKJx0a58L/o3/K
19
+ X8LriVIA2fqKXpXlwcsbH9LuHHCGCXzDrw2sfJOevCkPZmGC+4YmY/Ma77gBiJL3
20
+ 1NAvfEAY2/Mm3SnKC/QR26cWo4ZT6cVqCvd6NcjnRbe2/4MkV+QRzG9bjR/jXv/p
21
+ d5IimipfEw3rvqzCZqSmqC7ZPXAJhCm3VfwrVr6AaUkOiov0elBBDEU7tN4rpLAd
22
+ AP/FQSDjA3+ElDiDQFfTgqqepIcoGZqsm+ct/MuHMVQzaBCHs/LQXTNIJDsv5oOq
23
+ YswOTDTE4j//Du1ySuCyboVDDQjeMNj7Xzr6gmQaelHrcC/Ax18fFVMMQS3CykUP
24
+ FPPwXgaqhMvO6IigDhif6bxOr9GWkR3wAOAZcdPTJuI69kXsDIppd8wvwBcCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUedc2Phvh
26
+ fegWTvjwW6u98RQNLiEwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
27
  c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAaEAg7AuqvVp/0qFr40orUDsiWgUri6xIAr7HN+Iu
29
- EYDxIn873j5HorzAcrhKkfb9dNyJnpraac1Hpn9yqg7hIeW/mU0LIM9wNe4S9yTI
30
- IOh0hhqsyeas7UwaZA220Bx23yyxque7E9P+fqn5I4RwtJXn/kDXZHiarKfvFTH1
31
- mduzu/04uoC0dYEAL/ASvOr/EMxD+N9/vtoxR4+bj4W8WXozy9ySAlpuKwDuVXmc
32
- twljCSdBB5QG11CH/7S+k4JMhN9vx+n4R2tNqouqyE0/Smyn+gXfYHR5jXqOzGFa
33
- wmNbJU6Nt9ro9mFunXiNVM3t85KOb7HptOAv7uAu+yNHzDX6iDy43y1wwTN9Ca+0
34
- 468xA07gVSZnQMLOLNcZE6qcx5MZVkhjTlWVchzBAusC2pb37Ut8jXn+q92nqCw9
35
- tilHf4Ok7vnZYPnxQk5PY3q28lYoflnB47YIc0pdkJHI1M3YXL/HxrcZCEIHAU3W
36
- aTCBK3Pk2/LQtqaW3yaSg73t
28
+ BgkqhkiG9w0BAQsFAAOCAYEAT8rbqnsRYicLTmcGmLHEvSAn/KEdyqbSSuuD0Kfr
29
+ SCVHCqTl53smpdKgBboZH9ZVr946vYtCZ/rtd1pVpEo/ENcWcaNaV4NhK6n/njCX
30
+ UBZ9Pdy0obZwP8k+nykQdQqDYUqiW/BXo1SB/BdkPOVu5mRYmx7yHuuj2vZpMmxM
31
+ lv4IN0rEyJXBtkcLQbGdQcRT9/b1/FLPAsuxEX7mFdSQrFufNLGcGzWl/c51a5Xo
32
+ SI76WH1OLRawRbeI9RS81zY/+Ku4K/plSqzynwuB52HFY4gEHtWlDMjJLdA98Pr8
33
+ z+AnDPyf+tgyo6PzzxVnEsp0GLrP1zKa4+NKXGXnbtDtPn7zQL3NamT39nPFzHfp
34
+ 7wFc43V/b0NugGvugJlSjM4y4rHww2j0aKMTJDGGJK0e51BLG1Hs3c/SckeGIk3r
35
+ uQ8ts8x2DfuJYY/PmLbqwXkzMzb1EgnUBWZ3mZCdlL0UBst5ypPAFTn1b2qRUC92
36
+ UtKkOrrEmCXrBnFtpv6a1ULk
37
37
  -----END CERTIFICATE-----
38
- date: 2021-01-18 00:00:00.000000000 Z
38
+ date: 2021-12-29 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rack
@@ -181,24 +181,24 @@ dependencies:
181
181
  name: polyrex-links
182
182
  requirement: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: 0.3.0
187
184
  - - "~>"
188
185
  - !ruby/object:Gem::Version
189
- version: '0.3'
186
+ version: '0.4'
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: 0.4.3
190
190
  type: :runtime
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- version: 0.3.0
197
194
  - - "~>"
198
195
  - !ruby/object:Gem::Version
199
- version: '0.3'
196
+ version: '0.4'
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: 0.4.3
200
200
  description:
201
- email: james@jamesrobertson.eu
201
+ email: digital.robertson@gmail.com
202
202
  executables: []
203
203
  extensions: []
204
204
  extra_rdoc_files: []
metadata.gz.sig CHANGED
Binary file