riddl 0.101.6 → 0.101.12

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: 95ac699f285362fb3002c4635b8ffdf28a92404631d217e0ae0d80bfc7a28b8c
4
- data.tar.gz: bf30ebb19e885a24d133fada81fe7f8c6bb52f7761b060af10372f934ebad8d8
3
+ metadata.gz: 109e837b2ce174314da92efbd082962a6e3fb73e7a165bf5067808986d220b41
4
+ data.tar.gz: c04560d8388c750139cc45e972e5fb8da06ffe04db6eee5d6416a0e776231712
5
5
  SHA512:
6
- metadata.gz: 02aa2d45d6f6191e9b0460e22fa4c555e6a85bd674276ac355b29ab052242fbc23675d273dd29a98cf54039bedaadc7d5ed0c7128fa7040ec73c729ed9fe96fc
7
- data.tar.gz: a3fb8861f04553eaacc6edf3dbc8438f0b5e0f821acebb43fc4f8fcb13732552ac2da374e9a3b917b5671bc4f8d6ed58c3983c6501be454206ffadd7a19aa4b3
6
+ metadata.gz: 99bad479ea3a0286e7a23987c2d7ba9c3dd7e539f6291754ff60e171192cda653e79010da8e8b4c6f6cc46f36dd145c6840617961d62964e94659e0c35e11068
7
+ data.tar.gz: 4386b196c4521963f2224b4cb95e94bc1b77a9b8388f33534e9805cca69b53d74dfa280322fae7e668d19e73511acb12f7bbefe33156ea1175ca9d0acac8d14f
@@ -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)
@@ -63,7 +63,8 @@ module Riddl
63
63
  RIDDL_DESCRIPTION_SHOW = "#{File.dirname(__FILE__)}/ns/common-patterns/riddl-description/show.xml"
64
64
  RIDDL_DESCRIPTION_RESOURCE_SHOW = "#{File.dirname(__FILE__)}/ns/common-patterns/riddl-description/resource-show.xml"
65
65
  COMMON = "datatypeLibrary=\"http://www.w3.org/2001/XMLSchema-datatypes\" xmlns=\"#{DESCRIPTION}\" xmlns:xi=\"http://www.w3.org/2001/XInclude\""
66
- CHECK = "<element name=\"check\" datatypeLibrary=\"http://www.w3.org/2001/XMLSchema-datatypes\" xmlns=\"http://relaxng.org/ns/structure/1.0\"><data/></element>"
66
+ CHECK_DATA = "<element name=\"check\" datatypeLibrary=\"http://www.w3.org/2001/XMLSchema-datatypes\" xmlns=\"http://relaxng.org/ns/structure/1.0\"><data/></element>"
67
+ CHECK_CHOICE = "<element name=\"check\" datatypeLibrary=\"http://www.w3.org/2001/XMLSchema-datatypes\" xmlns=\"http://relaxng.org/ns/structure/1.0\"></element>"
67
68
  #}}}
68
69
 
69
70
  def initialize(name,get_description=false)
@@ -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.6"
3
+ s.version = "0.101.12"
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.6
4
+ version: 0.101.12
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-08 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'