riddl 0.101.7 → 0.101.14

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: 5d83aea0a8b18bb1bb5c91bc6df974cd87b857223a993d78be13ac24c08e72af
4
- data.tar.gz: e465d44d7bf33ca6a67513aee86e4169057cd02be233b2949a2b0458f5dde0df
3
+ metadata.gz: 538f2fef1e82ea03b4b6902f9b3c944bfecb1325983f23595f19ef517533508b
4
+ data.tar.gz: dc72c26cc82dff1c2b28783bfe63ab23f96ac12d5b88c49bb37c84da8e1bddeb
5
5
  SHA512:
6
- metadata.gz: d69bc13c09deadae2faf3802d96334191206d0e184e2f64c8fcac83054edbb050dd6ef2f59c95da69f1138309b5f946ae81ae817c540008d10b666d2e7dd10ea
7
- data.tar.gz: 650985b7d38d7f3aa722273956c09194f1275581d07b855cb12589cef205da6d19405ec4f9bdd4afbfe566fc88b8471fd7cfebce465e4765720954241516d257
6
+ metadata.gz: 8bfaa4ab3c4ccb92b434b415a080c0c992180aa09b0d7d9b957add325a9b10b925924be2237b3dead8516a0fdb1639a6919657e32eac224f21f227f0aad6d2de
7
+ data.tar.gz: '0588e97d620d7ab2e080a40a86c8df65f75efc966952d851c338580018dbcc5d7e7c34118993abc5b96576b970d75fd3015cd11674acbe365cd426002714ad45'
@@ -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)
@@ -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
@@ -195,14 +195,14 @@ module Riddl
195
195
  type = XML::Smart::string(CHECK_CHOICE)
196
196
  data = type.root
197
197
  else
198
- type = XML::Smart::string(CHECK)
198
+ type = XML::Smart::string(CHECK_DATA)
199
199
  data = type.root.children[0]
200
200
  data.attributes['type'] = a.attributes['type']
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.7"
3
+ s.version = "0.101.14"
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.7
4
+ version: 0.101.14
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-05-22 00:00:00.000000000 Z
13
+ date: 2020-06-25 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'