rscript 0.4.4 → 0.5.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 +0 -0
- data.tar.gz.sig +0 -0
- data/lib/rscript.rb +29 -21
- metadata +6 -6
- 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: 7eb9e42c934b67de1cb3ada17cd8904823e5c7ea
|
4
|
+
data.tar.gz: d2678d1666cd603dc582339246eeb9c8a1c7002c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e446f1fb007aba23683f6f508ba934d3aae142b159f419c05914221737df3fa40b75b2bb7b2595d26c592ce9280dee8beb43e3267ae3abf6282d28082e7882d0
|
7
|
+
data.tar.gz: 50f96e09ef49dc13b55944d56139d99f370804fd1ea0457296677a5c0a6a1bba2358600a0b8fff78fcc60471f9b066615a0592996a66027d40e66631e065ee92
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rscript.rb
CHANGED
@@ -3,11 +3,12 @@
|
|
3
3
|
# file: rscript.rb
|
4
4
|
|
5
5
|
# created: 1-Jul-2009
|
6
|
-
# updated:
|
6
|
+
# updated: 28-Jul-2018
|
7
7
|
|
8
8
|
# modification:
|
9
9
|
|
10
|
-
#
|
10
|
+
# 28-Jul-2018: feature: Jobs are now looked up from a Hash object
|
11
|
+
# 13-Jul-2018: bug fix: The use of a cache is now optional
|
11
12
|
# 10-Jul-2018: feature: Attributes can now be read from the job
|
12
13
|
# 24-Mar-2018: Bug fix: Public method run() can now correctly
|
13
14
|
# handle a param value of nil
|
@@ -68,23 +69,21 @@ class RScript < RScriptBase
|
|
68
69
|
ajob = ''
|
69
70
|
args.each_index do |i|
|
70
71
|
if args[i].to_s[/\/\/#{@jobname}:/] then
|
71
|
-
ajob =
|
72
|
-
puts 'ajob: ' + ajob.inspect
|
72
|
+
ajob = $'; args[i] = nil
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
args.compact!
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end
|
77
|
+
|
78
|
+
a = read_rsfdoc(args)
|
79
|
+
job = a.assoc(ajob.to_sym)
|
80
|
+
out, attr = job[:code], job[:attributes]
|
82
81
|
|
83
82
|
raise "job not found" unless out.length > 0
|
84
83
|
out
|
85
84
|
|
86
85
|
else
|
87
|
-
out =
|
86
|
+
out = read_rsfdoc(args).map {|x| x.last[:code]}.join("\n")
|
88
87
|
end
|
89
88
|
|
90
89
|
@log.info 'RScript/read: code: ' + out.inspect if @log
|
@@ -138,26 +137,35 @@ class RScript < RScriptBase
|
|
138
137
|
end
|
139
138
|
|
140
139
|
private
|
141
|
-
|
142
|
-
def
|
140
|
+
|
141
|
+
def build_a(rsfile)
|
142
|
+
|
143
|
+
buffer = read_sourcecode(rsfile)
|
144
|
+
doc = Rexle.new(buffer)
|
145
|
+
|
146
|
+
doc.root.xpath("//#{@jobname}").inject([]) do |r,x|
|
147
|
+
codeblock = x.xpath('//script')\
|
148
|
+
.map {|s| read_script(s)}.join("\n")
|
149
|
+
r << [x.attributes[:id].to_sym, {attributes: x.attributes,
|
150
|
+
code: codeblock}]
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
154
|
+
|
155
|
+
def read_rsfdoc(args=[])
|
143
156
|
|
144
157
|
puts 'args: ' + args.inspect if @debug
|
145
158
|
rsfile = args[0]; args.shift
|
146
159
|
|
147
160
|
$rsfile = rsfile[/[^\/]+(?=\.rsf)/]
|
148
161
|
|
149
|
-
|
150
|
-
@rsf_cache.read(rsfile) {read_sourcecode(rsfile) }
|
151
|
-
else
|
152
|
-
read_sourcecode(rsfile)
|
153
|
-
end
|
162
|
+
a = @cache ? @rsf_cache.read(rsfile) { build_a(rsfile) } : build_a(rsfile)
|
154
163
|
|
155
164
|
@url_base = rsfile[/\w+:\/\/[^\/]+/]
|
165
|
+
|
166
|
+
return a
|
156
167
|
|
157
|
-
|
158
|
-
yield(doc)
|
159
|
-
|
160
|
-
end
|
168
|
+
end
|
161
169
|
|
162
170
|
end
|
163
171
|
|
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.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
TqGxWMRGelsOt2zNIFH+8d4Yz1dYsNbhK66Q8KRR2vHoT/9T3IJGBPHdsR6Kl6yB
|
32
32
|
e5SlxbsP/R/Leg==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2018-07-
|
34
|
+
date: 2018-07-28 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hashcache
|
@@ -59,20 +59,20 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0.
|
62
|
+
version: '0.7'
|
63
63
|
- - ">="
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version: 0.
|
65
|
+
version: 0.7.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.7'
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.7.0
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: rexle
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
Binary file
|