rscript 0.2.4 → 0.3.0
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 +2 -2
- data.tar.gz.sig +0 -0
- data/lib/rscript.rb +4 -147
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dafd9ec99e12b666918cb7b8006d5cd3527c8faf
|
4
|
+
data.tar.gz: b6ff8fe6150016b7fd1f8a0906c312cc3fdf7bb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af4850b00ee83ae347424652cf5e3b9361c52193a07b3b094840e64cec66a7abaafe72ae0f633a1bf0a3d67b29b2b6b77b33e31f3d477dedb87372d3337f2b11
|
7
|
+
data.tar.gz: d6a31d2d3803c42896ed93b86ba9d9c383b6da4c66864fcb9e567b1da8786faf16b595cbe61710885dd535af83a3308b1431e1d756a4eae758a29316e0f37790
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
���
|
2
|
-
|
1
|
+
O�}�!�\�-4��2P��`��;����Y��2�t�6b�'Aѧ[[���i��'�?k�kaY���}i��:�����6��`F���9���̀�>� ��z����aɹ{
|
2
|
+
��b�� �4^�}$9P��h�qvt%J7>r@C��"�i�q_�190_�F)���I���sẵ��1Ȉ�hUj"�mr�5f7�Ŋ���֖����Tz�R��2���9� �=*�Q��=r�-#6�
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rscript.rb
CHANGED
@@ -3,10 +3,11 @@
|
|
3
3
|
# file: rscript.rb
|
4
4
|
|
5
5
|
# created: 1-Jul-2009
|
6
|
-
# updated:
|
6
|
+
# updated: 26-Jun-2016
|
7
7
|
|
8
8
|
# modification:
|
9
9
|
|
10
|
+
# 26-Jun-2016: The .rb files are now located within the rscript file directory
|
10
11
|
# 21-Jun-2016: Replaced the initialize hash options with inline named params
|
11
12
|
# 29-Jan-2015: Replaced REXML with Rexle
|
12
13
|
# 06-Nov-2013: An error is now raised if the job doesn't exist
|
@@ -31,149 +32,5 @@
|
|
31
32
|
# MIT license - basically you can do anything you like with the script.
|
32
33
|
# http://www.opensource.org/licenses/mit-license.php
|
33
34
|
|
34
|
-
|
35
|
-
|
36
|
-
require 'rscript_base'
|
37
|
-
require 'hashcache'
|
38
|
-
require 'rexle'
|
39
|
-
|
40
|
-
|
41
|
-
class RScript < RScriptBase
|
42
|
-
|
43
|
-
def initialize(logfile: '', logrotate: 'daily', pkg_src: '', cache: true)
|
44
|
-
|
45
|
-
@logger = Logger.new logfile, logrotate unless logfile.empty?
|
46
|
-
@cache = cache
|
47
|
-
@rsf_cache = HashCache.new({cache: 5}) if cache
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
|
-
def read(args=[])
|
52
|
-
|
53
|
-
if @logger then
|
54
|
-
|
55
|
-
@logger.debug 'inside RScript#read'
|
56
|
-
@logger.debug 'RScript -> args: ' + args.inspect
|
57
|
-
|
58
|
-
end
|
59
|
-
|
60
|
-
threads = []
|
61
|
-
|
62
|
-
if args.to_s[/\/\/job:/] then
|
63
|
-
|
64
|
-
ajob = []
|
65
|
-
|
66
|
-
args.each_index do |i|
|
67
|
-
if args[i][/\/\/job:/] then
|
68
|
-
ajob << "@id='#{$'}'"; args[i] = nil
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
args.compact!
|
73
|
-
|
74
|
-
out = read_rsf(args) do |doc|
|
75
|
-
doc.root.xpath("//job[#{ajob.join(' or ')}]").map do |job|
|
76
|
-
job.xpath('script').map {|s| read_script(s)}.join("\n")
|
77
|
-
end.join("\n")
|
78
|
-
end
|
79
|
-
|
80
|
-
raise "job not found" unless out.length > 0
|
81
|
-
out
|
82
|
-
|
83
|
-
else
|
84
|
-
out = read_rsf(args) {|doc| doc.root.xpath('//script').map {|s| read_script(s)}}.join("\n")
|
85
|
-
end
|
86
|
-
|
87
|
-
@logger.debug 'RScript -> out: ' + out.inspect[0..250] if @logger
|
88
|
-
|
89
|
-
[out, args]
|
90
|
-
end
|
91
|
-
|
92
|
-
def reset()
|
93
|
-
@rsf_cache.reset
|
94
|
-
end
|
95
|
-
|
96
|
-
# note: run() was copied from the development file rscript-wrapper.rb
|
97
|
-
def run(raw_args, params={}, rws=nil)
|
98
|
-
|
99
|
-
if @logger then
|
100
|
-
@logger.debug 'inside RScript#run'
|
101
|
-
@logger.debug 'RScript -> raw_args: ' + raw_args.inspect
|
102
|
-
end
|
103
|
-
|
104
|
-
if params[:splat] then
|
105
|
-
params.each do |k,v|
|
106
|
-
params.delete k unless k == :splat or k == :package or k == :job or k == :captures
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
if params[:splat] and params[:splat].length > 0 then
|
111
|
-
h = params[:splat].first[1..-1].split('&').inject({}) do |r,x|
|
112
|
-
k, v = x.split('=')
|
113
|
-
v ? r.merge(k[/\w+$/].to_sym => v) : r
|
114
|
-
end
|
115
|
-
params.merge! h
|
116
|
-
end
|
117
|
-
|
118
|
-
code2, args = self.read raw_args
|
119
|
-
@logger.debug 'RScript -> code2: ' + code2.inspect[0..250] if @logger
|
120
|
-
|
121
|
-
begin
|
122
|
-
|
123
|
-
=begin
|
124
|
-
thread = Thread.new(code2) do |x|
|
125
|
-
|
126
|
-
begin
|
127
|
-
Thread.current['result'] = eval x
|
128
|
-
rescue
|
129
|
-
@logger.debug('RScript -> eval: ' + ($!).inspect) if @logger
|
130
|
-
end
|
131
|
-
|
132
|
-
end
|
133
|
-
thread.join
|
134
|
-
=end
|
135
|
-
#puts 'code2 :' + code2.inspect
|
136
|
-
r = eval code2
|
137
|
-
#r = thread['result']
|
138
|
-
|
139
|
-
params = {}
|
140
|
-
|
141
|
-
return r
|
142
|
-
|
143
|
-
rescue Exception => e
|
144
|
-
params = {}
|
145
|
-
err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
|
146
|
-
return err_label
|
147
|
-
end
|
148
|
-
|
149
|
-
end
|
150
|
-
|
151
|
-
private
|
152
|
-
|
153
|
-
def read_rsf(args=[])
|
154
|
-
|
155
|
-
rsfile = args[0]; args.shift
|
156
|
-
|
157
|
-
$rsfile = rsfile[/[^\/]+(?=\.rsf)/]
|
158
|
-
|
159
|
-
buffer = if @cache then
|
160
|
-
@rsf_cache.read(rsfile) {read_sourcecode(rsfile) }
|
161
|
-
else
|
162
|
-
read_sourcecode(rsfile)
|
163
|
-
end
|
164
|
-
|
165
|
-
@url_base = rsfile[/\w+:\/\/[^\/]+/]
|
166
|
-
|
167
|
-
doc = Rexle.new(buffer)
|
168
|
-
yield(doc)
|
169
|
-
|
170
|
-
end
|
171
|
-
|
172
|
-
end
|
173
|
-
|
174
|
-
if __FILE__ == $0 then
|
175
|
-
raw_args = ARGV
|
176
|
-
rs = RScript.new()
|
177
|
-
code, args = rs.read(raw_args)
|
178
|
-
puts eval(code).join("\n")
|
179
|
-
end
|
35
|
+
require 'rscript/rscript'
|
36
|
+
require 'rscript/rscript_base'
|
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.
|
4
|
+
version: 0.3.0
|
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-06-
|
34
|
+
date: 2016-06-26 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hashcache
|
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
122
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.2.2
|
124
124
|
signing_key:
|
125
125
|
specification_version: 4
|
126
126
|
summary: rscript previously known as rcscript, reads Ruby code which is embedded within
|
metadata.gz.sig
CHANGED
Binary file
|