rack_dwsregistry 0.2.3 → 0.3.0

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
  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