rack_rscript 0.3.1

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 +28 -0
  2. metadata +55 -0
@@ -0,0 +1,28 @@
1
+ require 'rcscript'
2
+
3
+ class RackRscript
4
+
5
+ def initialize(url='http://rorbuilder.info/r/heroku-rack/')
6
+ @@version = '0.3.1'
7
+ @url_base = url
8
+ end
9
+
10
+ def run_rcscript(rsf_url, jobs, arg='')
11
+ args = [jobs.map {|x| "//job:" + x}.join("\n"), rsf_url]
12
+ rs = RScript.new()
13
+ rs.run(args)
14
+ end
15
+
16
+ def call(env)
17
+ req = Rack::Request.new(env)
18
+ package_id, *jobs = req.params['package'], req.params['job']
19
+ *args = req.params['arg']
20
+
21
+ url = "%s%s.rsf" % [@url_base, package_id]
22
+ @content_type = "text/html"
23
+
24
+ code = run_rcscript(url, jobs, args).first
25
+ content = eval(code)
26
+ [200, {"Content-Type" => @content_type}, [content]]
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack_rscript
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.1
5
+ platform: ruby
6
+ authors: []
7
+
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-01-15 00:00:00 +00:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description:
17
+ email:
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - lib/rack_rscript.rb
26
+ has_rdoc: true
27
+ homepage:
28
+ licenses: []
29
+
30
+ post_install_message:
31
+ rdoc_options: []
32
+
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: "0"
40
+ version:
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ version:
47
+ requirements: []
48
+
49
+ rubyforge_project:
50
+ rubygems_version: 1.3.5
51
+ signing_key:
52
+ specification_version: 3
53
+ summary: rack_rscript is a web server which supports Ruby Scripting File (RSF) jobs
54
+ test_files: []
55
+