riddl 0.101.7 → 0.101.14

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