rsf_services 0.9.4 → 0.9.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2cd819806f4a458659043fdc38a40a25c32f6f15a66cb1bfc01a87f5fe8c6497
4
- data.tar.gz: 19b7384f350e1f2ca9bfb09e74f191ec4a59b51f28e3753241bd506c831e1346
3
+ metadata.gz: 43feef11d6b29d948bffbd0b15dbb6ffc0824ccc300710c2c00a53cbcbddddd7
4
+ data.tar.gz: 960d006b9687bd9c11ef998750b83555b0a065f4348983c882b9ba41d5c9779b
5
5
  SHA512:
6
- metadata.gz: 64aedfc889982e3153ccc5a6871a1f14c4848bdcc6c130047a0f0cb5543acead72aa91d8fc7110f635c3ec0e19a3df4db93d3e2fc4ce8baa4e8b9121641e6518
7
- data.tar.gz: d31711894bd0ed72e6d0258346e85a5ce637d37182e58deef657ee629202a7d5205b51cdc6272b6a80020fec729b7e3f2f1e1e1d5819fbec0ba82011bddd3aa1
6
+ metadata.gz: 32c7760f8ddb53a3f81f54dba12dbe742502ab80de5d241391a7123474667d64f928a7751068f9ba63d195e4290429500ebf515e04a3f135a7d1874e9bc30a52
7
+ data.tar.gz: fb07b09dd1db29349bdf876528b9b143b4f0265c9c872607dc9db26a3002f2a28943ff28e9ea6860d12ae2d401694134a0eaf5407cb235aee827ea3213028b04
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/rsf_services.rb CHANGED
@@ -8,48 +8,48 @@ require 'dws-registry'
8
8
 
9
9
 
10
10
  class RSFServices < RScriptRW
11
-
11
+
12
12
  class PackageMethod
13
-
14
- def initialize(parent, type: :get)
13
+
14
+ def initialize(parent, type: :get)
15
15
  @parent = parent
16
16
  @parent.type = type
17
17
  end
18
-
18
+
19
19
  private
20
-
20
+
21
21
  def method_missing(method_name, *args)
22
22
  Package.new @parent, method_name.to_s
23
- end
24
-
25
- end
26
-
27
-
23
+ end
24
+
25
+ end
26
+
27
+
28
28
  class Package
29
-
29
+
30
30
  def initialize(obj, package, debug: false)
31
31
 
32
-
32
+
33
33
  puts 'inside Package#initialize' if debug
34
-
34
+
35
35
  @obj, @package, @debug = obj, package, debug
36
36
 
37
37
  @url = File.join(@obj.package_basepath, package + '.rsf')
38
-
38
+
39
39
  puts 'before Rexle' if @debug
40
40
  puts '@url: ' + @url.inspect if @debug
41
-
41
+
42
42
  s, _ = RXFHelper.read(@url)
43
43
  puts 's: ' + s.inspect if @debug
44
-
44
+
45
45
  doc = Rexle.new s
46
46
  puts 'before xpath' if @debug
47
-
47
+
48
48
  a = doc.root.xpath 'job/attribute::id'
49
-
49
+
50
50
  a.each do |attr|
51
-
52
- method_name = attr.value.gsub('-','_')
51
+
52
+ method_name = attr.value.gsub('-','_')
53
53
 
54
54
  define_singleton_method method_name.to_sym do |*args|
55
55
  run_job method_name, args
@@ -60,39 +60,39 @@ class RSFServices < RScriptRW
60
60
  end
61
61
 
62
62
  private
63
-
63
+
64
64
  def run_job(method_name, *args)
65
-
65
+
66
66
  puts 'inside Package::run_job: args: ' + args.inspect if @debug
67
-
67
+
68
68
  args.flatten!(1)
69
69
  params = args.find {|x| x.is_a? Hash} ? args.pop : {}
70
70
  a = ['//job:' + method_name, @url, args].flatten(1)
71
-
71
+
72
72
  if @debug then
73
73
  puts 'a: ' + a.inspect
74
74
  puts 'params: ' + params.inspect
75
75
  end
76
-
76
+
77
77
  @obj.run a, params
78
78
  end
79
-
80
79
 
81
- end
80
+
81
+ end
82
82
 
83
83
  attr_reader :services, :package_basepath, :registry
84
84
 
85
- def initialize(reg=nil, package_basepath: '', log: nil, debug: false,
85
+ def initialize(reg=nil, package_basepath: '', log: nil, debug: false,
86
86
  app_rsf: nil)
87
-
87
+
88
88
  @log, @debug = log, debug
89
-
89
+
90
90
  puts 'inside RSF_services' if @debug
91
91
 
92
92
  super(log: log, debug: debug)
93
93
 
94
94
  @package_basepath, @services = package_basepath, {}
95
-
95
+
96
96
  @initialized = {}
97
97
 
98
98
  if reg then
@@ -102,62 +102,63 @@ class RSFServices < RScriptRW
102
102
  else
103
103
  reg
104
104
  end
105
-
105
+
106
106
  # load the system/startup RSF jobs
107
107
 
108
108
  startup = reg.get_key('system/startup')
109
-
109
+
110
110
  jobs = startup.xpath('*[load="1"]').inject({}) do |r, job|
111
111
  settings = reg.get_keys("system/packages/#{job.name}/*")\
112
112
  .inject({}){|r,x| r.merge(x.name.to_sym => x.text) }
113
113
  r.merge(job.name => settings)
114
114
  end
115
-
116
- jobs.each do |package, settings|
117
- r = run_job(package.to_s, 'load', settings,
115
+
116
+ jobs.each do |package, settings|
117
+ r = run_job(package.to_s, 'load', settings,
118
118
  package_path: settings[:url])
119
119
  end
120
120
  end
121
-
121
+
122
122
  @app = AppMgr.new(rsf: app_rsf, reg: reg, rsc: self) if app_rsf
123
123
 
124
124
  end
125
-
126
-
125
+
126
+
127
127
  def delete()
128
128
  PackageMethod.new self, type: :delete
129
- end
130
-
129
+ end
130
+
131
131
  def get()
132
132
  PackageMethod.new self
133
- end
134
-
133
+ end
134
+
135
135
  def put()
136
136
  PackageMethod.new self, type: :put
137
- end
138
-
137
+ end
138
+
139
139
  def post()
140
140
  PackageMethod.new self, type: :post
141
141
  end
142
142
 
143
143
  def run_job(package, jobs, params={}, *qargs)
144
-
144
+
145
145
  puts 'inside run_job' #if @debug
146
146
 
147
147
  package_path = "%s/%s.rsf" % [@package_basepath, package]
148
-
148
+
149
149
  if @log or @debug then
150
- msg = 'RSFServices/run job: ' +
150
+ msg = 'RSFServices/run job: ' +
151
151
  ("package: %s jobs: %s params: %s qargs: %s " + \
152
152
  " package_path: %s" % [package, jobs, params, qargs, package_path])
153
153
  @log.info msg if @log
154
154
  puts msg if @debug
155
155
  end
156
-
157
- yield(params) if block_given?
158
-
156
+
157
+ yield(params) if block_given?
158
+
159
159
  a = [package_path, jobs.split(/\s/).map{|x| "//job:%s" % x} ,qargs].flatten(2)
160
-
160
+ @log.info 'RSFServices/run job: a: ' + a.inspect if @log
161
+
161
162
  puts 'a: ' + a.inspect if @debug
162
163
 
163
164
  c, args, _ = read(a)
@@ -165,53 +166,53 @@ class RSFServices < RScriptRW
165
166
  rws, reg, app = self, @registry, @app
166
167
 
167
168
  begin
168
-
169
+
169
170
  @log.info 'RSFServices/run job: code: ' + c if @log and c.is_a? String
170
171
 
171
- # if there is a job id called *initialize* then execute if it hasn't
172
+ # if there is a job id called *initialize* then execute if it hasn't
172
173
  # already been executed
173
174
 
174
- if self.jobs(package_path).include? :initialize and
175
+ if self.jobs(package_path).include? :initialize and
175
176
  !@initialized[package_path] and jobs != 'initialize' then
176
177
  run_job(package, 'initialize')
177
178
  @initialized[package_path] = true
178
179
  end
179
180
 
180
- r = eval c
181
+ r = instance_eval c
181
182
  puts 'r: ' + r.inspect if @debug
182
183
  #thread = Thread.new {Thread.current[:v] = eval c}
183
184
  #thread.join
184
- #r = thread[:v]
185
-
185
+ #r = thread[:v]
186
+
186
187
  @log.info 'RSFServices/run job: result: ' + r if @log and r.is_a? String
187
-
188
+
188
189
  return r
189
190
 
190
- rescue Exception => e
191
-
191
+ rescue Exception => e
192
+
192
193
  params = {}
193
- err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
194
+ err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
194
195
  @log.debug 'RSFServices/run_job/error: ' + err_label if @log
195
196
 
196
197
  end
197
-
198
+
198
199
  end
199
-
200
+
200
201
  def package_methods(package)
201
-
202
- url = File.join(@package_basepath, package + '.rsf')
203
- doc = Rexle.new open(url, 'UserAgent' => 'ClientRscript').read
202
+
203
+ url = File.join(@package_basepath, package + '.rsf')
204
+ doc = Rexle.new URI.open(url, 'UserAgent' => 'ClientRscript').read
204
205
  doc.root.xpath('job/attribute::id').map {|x| x.value.to_s.gsub('-','_') }
205
206
 
206
207
  end
207
-
208
+
208
209
  private
209
-
210
+
210
211
  def method_missing(method_name, *args)
211
-
212
+
212
213
  puts 'inside method_missing' if @debug
213
214
  self.type = :get
214
215
  Package.new self, method_name.to_s, debug: @debug
215
- end
216
-
216
+ end
217
+
217
218
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsf_services
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -11,31 +11,31 @@ cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwNjI4MTAzODExWhcN
15
- MjEwNjI4MTAzODExWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDihlal
17
- S7Ayw88OOfbgDNcfYFIBkwJsw1K7lnTkQ33d3CjfHjkHpwue+BPZrqNDDkzkq72C
18
- GH24K4vhz9xeQ+sc+eAiSk0iARvNxFUXe/4JpZmo1A9u3fLCNbA7bL2IQIQqyBWY
19
- /KgltVLGWau1X4rxuIS00TXrpUeG5pUeol/kUeDhmS8XmdU4rTbB62cz5RH/J2Zb
20
- cDMx8jiap1BqyxU0qcJLoe0yJzwCNqrX3UmakhaFjv+5IHH0z+GP3evQ1Z/toY+G
21
- MYrAFJ3cGjnk0s712KOa4W+tIW+q5FKjEwY5cGE/mbPh6cjZ+BYuYeSVqDrCY98d
22
- a0I7JVRG6V/h+K8++OlSQ8dT4V0Yl7S6Nj21Yd9hmS/BXKbkq81J2zEF3mxHJZN7
23
- AMKJE8m7jz+TLFX1f7+wIUrslfIJXqwXbThIGAqhFUb8+Ec0AuKs2F4lYNyS+TJP
24
- 8AjcZKx4u5J5q0bTSPCuS/inCrs3HoSvGPnhyJLUSHVlDr3vi3llx+AZW6kCAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUWpAdER9r
26
- XGcB19WXnvY8bjqVIFIwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjExMTE4MTEyMDIxWhcN
15
+ MjIxMTE4MTEyMDIxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDK496w
17
+ 8Wo4lOqJB1ND/vi4gyws3E8jHUqWt1YyV2YHL/+P2UUiili7z4qohHstpgBUUQtY
18
+ ve6g602bAmxayqqRYUTugyi/R6LRL5GSiKBFpfxWj5tUJh41frNoVjZk6AKoti4K
19
+ gU0ZdMhcz56zaDNQM/QDH8vaMrbs/+AcsTVKeZ+Sw930NI2QPuzyF3vgp1lGAqY8
20
+ j8BmT9mWzyXjjsrGV1hfzFYwoObk9SE6clyF5K6CrCsoqVzhwOhGvJShOr0kQWUo
21
+ x0MalRtTvMnUrtjveFmQTJhEGNjIkPiYsiSP+50otwlRqvUbY2NRkL9bq/YPQj9s
22
+ clxIRLdok0XE6Z6C83yHKbhSFp0WfygOM2oGFiVM1Fsaok6XKimTNj8Q5koS523a
23
+ pega/q9X9tHyPzeAMGTKymJteEcR7qdDYrXxOcHWVna68btSL5gaIlWCQPvyLZ+P
24
+ f7UVDsRCQttoB+arcmEy4JmiwHnG/6tWs+bfyhPf86uEErNBm24IkEgPLnMCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUT1Vuql+w
26
+ 8qUbu0Amwqd3msON9YswJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
27
  c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAqfwg7zu3Btv6tGegDZ8tLTHf4WsswPXoOgh4iKyh
29
- cFndGfA5c2cZEc9eTv9duBvTzmp4+uKhhCM4jkzBeRdrN+l9vnV4NZ2OjWiA9M3c
30
- PpYG3LR4PaM9syzMLATGWctofw6EhsT7NbdSMBJ9nAuJbcFYXshWIJr11CgrSekM
31
- 66idwveobI9GeVzWHWI9KmnM6r7Th2dK4lS5y42y4pACzRSTacBVF2lylu2/X8oS
32
- nzHN7yMdXRhdvboDI3Etq10pLs+e7cmB/6MkWV9Ba6kOMbJeeXokdjo6A03w/CXW
33
- kSCp6ydjpEAtQhXpTOOWQfMXwafnNXvcVyh5mtQvSluCdVy0Qf5dHZuMaF+iIdtM
34
- mS6T6oPPYAVaC+9DHMD5+hJRIo/U5sb+ZUQaHaME8XNCuHGxPbL2WmZr92iKZVCu
35
- MxhWn7Vf3TxD/7nwBz7wR+H2ONNwWRWmRA7g+Os9YvLEB6LNsJfo+Tyer6bVsSBz
36
- EOn2RvkdKH17/N7rqiDFRtI2
28
+ BgkqhkiG9w0BAQsFAAOCAYEAUQLpouWyYhkD5a18Z7qbypaOD3nnc4YXMdUdB9Qy
29
+ 01NARPgklfbwJKImoq2VMT96JbBZX9nOdC2MAjo+0cK9duApEA6Sm+0n71Fub5Xn
30
+ 9K43tJLAe3DPsW5CY4b/e1nxEiSQYntRF6tSQvjjpEHdSNyPYsvt7dN9ZwjaMo8U
31
+ 8DeKxPlN+7fHcGZP3p4oYlRg0bRGwueO7aX8BYGzuOYrsmoq3swsE2/rz6zlC0DX
32
+ QyaSxFtZFOYYc4GrcixS2kX5i54MYZNpiRYMVJT3/ICbyIwtorKezJxkO7vKQiQj
33
+ OosD65e1Gn1rhQW6mAcblsvvMHvdfFA/uTvD77A8MgCYQa5llIZEx0Bd7ExPDPZn
34
+ e86Mje12aZQAyilVfeqbv5u3EZlw6kLbigLmw7BlUk7Zi2X84+iz7W8EdU3GSv8a
35
+ y347QSdvzPRHMpmi1wAJh+koAo4s8Noi64GU5+4xUDRUh02AV/sXFxRdJne2WDW0
36
+ 4wvjYJ8JEXo2AHNQSXG3FQmn
37
37
  -----END CERTIFICATE-----
38
- date: 2020-07-01 00:00:00.000000000 Z
38
+ date: 2021-11-18 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: dws-registry
@@ -78,7 +78,7 @@ dependencies:
78
78
  - !ruby/object:Gem::Version
79
79
  version: 0.3.1
80
80
  description:
81
- email: james@jamesrobertson.eu
81
+ email: digital.robertson@gmail.com
82
82
  executables: []
83
83
  extensions: []
84
84
  extra_rdoc_files: []
@@ -103,7 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
- rubygems_version: 3.0.3
106
+ rubyforge_project:
107
+ rubygems_version: 2.7.10
107
108
  signing_key:
108
109
  specification_version: 4
109
110
  summary: Runs within a DRb server to run RSF jobs, as well as other services.
metadata.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- p�`/�s3r��9K'�f�M�ϣ.U#��P��`�w����UĀ\;���Em��dp��
2
- o��>�L{��M��״�݄�O���V)j���'����nx@����{��!��
1
+ !��C2rR�Cdݫ���F��q; ���S6R���خ��\Hb�8������I�<�����݊����f�QM;�+���������ʏ맙{F��3�׈��O:Z����5�osM�P{2~�_�RJNMu�Om�g�}�MC<��$�k�,�� ���nw9�s[
2
+ h ��5�B���<��&�B�����*�� �o�,��c9G1��(���y�ò)��-���0y_Ւ %��Lݴ��7X-7����RPg�9��Z�?��xa�