rack-rscript 1.1.9 → 1.2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/rack-rscript.rb +61 -59
- metadata +6 -5
- 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: 35ab3661aa2c2f191b140e28dbda3805f32a97e6a3eaf6c1f410e30f411d6b6c
|
4
|
+
data.tar.gz: b6d2ba9fd30c7ae71571f69918583c8206cd0d5dbebd89dd796e4f35d44662d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 216dc0e7c0e24231bf0e0fbb7d6cd5550cf9bf027a37b860102f909a378c608c78c806f51ab1b170a4b5880d0fc021311cd23d2d42782b56dc200ffa15eacde4
|
7
|
+
data.tar.gz: da45f89a5e37161bf83a9c63cdc8830e69ed949241f004990db59e67e7d21d33d9533932df96de08f5136339d1d61b81589d73fa9814149a0fe20997a93f0845
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rack-rscript.rb
CHANGED
@@ -34,7 +34,7 @@ class RackRscript
|
|
34
34
|
include RXFHelperModule
|
35
35
|
using ColouredText
|
36
36
|
|
37
|
-
attr_reader :req
|
37
|
+
attr_reader :req, :rsc
|
38
38
|
|
39
39
|
|
40
40
|
def initialize(log: nil, pkg_src: '', cache: 5, rsc_host: nil,
|
@@ -73,7 +73,7 @@ class RackRscript
|
|
73
73
|
end
|
74
74
|
|
75
75
|
super() # required for app-routes initialize method to exectue
|
76
|
-
default_routes(@env, @params)
|
76
|
+
default_routes(@env, @params || {})
|
77
77
|
|
78
78
|
@rsc = nil
|
79
79
|
|
@@ -88,7 +88,7 @@ class RackRscript
|
|
88
88
|
#=end
|
89
89
|
end
|
90
90
|
|
91
|
-
def call(env)
|
91
|
+
def call(env, testmode: false)
|
92
92
|
|
93
93
|
|
94
94
|
@env = env
|
@@ -96,9 +96,14 @@ class RackRscript
|
|
96
96
|
#raw_request = env['REQUEST_PATH']
|
97
97
|
|
98
98
|
@log.info 'RackRscript/call: ' + env.inspect if @log
|
99
|
-
|
100
|
-
|
101
|
-
|
99
|
+
|
100
|
+
if testmode == false then
|
101
|
+
|
102
|
+
@req = Rack::Request.new(env)
|
103
|
+
@req_params = @req.params
|
104
|
+
|
105
|
+
end
|
106
|
+
|
102
107
|
default_routes(env,@params)
|
103
108
|
|
104
109
|
request = if @pxlinks then
|
@@ -110,6 +115,7 @@ class RackRscript
|
|
110
115
|
|
111
116
|
@log.info 'RackRscript/call/request: ' + request.inspect if @log
|
112
117
|
#=begin
|
118
|
+
puts 'request: ' + request.inspect if @debug
|
113
119
|
run_request(request)
|
114
120
|
#=end
|
115
121
|
# [200, {"Content-Type" => "text/plain"}, [env.inspect]]
|
@@ -119,8 +125,9 @@ class RackRscript
|
|
119
125
|
@rscript.reset
|
120
126
|
end
|
121
127
|
|
122
|
-
def run_job(url,
|
128
|
+
def run_job(url, job, params={}, type=:get, *qargs)
|
123
129
|
|
130
|
+
puts 'inside run_job' if @debug
|
124
131
|
@log.debug 'RackRscript/run_job/params: ' + params.inspect if @log
|
125
132
|
@log.debug 'RackRscript/run_job/qargs: ' + qargs.inspect if @log
|
126
133
|
|
@@ -139,9 +146,20 @@ class RackRscript
|
|
139
146
|
@params.merge! h
|
140
147
|
end
|
141
148
|
|
142
|
-
@params.merge! @req.params
|
149
|
+
@params.merge! @req.params if @req
|
143
150
|
@rscript.type = type
|
144
|
-
|
151
|
+
|
152
|
+
if not @rscript.jobs(url).include?(job.to_sym) then
|
153
|
+
|
154
|
+
if @rscript.jobs(url).include?(:job_missing) then
|
155
|
+
job = 'job_missing'
|
156
|
+
else
|
157
|
+
[404, 'job not found']
|
158
|
+
end
|
159
|
+
|
160
|
+
end
|
161
|
+
|
162
|
+
result, args = @rscript.read([url, '//job:' + job, \
|
145
163
|
qargs].flatten)
|
146
164
|
|
147
165
|
rws = self
|
@@ -149,14 +167,29 @@ class RackRscript
|
|
149
167
|
req = @req if @req
|
150
168
|
|
151
169
|
begin
|
170
|
+
|
171
|
+
if @debug then
|
172
|
+
puts @rscript.jobs(url).inspect
|
173
|
+
puts 'job: ' + job.inspect
|
174
|
+
puts 'url: ' + url.inspect
|
175
|
+
puts '@initialized: ' + @initialized.inspect
|
176
|
+
bflag = @rscript.jobs(url).include?(:initialize) and \
|
177
|
+
!@initialized[url] and job != 'initialize'
|
178
|
+
puts 'bflag: ' + bflag.inspect
|
179
|
+
end
|
152
180
|
|
153
|
-
if @rscript.jobs(url).include?
|
154
|
-
!@initialized[url] and
|
155
|
-
|
181
|
+
if @rscript.jobs(url).include?(:initialize) and
|
182
|
+
!@initialized[url] and job != 'initialize' then
|
183
|
+
puts 'before run initialize' if @debug
|
184
|
+
r2 = @rscript.read([url, '//job:initialize'])
|
185
|
+
puts 'r2: ' + r2.inspect if @debug
|
186
|
+
eval r2.join
|
156
187
|
@initialized[url] = true
|
157
188
|
end
|
158
189
|
|
190
|
+
|
159
191
|
r = eval result
|
192
|
+
|
160
193
|
return r
|
161
194
|
|
162
195
|
rescue Exception => e
|
@@ -196,33 +229,37 @@ class RackRscript
|
|
196
229
|
|
197
230
|
get '/do/:package/:job' do |package,job|
|
198
231
|
@log.info 'RackRscript/route/do/package/job: ' + [package, job].inspect if @log
|
199
|
-
run_job("%s%s.rsf" % [@url_base, package],
|
232
|
+
run_job("%s%s.rsf" % [@url_base, package], job, params)
|
200
233
|
end
|
201
234
|
|
202
|
-
get /\/(.*)\/do\/(\w+)\/(\w+)
|
203
|
-
run_job(("%s%s/%s.rsf" % [@url_base, d, package]),
|
204
|
-
"//job:" + job, params)
|
235
|
+
get /\/(.*)\/do\/(\w+)\/(\w+)$/ do |d, package,job|
|
236
|
+
run_job(("%s%s/%s.rsf" % [@url_base, d, package]), job, params)
|
205
237
|
end
|
238
|
+
|
239
|
+
get /\/(.*)\/do\/(\w+)\/(\w+)\/(.*)/ do |d, package, job, raw_args|
|
240
|
+
args = raw_args.split('/')
|
241
|
+
run_job(("%s%s/%s.rsf" % [@url_base, d, package]), job, params, :get, args)
|
242
|
+
end
|
206
243
|
|
207
244
|
post '/do/:package/:job' do |package,job|
|
208
|
-
run_job("%s%s.rsf" % [@url_base, package],
|
245
|
+
run_job("%s%s.rsf" % [@url_base, package], job, params, :post)
|
209
246
|
end
|
210
247
|
|
211
248
|
get '/do/:package/:job/*' do |package, job|
|
212
249
|
raw_args = params[:splat]
|
213
250
|
args = raw_args.first[/[^\s\?]+/].to_s.split('/')[1..-1]
|
214
|
-
run_job("%s%s.rsf" % [@url_base, package],
|
251
|
+
run_job("%s%s.rsf" % [@url_base, package], job, params, :get, args)
|
215
252
|
end
|
216
253
|
|
217
254
|
post '/do/:package/:job/*' do |package, job|
|
218
255
|
raw_args = params[:splat]
|
219
256
|
args = raw_args.first[/[^\s\?]+/].to_s.split('/')[1..-1]
|
220
|
-
run_job("%s%s.rsf" % [@url_base, package],
|
257
|
+
run_job("%s%s.rsf" % [@url_base, package], job, params, :post, args)
|
221
258
|
end
|
222
259
|
|
223
260
|
get '/source/:package/:job' do |package,job|
|
224
261
|
url = "%s%s.rsf" % [@url_base, package]
|
225
|
-
[@rscript.read([url,
|
262
|
+
[@rscript.read([url, job]).first, 'text/plain']
|
226
263
|
end
|
227
264
|
|
228
265
|
get '/source/:package' do |package,job|
|
@@ -313,7 +350,8 @@ class RackRscript
|
|
313
350
|
method_type = @env ? @env['REQUEST_METHOD'] : 'GET'
|
314
351
|
content, content_type, status_code = run_route(request, method_type)
|
315
352
|
@log.info 'RackRscript/run_request/content: ' + content.inspect if @log
|
316
|
-
|
353
|
+
#puts 'content: ' + content.inspect if @debug
|
354
|
+
|
317
355
|
#@log.debug 'inside run_request' if @log
|
318
356
|
if content.is_a? Redirect then
|
319
357
|
|
@@ -372,45 +410,9 @@ class RackRscript
|
|
372
410
|
alias jumpto run_request
|
373
411
|
|
374
412
|
private
|
375
|
-
|
376
|
-
def render99(name, type, opt={})
|
377
|
-
|
378
|
-
options = {locals: {}}.merge!(opt)
|
379
|
-
locals = options.delete :locals
|
380
|
-
|
381
|
-
unless @templates[:layout] then
|
382
|
-
template(:layout, type) { File.read('views/layout.' + type.to_s) }
|
383
|
-
end
|
384
|
-
|
385
|
-
layout = Tilt[type.to_s].new(options) {|x| @templates[:layout][:content]}
|
386
|
-
|
387
|
-
unless @templates[name] then
|
388
|
-
template(name, type) { File.read("views/%s.%s" % [name.to_s, type.to_s])}
|
389
|
-
end
|
390
|
-
|
391
|
-
template = Tilt[type.to_s].new(options) {|x| @templates[name][:content]}
|
392
|
-
layout.render{ template.render(self, locals)}
|
393
|
-
end
|
394
|
-
|
413
|
+
|
395
414
|
def template(name, type=nil, &blk)
|
396
415
|
@render.template name, type, &blk
|
397
|
-
end
|
398
|
-
|
399
|
-
def template99(name, type=nil, &blk)
|
400
|
-
@templates.merge!({name => {content: blk.call, type: type}})
|
401
|
-
@templates[name]
|
402
|
-
end
|
403
|
-
|
404
|
-
def tilt99(name, options={})
|
405
|
-
|
406
|
-
options = {locals: {}}.merge!(opt)
|
407
|
-
locals = options.delete :locals
|
408
|
-
layout = Tilt[@templates[:layout][:type].to_s].new(options)\
|
409
|
-
{|x| @templates[:layout][:content]}
|
410
|
-
template = Tilt[@templates[name][:type].to_s].new(options) \
|
411
|
-
{|x| @templates[name][:content]}
|
412
|
-
layout.render{ template.render(self, locals)}
|
413
|
-
|
414
|
-
end
|
416
|
+
end
|
415
417
|
|
416
418
|
end
|
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.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
tilHf4Ok7vnZYPnxQk5PY3q28lYoflnB47YIc0pdkJHI1M3YXL/HxrcZCEIHAU3W
|
36
36
|
aTCBK3Pk2/LQtqaW3yaSg73t
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2021-01-18 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rack
|
@@ -166,7 +166,7 @@ dependencies:
|
|
166
166
|
version: '0.4'
|
167
167
|
- - ">="
|
168
168
|
- !ruby/object:Gem::Version
|
169
|
-
version: 0.4.
|
169
|
+
version: 0.4.5
|
170
170
|
type: :runtime
|
171
171
|
prerelease: false
|
172
172
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -176,7 +176,7 @@ dependencies:
|
|
176
176
|
version: '0.4'
|
177
177
|
- - ">="
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: 0.4.
|
179
|
+
version: 0.4.5
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
181
|
name: polyrex-links
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
@@ -223,7 +223,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
requirements: []
|
226
|
-
|
226
|
+
rubyforge_project:
|
227
|
+
rubygems_version: 2.7.10
|
227
228
|
signing_key:
|
228
229
|
specification_version: 4
|
229
230
|
summary: Rack-Rscript is a light-weight alternative to Sinatra-Rscript.
|
metadata.gz.sig
CHANGED
Binary file
|