rscript 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/rscript.rb +22 -27
- metadata +11 -12
- metadata.gz.sig +0 -0
- data/lib/rscript_base.rb +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5b1f2dc9cd687680432ff6a4e8d0e572f4cabf5
|
4
|
+
data.tar.gz: 246310e6d4dc4bc5708e72fa7591450e6ff069bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a50186cb43434b2c6e5dcb2375f68519f045ae90bb3ffeac5be51b09e2277a70f9839507690034abaaaf3ea8da5c6090b3065a2fbe2043527b7726250b883047
|
7
|
+
data.tar.gz: 05a0eaf524599a672c9b14eee823dddd6c5a7fb2900891f37b8ff651a6e8febbca1ab7bb29ec39cc18ebce5adc972c37faf809776f299ed2ffeaac6e2b16659b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rscript.rb
CHANGED
@@ -2,13 +2,12 @@
|
|
2
2
|
|
3
3
|
# file: rscript.rb
|
4
4
|
|
5
|
-
|
6
5
|
# created: 1-Jul-2009
|
7
|
-
# updated:
|
6
|
+
# updated: 21-Jun-2016
|
8
7
|
|
9
8
|
# modification:
|
10
9
|
|
11
|
-
#
|
10
|
+
# 21-Jun-2016: Replaced the initialize hash options with inline named params
|
12
11
|
# 29-Jan-2015: Replaced REXML with Rexle
|
13
12
|
# 06-Nov-2013: An error is now raised if the job doesn't exist
|
14
13
|
# 02-Nov-2013: Replaced XThreads with a simle thread
|
@@ -33,6 +32,7 @@
|
|
33
32
|
# http://www.opensource.org/licenses/mit-license.php
|
34
33
|
|
35
34
|
|
35
|
+
|
36
36
|
require 'rscript_base'
|
37
37
|
require 'hashcache'
|
38
38
|
require 'rexle'
|
@@ -40,10 +40,11 @@ require 'rexle'
|
|
40
40
|
|
41
41
|
class RScript < RScriptBase
|
42
42
|
|
43
|
-
def initialize(
|
43
|
+
def initialize(logfile: '', logrotate: 'daily', pkg_src: '', cache: true)
|
44
44
|
|
45
|
-
@logger = Logger.new
|
46
|
-
@
|
45
|
+
@logger = Logger.new logfile, logrotate unless logfile.empty?
|
46
|
+
@cache = cache
|
47
|
+
@rsf_cache = HashCache.new({cache: 5}) if cache
|
47
48
|
|
48
49
|
end
|
49
50
|
|
@@ -83,7 +84,7 @@ class RScript < RScriptBase
|
|
83
84
|
out = read_rsf(args) {|doc| doc.root.xpath('//script').map {|s| read_script(s)}}.join("\n")
|
84
85
|
end
|
85
86
|
|
86
|
-
@logger.debug 'RScript -> out: ' + out.inspect if @logger
|
87
|
+
@logger.debug 'RScript -> out: ' + out.inspect[0..250] if @logger
|
87
88
|
|
88
89
|
[out, args]
|
89
90
|
end
|
@@ -115,7 +116,7 @@ class RScript < RScriptBase
|
|
115
116
|
end
|
116
117
|
|
117
118
|
code2, args = self.read raw_args
|
118
|
-
@logger.debug 'RScript -> code2: ' + code2.inspect if @logger
|
119
|
+
@logger.debug 'RScript -> code2: ' + code2.inspect[0..250] if @logger
|
119
120
|
|
120
121
|
begin
|
121
122
|
|
@@ -131,41 +132,35 @@ class RScript < RScriptBase
|
|
131
132
|
end
|
132
133
|
thread.join
|
133
134
|
=end
|
135
|
+
#puts 'code2 :' + code2.inspect
|
134
136
|
r = eval code2
|
135
137
|
#r = thread['result']
|
136
138
|
|
137
139
|
params = {}
|
140
|
+
|
138
141
|
return r
|
139
142
|
|
140
143
|
rescue Exception => e
|
141
144
|
params = {}
|
142
145
|
err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
|
143
146
|
return err_label
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
private
|
148
|
-
|
149
|
-
|
150
|
-
def read_doc_rsf(args=[])
|
151
|
-
rsfile = args[0]; args.shift
|
152
|
-
|
153
|
-
$rsfile = rsfile[/[a-zA-z0-9]+(?=\.rsf)/]
|
154
|
-
|
155
|
-
@url_base = rsfile[/\w+:\/\/[^\/]+/]
|
156
|
-
buffer = @rsf_cache.read(rsfile) {read_sourcecode(rsfile) }
|
157
|
-
|
158
|
-
doc = Rexle.new(buffer)
|
159
|
-
yield(doc)
|
147
|
+
end
|
160
148
|
|
161
|
-
end
|
149
|
+
end
|
162
150
|
|
151
|
+
private
|
163
152
|
|
164
153
|
def read_rsf(args=[])
|
154
|
+
|
165
155
|
rsfile = args[0]; args.shift
|
166
156
|
|
167
157
|
$rsfile = rsfile[/[^\/]+(?=\.rsf)/]
|
168
|
-
|
158
|
+
|
159
|
+
buffer = if @cache then
|
160
|
+
@rsf_cache.read(rsfile) {read_sourcecode(rsfile) }
|
161
|
+
else
|
162
|
+
read_sourcecode(rsfile)
|
163
|
+
end
|
169
164
|
|
170
165
|
@url_base = rsfile[/\w+:\/\/[^\/]+/]
|
171
166
|
|
@@ -181,4 +176,4 @@ if __FILE__ == $0 then
|
|
181
176
|
rs = RScript.new()
|
182
177
|
code, args = rs.read(raw_args)
|
183
178
|
puts eval(code).join("\n")
|
184
|
-
end
|
179
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
iYiOpzs0Jmv4jizUQGqzjOvyRUQTlYG2IDutjigLuyZllxXvxAcdRXKarC+qvESI
|
32
32
|
fb096Gf6Ao7H/w==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2016-
|
34
|
+
date: 2016-06-21 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hashcache
|
@@ -59,40 +59,40 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0.
|
62
|
+
version: '0.3'
|
63
63
|
- - ">="
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version: 0.
|
65
|
+
version: 0.3.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
68
|
version_requirements: !ruby/object:Gem::Requirement
|
69
69
|
requirements:
|
70
70
|
- - "~>"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: '0.
|
72
|
+
version: '0.3'
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.3.0
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: rexle
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
82
|
+
version: '1.3'
|
83
83
|
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: 1.
|
85
|
+
version: 1.3.34
|
86
86
|
type: :runtime
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
90
|
- - "~>"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '1.
|
92
|
+
version: '1.3'
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.
|
95
|
+
version: 1.3.34
|
96
96
|
description:
|
97
97
|
email: james@r0bertson.co.uk
|
98
98
|
executables: []
|
@@ -100,7 +100,6 @@ extensions: []
|
|
100
100
|
extra_rdoc_files: []
|
101
101
|
files:
|
102
102
|
- lib/rscript.rb
|
103
|
-
- lib/rscript_base.rb
|
104
103
|
homepage: https://github.com/jrobertson/rscript
|
105
104
|
licenses:
|
106
105
|
- MIT
|
@@ -121,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
120
|
version: '0'
|
122
121
|
requirements: []
|
123
122
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.5.1
|
125
124
|
signing_key:
|
126
125
|
specification_version: 4
|
127
126
|
summary: rscript previously known as rcscript, reads Ruby code which is embedded within
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/rscript_base.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# file: rscript_base.rb
|
4
|
-
|
5
|
-
require 'cgi'
|
6
|
-
require 'open-uri'
|
7
|
-
require 'rxfhelper'
|
8
|
-
|
9
|
-
class RScriptBase
|
10
|
-
|
11
|
-
def initialize()
|
12
|
-
end
|
13
|
-
|
14
|
-
def read(doc)
|
15
|
-
doc.root.xpath('//script').map {|s| run_script(s)}.join(';')
|
16
|
-
end
|
17
|
-
|
18
|
-
protected
|
19
|
-
|
20
|
-
def read_script(script)
|
21
|
-
out_buffer = ''
|
22
|
-
|
23
|
-
src = script.attributes[:src]
|
24
|
-
|
25
|
-
out_buffer = if src then
|
26
|
-
read_sourcecode(script.attributes[:src].to_s)
|
27
|
-
else
|
28
|
-
script.texts.join("\n")
|
29
|
-
end
|
30
|
-
|
31
|
-
out_buffer
|
32
|
-
end
|
33
|
-
|
34
|
-
def read_sourcecode(rsf)
|
35
|
-
|
36
|
-
buffer, type = RXFHelper.read rsf
|
37
|
-
|
38
|
-
case type
|
39
|
-
when :url, :file
|
40
|
-
buffer
|
41
|
-
when :relative_url
|
42
|
-
open(@url_base + rsf, "UserAgent" => "rscript"){|x| x.read}
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|