rack_dwsregistry 0.2.3 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 10b94d01047396225f398735cae8d0fd8966589f
4
- data.tar.gz: e71c151b3fc90386bcdd1c339532d6d747acf632
3
+ metadata.gz: fcc209a2c3d895602832ecde46dce63ccc85d0a2
4
+ data.tar.gz: 4ea0622c84423e2ac1ff486d88ba5dfa2482ec96
5
5
  SHA512:
6
- metadata.gz: be5c0d287ba87cd179c40897ea4f0b62d2b175d3cf101d831a1fac2bb21a9766869f42c912d8a11aabbe60cb15e09e1326cc9a9b22b1d6a5f7b36079602b43c3
7
- data.tar.gz: 367af7b964dfaded168fcd23fda7a60f5d8d6338774db778e2a02de14d79a9b2bc0723492a80b9ff333d5755c619244b0ac8d23bb96221fa28add0305c201a9e
6
+ metadata.gz: c2a4d5ef615b73a0ca098b9f80ef0a2b5f74ca81556e4b2aa00010fb1d7240665021b8f640e6eef6e7067459c7b79c9dcc6edcb95769f40972eb189b9a6d9f2a
7
+ data.tar.gz: cd35b3797bd93a0db3959cba8291a5afe847bbf4f4244d9062836d14e6a757c719c32027ce20efbffbff443bb2403c87eadf81133b602ea1bf7a47bb26f5b8a3
checksums.yaml.gz.sig CHANGED
Binary file
@@ -3,21 +3,23 @@
3
3
  # file: rack_dwsregistry.rb
4
4
 
5
5
 
6
+ require 'drb'
6
7
  require 'json'
8
+ require 'rexle'
7
9
  require 'app-routes'
8
- require 'dws-registry'
9
10
 
10
11
 
11
12
  class RackDwsRegistry
12
13
  include AppRoutes
13
14
 
14
15
 
15
- def initialize(filename='registry.xml')
16
-
16
+ def initialize(host: 'localhost', port: '59500')
17
+
17
18
  super() # required for app-routes initialize method to exectue
18
- @filename = filename
19
- load_reg()
19
+ DRb.start_service
20
20
 
21
+ # attach to the DRb server via a URI given on the command line
22
+ @reg = DRbObject.new nil, "druby://#{host}:#{port}"
21
23
  end
22
24
 
23
25
  def call(env)
@@ -57,13 +59,11 @@ class RackDwsRegistry
57
59
 
58
60
  xpath = params['xpath']
59
61
 
60
- recordset = @reg.xpath(xpath)
62
+ r = @reg.xpath(xpath)
61
63
 
62
- if recordset then
63
- [recordset.to_doc(root: 'recordset').root.xml, 'application/xml']
64
- else
65
- [{xpath: 'empty'}.to_json, 'application/json']
66
- end
64
+ return [{xpath: 'empty'}.to_json, 'application/json'] if r.empty?
65
+
66
+ [r, 'application/xml']
67
67
 
68
68
  end
69
69
 
@@ -94,8 +94,7 @@ class RackDwsRegistry
94
94
  #
95
95
  get /^\/(.*)\?action=delete_key$/ do |key|
96
96
 
97
- r = @reg.delete_key(key)
98
- msg = r ? 'key deleted' : 'key not found'
97
+ msg = @reg.delete_key(key)
99
98
  [{delete_key: msg}.to_json, 'application/json']
100
99
 
101
100
  end
@@ -103,13 +102,18 @@ class RackDwsRegistry
103
102
  # get_keys
104
103
  #
105
104
  get /^\/(.*)\?action=get_keys$/ do |key|
106
-
107
- recordset = @reg.get_keys(key)
108
105
 
109
- if recordset then
110
- [recordset.to_doc(root: 'recordset').root.xml, 'application/xml']
111
- else
112
- [{get_keys: 'empty'}.to_json, 'application/json']
106
+ begin
107
+
108
+ r = @reg.get_keys(key)
109
+ return [{get_keys: 'empty'}.to_json, 'application/json'] unless r
110
+
111
+ [r, 'application/xml']
112
+
113
+ rescue
114
+
115
+ return [{get_keys: 'key not found'}.to_json, 'application/json'] unless r
116
+
113
117
  end
114
118
 
115
119
  end
@@ -135,19 +139,24 @@ class RackDwsRegistry
135
139
 
136
140
  private
137
141
 
138
- def load_reg()
139
- @reg = DWSRegistry.new(@filename)
140
- end
141
142
 
142
- alias refresh load_reg
143
+ def refresh()
144
+ @reg.refresh
145
+ end
143
146
 
144
147
  def reg_get(key)
145
148
 
146
149
  begin
147
- e = @reg.get_key(key)
148
- [e.xml, 'application/xml']
150
+
151
+ r = @reg.get_key(key)
152
+ return [{get_key: 'key not found'}.to_json, 'application/json'] if r.empty?
153
+
154
+ [r, 'application/xml']
155
+
149
156
  rescue
150
- [{get_key: 'key not found'}.to_json, 'application/json']
157
+
158
+ return [{get_key: 'key not found'}.to_json, 'application/json']
159
+
151
160
  end
152
161
 
153
162
  end
@@ -156,15 +165,10 @@ class RackDwsRegistry
156
165
 
157
166
  val = params['v']
158
167
 
159
- begin
160
- e = @reg.set_key(key, val)
161
- rescue
162
- [{set_key: ($!)}.to_json, 'application/json']
163
- end
164
-
165
- [e.xml, 'application/xml']
166
- #{key: key, val: val}.inspect
168
+ r, status = @reg.set_key(key, val)
169
+ return [{set_key: (status)}.to_json, 'application/json'] unless r
167
170
 
171
+ [r, 'application/xml']
168
172
 
169
173
  end
170
174
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack_dwsregistry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  9vQ5imvzK3l3JOAiHt6LLu2qJG5lTlmz1ku//St+TtMJDGc6ODmuEUkDv0pK9lSV
32
32
  /uKXP19xM99uGQ==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-06-30 00:00:00.000000000 Z
34
+ date: 2017-01-02 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rack
@@ -39,20 +39,20 @@ dependencies:
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '1.6'
42
+ version: '2.0'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.6.4
45
+ version: 2.0.1
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '1.6'
52
+ version: '2.0'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.6.4
55
+ version: 2.0.1
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: app-routes
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -74,25 +74,25 @@ dependencies:
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.1.18
76
76
  - !ruby/object:Gem::Dependency
77
- name: dws-registry
77
+ name: rexle
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.3'
82
+ version: '1.4'
83
83
  - - ">="
84
84
  - !ruby/object:Gem::Version
85
- version: 0.3.3
85
+ version: 1.4.3
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: '0.3'
92
+ version: '1.4'
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 0.3.3
95
+ version: 1.4.3
96
96
  description:
97
97
  email: james@r0bertson.co.uk
98
98
  executables: []
@@ -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.5.1
123
+ rubygems_version: 2.6.8
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Provides dws-registry gem functionality from behind a Rack webserver.
metadata.gz.sig CHANGED
Binary file