nori 2.7.0 → 2.8.0
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 +4 -4
- data/CHANGELOG.md +51 -12
- data/README.md +77 -1
- data/lib/nori/core_ext/hash.rb +1 -1
- data/lib/nori/core_ext.rb +1 -1
- data/lib/nori/parser/nokogiri.rb +53 -6
- data/lib/nori/parser/rexml.rb +31 -2
- data/lib/nori/string_io_file.rb +2 -0
- data/lib/nori/string_utils.rb +18 -0
- data/lib/nori/version.rb +1 -1
- data/lib/nori/xml_utility_node.rb +89 -51
- data/lib/nori.rb +21 -1
- metadata +20 -24
- data/.devcontainer/devcontainer.json +0 -19
- data/.github/dependabot.yml +0 -12
- data/.github/workflows/test.yml +0 -26
- data/.gitignore +0 -8
- data/.rspec +0 -1
- data/Gemfile +0 -6
- data/Rakefile +0 -12
- data/benchmark/benchmark.rb +0 -19
- data/benchmark/soap_response.xml +0 -266
- data/lib/nori/core_ext/string.rb +0 -21
- data/nori.gemspec +0 -29
- data/spec/nori/api_spec.rb +0 -177
- data/spec/nori/core_ext/hash_spec.rb +0 -30
- data/spec/nori/core_ext/string_spec.rb +0 -33
- data/spec/nori/nori_spec.rb +0 -650
- data/spec/spec_helper.rb +0 -2
metadata
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nori
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Harrington
|
|
8
8
|
- John Nunemaker
|
|
9
9
|
- Wynn Netherland
|
|
10
|
-
autorequire:
|
|
11
10
|
bindir: bin
|
|
12
11
|
cert_chain: []
|
|
13
|
-
date:
|
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
14
13
|
dependencies:
|
|
15
14
|
- !ruby/object:Gem::Dependency
|
|
16
15
|
name: bigdecimal
|
|
@@ -26,20 +25,34 @@ dependencies:
|
|
|
26
25
|
- - ">="
|
|
27
26
|
- !ruby/object:Gem::Version
|
|
28
27
|
version: '0'
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: stringio
|
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - ">="
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: '0'
|
|
35
|
+
type: :runtime
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - ">="
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '0'
|
|
29
42
|
- !ruby/object:Gem::Dependency
|
|
30
43
|
name: rake
|
|
31
44
|
requirement: !ruby/object:Gem::Requirement
|
|
32
45
|
requirements:
|
|
33
46
|
- - "~>"
|
|
34
47
|
- !ruby/object:Gem::Version
|
|
35
|
-
version:
|
|
48
|
+
version: '13.3'
|
|
36
49
|
type: :development
|
|
37
50
|
prerelease: false
|
|
38
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
39
52
|
requirements:
|
|
40
53
|
- - "~>"
|
|
41
54
|
- !ruby/object:Gem::Version
|
|
42
|
-
version:
|
|
55
|
+
version: '13.3'
|
|
43
56
|
- !ruby/object:Gem::Dependency
|
|
44
57
|
name: nokogiri
|
|
45
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -74,40 +87,24 @@ executables: []
|
|
|
74
87
|
extensions: []
|
|
75
88
|
extra_rdoc_files: []
|
|
76
89
|
files:
|
|
77
|
-
- ".devcontainer/devcontainer.json"
|
|
78
|
-
- ".github/dependabot.yml"
|
|
79
|
-
- ".github/workflows/test.yml"
|
|
80
|
-
- ".gitignore"
|
|
81
|
-
- ".rspec"
|
|
82
90
|
- CHANGELOG.md
|
|
83
|
-
- Gemfile
|
|
84
91
|
- LICENSE
|
|
85
92
|
- README.md
|
|
86
|
-
- Rakefile
|
|
87
|
-
- benchmark/benchmark.rb
|
|
88
|
-
- benchmark/soap_response.xml
|
|
89
93
|
- lib/nori.rb
|
|
90
94
|
- lib/nori/core_ext.rb
|
|
91
95
|
- lib/nori/core_ext/hash.rb
|
|
92
|
-
- lib/nori/core_ext/string.rb
|
|
93
96
|
- lib/nori/parser/nokogiri.rb
|
|
94
97
|
- lib/nori/parser/rexml.rb
|
|
95
98
|
- lib/nori/string_io_file.rb
|
|
99
|
+
- lib/nori/string_utils.rb
|
|
96
100
|
- lib/nori/string_with_attributes.rb
|
|
97
101
|
- lib/nori/version.rb
|
|
98
102
|
- lib/nori/xml_utility_node.rb
|
|
99
|
-
- nori.gemspec
|
|
100
|
-
- spec/nori/api_spec.rb
|
|
101
|
-
- spec/nori/core_ext/hash_spec.rb
|
|
102
|
-
- spec/nori/core_ext/string_spec.rb
|
|
103
|
-
- spec/nori/nori_spec.rb
|
|
104
|
-
- spec/spec_helper.rb
|
|
105
103
|
homepage: https://github.com/savonrb/nori
|
|
106
104
|
licenses:
|
|
107
105
|
- MIT
|
|
108
106
|
metadata:
|
|
109
107
|
rubygems_mfa_required: 'true'
|
|
110
|
-
post_install_message:
|
|
111
108
|
rdoc_options: []
|
|
112
109
|
require_paths:
|
|
113
110
|
- lib
|
|
@@ -122,8 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
122
119
|
- !ruby/object:Gem::Version
|
|
123
120
|
version: '0'
|
|
124
121
|
requirements: []
|
|
125
|
-
rubygems_version: 3.
|
|
126
|
-
signing_key:
|
|
122
|
+
rubygems_version: 3.6.9
|
|
127
123
|
specification_version: 4
|
|
128
124
|
summary: XML to Hash translator
|
|
129
125
|
test_files: []
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
|
2
|
-
// README at: https://github.com/devcontainers/templates/tree/main/src/ruby
|
|
3
|
-
{
|
|
4
|
-
"name": "Ruby",
|
|
5
|
-
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
|
|
6
|
-
"image": "mcr.microsoft.com/devcontainers/ruby:0-3-bullseye"
|
|
7
|
-
|
|
8
|
-
// Features to add to the dev container. More info: https://containers.dev/features.
|
|
9
|
-
// "features": {},
|
|
10
|
-
|
|
11
|
-
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
12
|
-
// "forwardPorts": [],
|
|
13
|
-
|
|
14
|
-
// Configure tool-specific properties.
|
|
15
|
-
// "customizations": {},
|
|
16
|
-
|
|
17
|
-
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
|
18
|
-
// "remoteUser": "root"
|
|
19
|
-
}
|
data/.github/dependabot.yml
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
-
# package ecosystems to update and where the package manifests are located.
|
|
3
|
-
# Please see the documentation for more information:
|
|
4
|
-
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
-
# https://containers.dev/guide/dependabot
|
|
6
|
-
|
|
7
|
-
version: 2
|
|
8
|
-
updates:
|
|
9
|
-
- package-ecosystem: "devcontainers"
|
|
10
|
-
directory: "/"
|
|
11
|
-
schedule:
|
|
12
|
-
interval: weekly
|
data/.github/workflows/test.yml
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on: [push, pull_request]
|
|
4
|
-
|
|
5
|
-
jobs:
|
|
6
|
-
build:
|
|
7
|
-
runs-on: ubuntu-latest
|
|
8
|
-
|
|
9
|
-
strategy:
|
|
10
|
-
matrix:
|
|
11
|
-
ruby-version:
|
|
12
|
-
- '3.0'
|
|
13
|
-
- '3.1'
|
|
14
|
-
- '3.2'
|
|
15
|
-
- '3.3'
|
|
16
|
-
- 'head'
|
|
17
|
-
- jruby-9.4.5.0
|
|
18
|
-
steps:
|
|
19
|
-
- uses: actions/checkout@v4
|
|
20
|
-
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
21
|
-
uses: ruby/setup-ruby@v1
|
|
22
|
-
with:
|
|
23
|
-
ruby-version: ${{ matrix.ruby-version }}
|
|
24
|
-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
25
|
-
- name: Run tests
|
|
26
|
-
run: bundle exec rake
|
data/.gitignore
DELETED
data/.rspec
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
--colour
|
data/Gemfile
DELETED
data/Rakefile
DELETED
data/benchmark/benchmark.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
$:.push File.expand_path("../../lib", __FILE__)
|
|
2
|
-
require "nori"
|
|
3
|
-
|
|
4
|
-
require "benchmark"
|
|
5
|
-
|
|
6
|
-
Benchmark.bm 30 do |x|
|
|
7
|
-
|
|
8
|
-
num = 500
|
|
9
|
-
xml = File.read File.expand_path("../soap_response.xml", __FILE__)
|
|
10
|
-
|
|
11
|
-
x.report "rexml parser" do
|
|
12
|
-
num.times { Nori.new(parser: :rexml).parse xml }
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
x.report "nokogiri parser" do
|
|
16
|
-
num.times { Nori.new(parser: :nokogiri).parse xml }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
data/benchmark/soap_response.xml
DELETED
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
3
|
-
<soap:Body>
|
|
4
|
-
<GetICB_9_2_4_DestInfoWithDestIdResponse xmlns="http://airline.com/">
|
|
5
|
-
<GetICB_9_2_4_DestInfoWithDestIdResult>
|
|
6
|
-
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
7
|
-
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="CL_9_2_4_DestInfo" msdata:UseCurrentLocale="true">
|
|
8
|
-
<xs:complexType>
|
|
9
|
-
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
10
|
-
<xs:element name="CL_9_2_4_DestInfo">
|
|
11
|
-
<xs:complexType>
|
|
12
|
-
<xs:sequence>
|
|
13
|
-
<xs:element name="DESTINATION" minOccurs="0">
|
|
14
|
-
<xs:simpleType>
|
|
15
|
-
<xs:restriction base="xs:string">
|
|
16
|
-
<xs:maxLength value="64" />
|
|
17
|
-
</xs:restriction>
|
|
18
|
-
</xs:simpleType>
|
|
19
|
-
</xs:element>
|
|
20
|
-
<xs:element name="COUNTRY" minOccurs="0">
|
|
21
|
-
<xs:simpleType>
|
|
22
|
-
<xs:restriction base="xs:string">
|
|
23
|
-
<xs:maxLength value="50" />
|
|
24
|
-
</xs:restriction>
|
|
25
|
-
</xs:simpleType>
|
|
26
|
-
</xs:element>
|
|
27
|
-
<xs:element name="AIRPORTNAME" minOccurs="0">
|
|
28
|
-
<xs:simpleType>
|
|
29
|
-
<xs:restriction base="xs:string">
|
|
30
|
-
<xs:maxLength value="70" />
|
|
31
|
-
</xs:restriction>
|
|
32
|
-
</xs:simpleType>
|
|
33
|
-
</xs:element>
|
|
34
|
-
<xs:element name="DISTANCE_APT_CTY" minOccurs="0">
|
|
35
|
-
<xs:simpleType>
|
|
36
|
-
<xs:restriction base="xs:string">
|
|
37
|
-
<xs:maxLength value="50" />
|
|
38
|
-
</xs:restriction>
|
|
39
|
-
</xs:simpleType>
|
|
40
|
-
</xs:element>
|
|
41
|
-
<xs:element name="TRANSPORT_APT_CTY" minOccurs="0">
|
|
42
|
-
<xs:simpleType>
|
|
43
|
-
<xs:restriction base="xs:string">
|
|
44
|
-
<xs:maxLength value="50" />
|
|
45
|
-
</xs:restriction>
|
|
46
|
-
</xs:simpleType>
|
|
47
|
-
</xs:element>
|
|
48
|
-
<xs:element name="REVCABIN" minOccurs="0">
|
|
49
|
-
<xs:simpleType>
|
|
50
|
-
<xs:restriction base="xs:string">
|
|
51
|
-
<xs:maxLength value="50" />
|
|
52
|
-
</xs:restriction>
|
|
53
|
-
</xs:simpleType>
|
|
54
|
-
</xs:element>
|
|
55
|
-
<xs:element name="REVCOCKPIT" minOccurs="0">
|
|
56
|
-
<xs:simpleType>
|
|
57
|
-
<xs:restriction base="xs:string">
|
|
58
|
-
<xs:maxLength value="50" />
|
|
59
|
-
</xs:restriction>
|
|
60
|
-
</xs:simpleType>
|
|
61
|
-
</xs:element>
|
|
62
|
-
<xs:element name="GROUPTEXT" minOccurs="0">
|
|
63
|
-
<xs:simpleType>
|
|
64
|
-
<xs:restriction base="xs:string">
|
|
65
|
-
<xs:maxLength value="50" />
|
|
66
|
-
</xs:restriction>
|
|
67
|
-
</xs:simpleType>
|
|
68
|
-
</xs:element>
|
|
69
|
-
<xs:element name="SORT" type="xs:decimal" minOccurs="0" />
|
|
70
|
-
<xs:element name="HEADING" minOccurs="0">
|
|
71
|
-
<xs:simpleType>
|
|
72
|
-
<xs:restriction base="xs:string">
|
|
73
|
-
<xs:maxLength value="30" />
|
|
74
|
-
</xs:restriction>
|
|
75
|
-
</xs:simpleType>
|
|
76
|
-
</xs:element>
|
|
77
|
-
<xs:element name="VISIBLE" type="xs:decimal" minOccurs="0" />
|
|
78
|
-
<xs:element name="SORT1" type="xs:decimal" minOccurs="0" />
|
|
79
|
-
<xs:element name="ITEMSORT" type="xs:decimal" minOccurs="0" />
|
|
80
|
-
<xs:element name="AUSWAHLTEXT" minOccurs="0">
|
|
81
|
-
<xs:simpleType>
|
|
82
|
-
<xs:restriction base="xs:string">
|
|
83
|
-
<xs:maxLength value="255" />
|
|
84
|
-
</xs:restriction>
|
|
85
|
-
</xs:simpleType>
|
|
86
|
-
</xs:element>
|
|
87
|
-
<xs:element name="REVDATE" type="xs:dateTime" minOccurs="0" />
|
|
88
|
-
<xs:element name="CABIN" type="xs:decimal" minOccurs="0" />
|
|
89
|
-
<xs:element name="COCKPIT" type="xs:decimal" minOccurs="0" />
|
|
90
|
-
<xs:element name="APIATA" minOccurs="0">
|
|
91
|
-
<xs:simpleType>
|
|
92
|
-
<xs:restriction base="xs:string">
|
|
93
|
-
<xs:maxLength value="3" />
|
|
94
|
-
</xs:restriction>
|
|
95
|
-
</xs:simpleType>
|
|
96
|
-
</xs:element>
|
|
97
|
-
</xs:sequence>
|
|
98
|
-
</xs:complexType>
|
|
99
|
-
</xs:element>
|
|
100
|
-
</xs:choice>
|
|
101
|
-
</xs:complexType>
|
|
102
|
-
</xs:element>
|
|
103
|
-
</xs:schema>
|
|
104
|
-
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
|
|
105
|
-
<DocumentElement xmlns="">
|
|
106
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo1" msdata:rowOrder="0">
|
|
107
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
108
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
109
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
110
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
111
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
112
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
113
|
-
<GROUPTEXT>Passengers</GROUPTEXT>
|
|
114
|
-
<SORT>1</SORT>
|
|
115
|
-
<HEADING>Disembarking:</HEADING>
|
|
116
|
-
<VISIBLE>-1</VISIBLE>
|
|
117
|
-
<SORT1>2</SORT1>
|
|
118
|
-
<ITEMSORT>0</ITEMSORT>
|
|
119
|
-
<AUSWAHLTEXT>Baby buggies are delivered at aircraft door or stairs.</AUSWAHLTEXT>
|
|
120
|
-
<REVDATE>2008-09-01T00:00:00+02:00</REVDATE>
|
|
121
|
-
<CABIN>-1</CABIN>
|
|
122
|
-
<COCKPIT>0</COCKPIT>
|
|
123
|
-
<APIATA>PMI</APIATA>
|
|
124
|
-
</CL_9_2_4_DestInfo>
|
|
125
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo2" msdata:rowOrder="1">
|
|
126
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
127
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
128
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
129
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
130
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
131
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
132
|
-
<GROUPTEXT>Aircraft</GROUPTEXT>
|
|
133
|
-
<SORT>2</SORT>
|
|
134
|
-
<HEADING>Turnaround:</HEADING>
|
|
135
|
-
<VISIBLE>-1</VISIBLE>
|
|
136
|
-
<SORT1>5.30</SORT1>
|
|
137
|
-
<ITEMSORT>0</ITEMSORT>
|
|
138
|
-
<AUSWAHLTEXT>Station applies EST process.</AUSWAHLTEXT>
|
|
139
|
-
<REVDATE>2009-05-05T00:00:00+02:00</REVDATE>
|
|
140
|
-
<CABIN>-1</CABIN>
|
|
141
|
-
<COCKPIT>-1</COCKPIT>
|
|
142
|
-
<APIATA>PMI</APIATA>
|
|
143
|
-
</CL_9_2_4_DestInfo>
|
|
144
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo3" msdata:rowOrder="2">
|
|
145
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
146
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
147
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
148
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
149
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
150
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
151
|
-
<GROUPTEXT>General</GROUPTEXT>
|
|
152
|
-
<SORT>4</SORT>
|
|
153
|
-
<HEADING>Addresses:</HEADING>
|
|
154
|
-
<VISIBLE>-1</VISIBLE>
|
|
155
|
-
<SORT1>8.50</SORT1>
|
|
156
|
-
<ITEMSORT>1</ITEMSORT>
|
|
157
|
-
<AUSWAHLTEXT>
|
|
158
|
-
Station Manager:
|
|
159
|
-
YYYYYYYY XXXXXXX
|
|
160
|
-
PMIKXXX
|
|
161
|
-
Tel.:+34 971 xxx xxx
|
|
162
|
-
Mobile:+ 34 600 46 xx xx
|
|
163
|
-
</AUSWAHLTEXT>
|
|
164
|
-
<REVDATE>2010-02-08T00:00:00+01:00</REVDATE>
|
|
165
|
-
<CABIN>-1</CABIN>
|
|
166
|
-
<COCKPIT>-1</COCKPIT>
|
|
167
|
-
<APIATA>PMI</APIATA>
|
|
168
|
-
</CL_9_2_4_DestInfo>
|
|
169
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo4" msdata:rowOrder="3">
|
|
170
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
171
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
172
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
173
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
174
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
175
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
176
|
-
<GROUPTEXT>General</GROUPTEXT>
|
|
177
|
-
<SORT>4</SORT>
|
|
178
|
-
<HEADING>Addresses:</HEADING>
|
|
179
|
-
<VISIBLE>-1</VISIBLE>
|
|
180
|
-
<SORT1>8.50</SORT1>
|
|
181
|
-
<ITEMSORT>2</ITEMSORT>
|
|
182
|
-
<AUSWAHLTEXT>
|
|
183
|
-
Handling Agent:
|
|
184
|
-
xxxxxxx Airport Services
|
|
185
|
-
Operations
|
|
186
|
-
PMIIxxx
|
|
187
|
-
Tel +34 971 xxx xxx
|
|
188
|
-
Passenger Services
|
|
189
|
-
PMIPXXX
|
|
190
|
-
Tel : +34 971 xxx xxx
|
|
191
|
-
</AUSWAHLTEXT>
|
|
192
|
-
<REVDATE>2010-02-08T00:00:00+01:00</REVDATE>
|
|
193
|
-
<CABIN>-1</CABIN>
|
|
194
|
-
<COCKPIT>-1</COCKPIT>
|
|
195
|
-
<APIATA>PMI</APIATA>
|
|
196
|
-
</CL_9_2_4_DestInfo>
|
|
197
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo5" msdata:rowOrder="4">
|
|
198
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
199
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
200
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
201
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
202
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
203
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
204
|
-
<GROUPTEXT>General</GROUPTEXT>
|
|
205
|
-
<SORT>4</SORT>
|
|
206
|
-
<HEADING>Announcements:</HEADING>
|
|
207
|
-
<VISIBLE>-1</VISIBLE>
|
|
208
|
-
<SORT1>11</SORT1>
|
|
209
|
-
<ITEMSORT>1</ITEMSORT>
|
|
210
|
-
<AUSWAHLTEXT>Prerecorded Spanish announcements available.</AUSWAHLTEXT>
|
|
211
|
-
<REVDATE>2009-12-30T00:00:00+01:00</REVDATE>
|
|
212
|
-
<CABIN>-1</CABIN>
|
|
213
|
-
<COCKPIT>0</COCKPIT>
|
|
214
|
-
<APIATA>PMI</APIATA>
|
|
215
|
-
</CL_9_2_4_DestInfo>
|
|
216
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo6" msdata:rowOrder="5">
|
|
217
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
218
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
219
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
220
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
221
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
222
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
223
|
-
<GROUPTEXT>General</GROUPTEXT>
|
|
224
|
-
<SORT>4</SORT>
|
|
225
|
-
<HEADING>Life jackets / DEMO:</HEADING>
|
|
226
|
-
<VISIBLE>-1</VISIBLE>
|
|
227
|
-
<SORT1>12</SORT1>
|
|
228
|
-
<ITEMSORT>0</ITEMSORT>
|
|
229
|
-
<AUSWAHLTEXT>
|
|
230
|
-
Infant life jackets to be distributed.
|
|
231
|
-
DEMO with life jackets.
|
|
232
|
-
</AUSWAHLTEXT>
|
|
233
|
-
<REVDATE>2002-07-24T00:00:00+02:00</REVDATE>
|
|
234
|
-
<CABIN>-1</CABIN>
|
|
235
|
-
<COCKPIT>0</COCKPIT>
|
|
236
|
-
<APIATA>PMI</APIATA>
|
|
237
|
-
</CL_9_2_4_DestInfo>
|
|
238
|
-
<CL_9_2_4_DestInfo diffgr:id="CL_9_2_4_DestInfo7" msdata:rowOrder="6">
|
|
239
|
-
<DESTINATION>PALMA DE MALLORCA</DESTINATION>
|
|
240
|
-
<COUNTRY>Spain Schengen</COUNTRY>
|
|
241
|
-
<AIRPORTNAME>Son San Juan</AIRPORTNAME>
|
|
242
|
-
<DISTANCE_APT_CTY>11 km</DISTANCE_APT_CTY>
|
|
243
|
-
<REVCABIN>08.02.10</REVCABIN>
|
|
244
|
-
<REVCOCKPIT>08.02.10</REVCOCKPIT>
|
|
245
|
-
<GROUPTEXT>Catering</GROUPTEXT>
|
|
246
|
-
<SORT>5</SORT>
|
|
247
|
-
<HEADING>General:</HEADING>
|
|
248
|
-
<VISIBLE>0</VISIBLE>
|
|
249
|
-
<SORT1>1</SORT1>
|
|
250
|
-
<ITEMSORT>1</ITEMSORT>
|
|
251
|
-
<AUSWAHLTEXT>
|
|
252
|
-
LSG XXX XXXX
|
|
253
|
-
Tel.: +34 971 xxx xxx or xxx xxx
|
|
254
|
-
Sita: PMIAXXX
|
|
255
|
-
</AUSWAHLTEXT>
|
|
256
|
-
<REVDATE>2005-06-01T00:00:00+02:00</REVDATE>
|
|
257
|
-
<CABIN>-1</CABIN>
|
|
258
|
-
<COCKPIT>0</COCKPIT>
|
|
259
|
-
<APIATA>PMI</APIATA>
|
|
260
|
-
</CL_9_2_4_DestInfo>
|
|
261
|
-
</DocumentElement>
|
|
262
|
-
</diffgr:diffgram>
|
|
263
|
-
</GetICB_9_2_4_DestInfoWithDestIdResult>
|
|
264
|
-
</GetICB_9_2_4_DestInfoWithDestIdResponse>
|
|
265
|
-
</soap:Body>
|
|
266
|
-
</soap:Envelope>
|
data/lib/nori/core_ext/string.rb
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
class Nori
|
|
2
|
-
module CoreExt
|
|
3
|
-
module String
|
|
4
|
-
|
|
5
|
-
# Returns the String in snake_case.
|
|
6
|
-
def snakecase
|
|
7
|
-
str = dup
|
|
8
|
-
str.gsub!(/::/, '/')
|
|
9
|
-
str.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
|
10
|
-
str.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
|
|
11
|
-
str.tr! ".", "_"
|
|
12
|
-
str.tr! "-", "_"
|
|
13
|
-
str.downcase!
|
|
14
|
-
str
|
|
15
|
-
end unless method_defined?(:snakecase)
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
String.send :include, Nori::CoreExt::String
|
data/nori.gemspec
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
$:.push File.expand_path("../lib", __FILE__)
|
|
3
|
-
require "nori/version"
|
|
4
|
-
|
|
5
|
-
Gem::Specification.new do |s|
|
|
6
|
-
s.name = "nori"
|
|
7
|
-
s.version = Nori::VERSION
|
|
8
|
-
s.authors = ["Daniel Harrington", "John Nunemaker", "Wynn Netherland"]
|
|
9
|
-
s.email = "me@rubiii.com"
|
|
10
|
-
s.homepage = "https://github.com/savonrb/nori"
|
|
11
|
-
s.summary = "XML to Hash translator"
|
|
12
|
-
s.description = s.summary
|
|
13
|
-
s.required_ruby_version = '>= 3.0'
|
|
14
|
-
|
|
15
|
-
s.license = "MIT"
|
|
16
|
-
|
|
17
|
-
s.add_dependency "bigdecimal"
|
|
18
|
-
|
|
19
|
-
s.add_development_dependency "rake", "~> 12.3.3"
|
|
20
|
-
s.add_development_dependency "nokogiri", ">= 1.4.0"
|
|
21
|
-
s.add_development_dependency "rspec", "~> 3.11.0"
|
|
22
|
-
|
|
23
|
-
s.metadata["rubygems_mfa_required"] = "true"
|
|
24
|
-
|
|
25
|
-
s.files = `git ls-files`.split("\n")
|
|
26
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
27
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
28
|
-
s.require_paths = ["lib"]
|
|
29
|
-
end
|