rsf_services 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
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�