Class: RackRscript
- Inherits:
-
Object
- Object
- RackRscript
- Defined in:
- lib/rack_rscript.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(url = 'http://rorbuilder.info/r/heroku-rack/') ⇒ RackRscript
constructor
A new instance of RackRscript.
- #run_rcscript(rsf_url, jobs, arg = '') ⇒ Object
Constructor Details
#initialize(url = 'http://rorbuilder.info/r/heroku-rack/') ⇒ RackRscript
Returns a new instance of RackRscript.
5 6 7 8 |
# File 'lib/rack_rscript.rb', line 5 def initialize(url='http://rorbuilder.info/r/heroku-rack/') @@version = '0.3.1' @url_base = url end |
Instance Method Details
#call(env) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rack_rscript.rb', line 16 def call(env) req = Rack::Request.new(env) package_id, *jobs = req.params['package'], req.params['job'] *args = req.params['arg'] url = "%s%s.rsf" % [@url_base, package_id] @content_type = "text/html" code = run_rcscript(url, jobs, args).first content = eval(code) [200, {"Content-Type" => @content_type}, [content]] end |
#run_rcscript(rsf_url, jobs, arg = '') ⇒ Object
10 11 12 13 14 |
# File 'lib/rack_rscript.rb', line 10 def run_rcscript(rsf_url, jobs, arg='') args = [jobs.map {|x| "//job:" + x}.join("\n"), rsf_url] rs = RScript.new() rs.run(args) end |