riddl 0.101.8 → 0.101.15

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: 31285a269fc4d180f673e30dc5bf6f5e511d8bf876e882a82383dc080714f166
4
- data.tar.gz: 21baab5c204a3cb19b9f7bb31b902cc7c49ea9204293347c3ae214f03cb4091a
3
+ metadata.gz: 821630b9957f4bfba0eb631bf1af0f484932ed3d8c9dfce3fe90d1a84973e9e3
4
+ data.tar.gz: 9fbb66268b33be4c08111afb5a2187df20abfbbb4a2d4f4d1d91dd269dc98387
5
5
  SHA512:
6
- metadata.gz: 53d6ef1b368bfc7d912d03afacb53eafda78dc453fd141eead30f44ce2ac3a90ea0826ca51c9446c6afb8f650bbccaef1a0f9e95f9b86f731602a1037b2c8be6
7
- data.tar.gz: 9d13b083954612db17b30d98e75df3fd5e4fa01ebef4c4c9630be3fa6a7e82c144bf34709a57cc7fba3ad46a3cfa932eb326206aa3128b50089048d4fb7d7905
6
+ metadata.gz: 70bcebed1e62640c4669230ffafb669c5c34da89fb7c7f7de49d5cfbb9a9a7188a8f4bb71940cc83f2dba210933814da5dbb096978e210037a61988a8446ba06
7
+ data.tar.gz: ccc71c4e59ed31317aa87eefa80ebd20d5874e179512128205b27239cbfd0984a828d88497741571f1dd2cf28cf0992d6be58b78f5d634ec6fa0e364d7583886
@@ -2,17 +2,22 @@ module Riddl
2
2
  module Handlers
3
3
  class RelaxNG < Riddl::Handlers::Implementation
4
4
  def self::handle(what,hinfo)
5
- w = if what.class == Riddl::Parameter::Tempfile || what.class == File
6
- XML::Smart.open_unprotected(what)
7
- else
8
- XML::Smart.string(what)
9
- end
10
- rng = XML::Smart.string("<payload>" + hinfo + "</payload>")
11
- rng.register_namespace 'r', 'http://relaxng.org/ns/structure/1.0'
12
- w.validate_against(rng.find("//r:grammar|//r:element").first.to_doc) rescue false
5
+ begin
6
+ w = if what.class == Riddl::Parameter::Tempfile || what.class == File
7
+ XML::Smart.open_unprotected(what)
8
+ else
9
+ XML::Smart.string(what)
10
+ end
11
+ rng = XML::Smart.string("<payload>" + hinfo + "</payload>")
12
+ rng.register_namespace 'r', 'http://relaxng.org/ns/structure/1.0'
13
+ w.validate_against(rng.find("//r:grammar|//r:element").first.to_doc) rescue false
14
+ rescue
15
+ puts 'The XML sent to the server is b0rked/>'
16
+ false
17
+ end
13
18
  end
14
19
  end
15
- end
16
- end
20
+ end
21
+ end
17
22
 
18
23
  Riddl::Handlers::add("http://riddl.org/ns/handlers/relaxng",Riddl::Handlers::RelaxNG)
@@ -134,6 +134,11 @@ module Riddl
134
134
  end
135
135
  end
136
136
 
137
+ if @riddl_opts[:parallel]
138
+ EM.defer do
139
+ @riddl_opts[:parallel].call
140
+ end
141
+ end
137
142
  end
138
143
 
139
144
  rescue => e
@@ -144,6 +149,10 @@ module Riddl
144
149
  end
145
150
  end #}}}
146
151
 
152
+ def parallel(&blk)
153
+ @riddl_opts[:parallel] = blk
154
+ end
155
+
147
156
  def call(env)# {{{
148
157
  dup.__http_call(env)
149
158
  end# }}}
@@ -469,7 +469,7 @@ module Riddl
469
469
  cpath = File.basename(child.path)
470
470
  subele = ele.find("p:" + cpath).first
471
471
  if subele
472
- subele.replace_by(child)
472
+ subele.replace_by_copy(child)
473
473
  else
474
474
  ele.add(child)
475
475
  end
@@ -201,8 +201,8 @@ module Riddl
201
201
  end
202
202
  a.children.each do |e|
203
203
  unless e.class == XML::Smart::Dom::Text
204
- e.namespaces.delete_all!
205
- e.find('.//*').each{ |x| x.namespaces.delete_all! }
204
+ e = e.to_doc.root
205
+ e.namespaces[nil] = 'http://relaxng.org/ns/structure/1.0'
206
206
  data.add e
207
207
  end
208
208
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "riddl"
3
- s.version = "0.101.8"
3
+ s.version = "0.101.15"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "restful interface description and declaration language: tools and client/server libs"
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
 
26
26
  s.add_runtime_dependency 'daemonite', '~>0.2'
27
27
  s.add_runtime_dependency 'typhoeus', '~>1.3'
28
- s.add_runtime_dependency 'xml-smart', '>=0.3.6', '~>0'
28
+ s.add_runtime_dependency 'xml-smart', '>=0.4.3', '~>0'
29
29
  s.add_runtime_dependency 'rdf-smart', '>=0.0.160', '~>0'
30
30
  s.add_runtime_dependency 'rack', '~>2.2'
31
31
  s.add_runtime_dependency 'thin', '~>1.6'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.101.8
4
+ version: 0.101.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen 'eTM' Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2020-06-03 00:00:00.000000000 Z
13
+ date: 2020-06-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: daemonite
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 0.3.6
49
+ version: 0.4.3
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
@@ -56,7 +56,7 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 0.3.6
59
+ version: 0.4.3
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'