rack-rscript 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rack-rscript.rb +25 -14
  2. metadata +2 -2
data/lib/rack-rscript.rb CHANGED
@@ -5,12 +5,15 @@
5
5
 
6
6
  require 'rscript'
7
7
  require 'app-routes'
8
+ require 'requestor'
9
+ require 'logger'
8
10
 
9
11
  class RackRscript
10
12
  include AppRoutes
11
13
 
12
14
  def initialize(raw_opts={})
13
-
15
+ @params = {}
16
+
14
17
  opts = {logfile: '', logrotate: 'daily', pkg_src: ''}.merge(raw_opts)
15
18
  @url_base = opts[:pkg_src] # web server serving the RSF files
16
19
  @url_base += '/' unless @url_base[-1] == '/'
@@ -28,9 +31,13 @@ class RackRscript
28
31
  def call(env)
29
32
  request = env['REQUEST_URI'][/https?:\/\/[^\/]+(.*)/,1]
30
33
 
31
- log Time.now.to_s + ": " + request
34
+ log Time.now.to_s + ": " + request.inspect
32
35
  content, content_type, status_code = run_route(request)
33
- content, status_code = "404: page not found", 404 if content.nil?
36
+ if content.nil? then
37
+ e = $!
38
+ log(e) if e
39
+ content, status_code = "404: page not found", 404
40
+ end
34
41
 
35
42
  content_type ||= 'text/html'
36
43
  status_code ||= 200
@@ -39,28 +46,36 @@ class RackRscript
39
46
 
40
47
 
41
48
  def run_job(url, jobs, params={}, *qargs)
42
- if params[:splat] and params[:splat].length > 0 then
43
- h = params[:splat].first[1..-1].split('&').inject({}) do |r,x|
49
+
50
+ if @params[:splat] and @params[:splat].length > 0 then
51
+ h = @params[:splat].first[1..-1].split('&').inject({}) do |r,x|
44
52
  k, v = x.split('=')
45
53
  r.merge(k.to_sym => v)
46
54
  end
47
- params.merge! h
55
+ @params.merge! h
48
56
  end
49
57
 
58
+
50
59
  result, args = RScript.new.read([url, jobs.split(/\s/), \
51
60
  qargs].flatten)
52
61
  rws = self
53
62
 
54
63
  begin
55
64
  r = eval result
56
- # jr040612 @params = {}
65
+ #@params = {}
57
66
  return r
58
67
 
59
68
  rescue Exception => e
60
-
69
+ @params = {}
61
70
  err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
62
71
  log(err_label)
63
- ($!).to_s
72
+ end
73
+
74
+ end
75
+
76
+ def log(msg)
77
+ if @log == true then
78
+ @logger.debug msg
64
79
  end
65
80
  end
66
81
 
@@ -79,9 +94,5 @@ class RackRscript
79
94
  end
80
95
  end
81
96
 
82
- def log(msg)
83
- if @log == true then
84
- @logger.debug msg
85
- end
86
- end
97
+
87
98
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rack-rscript
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.4.3
5
+ version: 0.4.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - James Robertson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-06-04 00:00:00 Z
13
+ date: 2012-07-13 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack