rscript 0.2.3 → 0.2.4
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/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
|