uddf 0.2.0 → 0.3.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.
@@ -611,11 +611,13 @@ Ende auskommentiert von Kai -->
611
611
  <xs:complexContent>
612
612
  <xs:extension base="equipmentPieceType">
613
613
  <xs:sequence>
614
- <xs:element name="softwareupdate" type="ID_TYPE">
615
- <xs:sequence>
616
- <xs:element name="softwareversion" type="xs:string" minOccurs="1" maxOccurs="1"/>
617
- <xs:element name="datetime" type="xs:dateTime"/>
618
- </xs:sequence>
614
+ <xs:element name="softwareupdate">
615
+ <xs:complexType>
616
+ <xs:sequence>
617
+ <xs:element name="softwareversion" type="xs:string" minOccurs="1" maxOccurs="1"/>
618
+ <xs:element name="datetime" type="xs:dateTime"/>
619
+ </xs:sequence>
620
+ </xs:complexType>
619
621
  </xs:element>
620
622
  <xs:element name="battery" maxOccurs="unbounded" minOccurs="0" type="ID_TYPE"/>
621
623
  <xs:element name="timerdevice" maxOccurs="unbounded" minOccurs="0" type="ID_TYPE"/>
@@ -1257,7 +1259,7 @@ End version before introduction of <tankused> -->
1257
1259
  </xs:restriction>
1258
1260
  </xs:simpleType>
1259
1261
  </xs:element>
1260
- <xs:element name="timer" minOccurs="0" maxOccurs="unbounded">
1262
+ <xs:element name="timer" minOccurs="0">
1261
1263
  <xs:complexType>
1262
1264
  <xs:simpleContent>
1263
1265
  <xs:extension base="xs:float">
@@ -1327,19 +1329,11 @@ End version before introduction of <tankused> -->
1327
1329
  </xs:all>
1328
1330
  </xs:complexType>
1329
1331
  <xs:complexType name="selftestType">
1330
- <xs:complexType>
1331
- <xs:simpleType>
1332
- <xs:restriction base="xs:string">
1333
- <xs:enumeration value="failed"/>
1334
- <xs:enumeration value="passed"/>
1335
- </xs:restriction>
1336
- </xs:simpleType>
1337
- <xs:simpleContent>
1338
- <xs:extension base="xs:string">
1339
- <xs:attribute name="ref" type="xs:IDREF" use="required"/>
1340
- </xs:extension>
1341
- </xs:simpleContent>
1342
- </xs:complexType>
1332
+ <xs:simpleContent>
1333
+ <xs:extension base="xs:string">
1334
+ <xs:attribute name="ref" type="xs:IDREF" use="required"/>
1335
+ </xs:extension>
1336
+ </xs:simpleContent>
1343
1337
  </xs:complexType>
1344
1338
  <xs:complexType name="surfaceintervalType">
1345
1339
  <xs:sequence>
@@ -1458,7 +1452,7 @@ Ende Vermutlich nicht notwendig, deshalb ab v3.3.0 auskommentiert -->
1458
1452
  <xs:element name="divetime" type="xs:float" minOccurs="0"/>
1459
1453
  <xs:element name="heading" type="xs:float" minOccurs="0"/>
1460
1454
  <xs:element name="heartrate" type="xs:float" minOccurs="0"/>
1461
- <xs:element name="info" base="infoType" minOccurs="0"/>
1455
+ <xs:element name="info" type="infoType" minOccurs="0"/>
1462
1456
  <xs:element name="otu" type="xs:float" minOccurs="0"/>
1463
1457
  <xs:element name="pulserate" type="xs:float" minOccurs="0"/>
1464
1458
  <xs:element name="remainingbottomtime" type="xs:float" minOccurs="0"/>
@@ -2042,7 +2036,7 @@ Ende Vermutlich nicht notwendig, deshalb ab v3.3.0 auskommentiert -->
2042
2036
  </xs:complexContent>
2043
2037
  </xs:complexType>
2044
2038
  <xs:complexType name="infoType">
2045
- <xs:attribute name="ref" type="linkType" use="required">
2039
+ <xs:attribute name="ref" type="xs:IDREF" use="required"/>
2046
2040
  <xs:attribute name="level" use="required">
2047
2041
  <xs:simpleType>
2048
2042
  <xs:restriction base="xs:string">
data/lib/uddf/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UDDF
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/uddf.rb CHANGED
@@ -8,7 +8,7 @@ require "uddf/version"
8
8
  # Universal Dive Data Format (UDDF) parser and validator
9
9
  module UDDF
10
10
  SUPPORTED_SCHEMA_VERSIONS = %w[3.0.0 3.0.1 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1].freeze
11
- SUPPORTED_PARSER_VERSIONS = %w[3.2.3].freeze
11
+ SUPPORTED_PARSER_VERSIONS = %w[3.2.3 3.3.0 3.3.1].freeze
12
12
 
13
13
  @schema_cache_mutex = Mutex.new
14
14
 
@@ -55,6 +55,12 @@ module UDDF
55
55
  when "3.2.3"
56
56
  require "uddf/v323/models"
57
57
  V323::Models::Uddf
58
+ when "3.3.0"
59
+ require "uddf/v330/models"
60
+ V330::Models::Uddf
61
+ when "3.3.1"
62
+ require "uddf/v331/models"
63
+ V331::Models::Uddf
58
64
  end
59
65
  end
60
66
 
data/uddf.gemspec CHANGED
@@ -21,16 +21,21 @@ Gem::Specification.new do |spec|
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
23
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|test_files|dive_files|.github)/}) }
25
25
  end
26
26
  spec.bindir = "exe"
27
27
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
+ spec.add_dependency "nokogiri", "~> 1.18"
30
31
  spec.add_dependency "nokogiri-happymapper"
31
32
 
32
33
  spec.add_development_dependency "irb"
33
34
  spec.add_development_dependency "rake", "~> 13.0"
35
+ spec.add_development_dependency "rspec", "~> 3.13"
34
36
  spec.add_development_dependency "rubocop", "~> 1.7"
35
37
  spec.add_development_dependency "rubocop-rake", "~> 0.7"
38
+ spec.add_development_dependency "rubocop-rspec", "~> 3.6"
39
+ spec.add_development_dependency "simplecov", "~> 0.21"
40
+ spec.add_development_dependency "simplecov-cobertura", "~> 3"
36
41
  end
metadata CHANGED
@@ -1,15 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uddf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flipez
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-08-22 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: nokogiri
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.18'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.18'
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: nokogiri-happymapper
15
28
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +65,20 @@ dependencies:
52
65
  - - "~>"
53
66
  - !ruby/object:Gem::Version
54
67
  version: '13.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: rspec
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.13'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.13'
55
82
  - !ruby/object:Gem::Dependency
56
83
  name: rubocop
57
84
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +107,48 @@ dependencies:
80
107
  - - "~>"
81
108
  - !ruby/object:Gem::Version
82
109
  version: '0.7'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubocop-rspec
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.6'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '3.6'
124
+ - !ruby/object:Gem::Dependency
125
+ name: simplecov
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.21'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.21'
138
+ - !ruby/object:Gem::Dependency
139
+ name: simplecov-cobertura
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '3'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '3'
83
152
  description: A Ruby library for parsing and writing UDDF (Universal Data Description
84
153
  Format) files.
85
154
  email:
@@ -88,9 +157,10 @@ executables: []
88
157
  extensions: []
89
158
  extra_rdoc_files: []
90
159
  files:
91
- - ".github/workflows/main.yml"
92
160
  - ".gitignore"
93
161
  - ".rubocop.yml"
162
+ - ".rubocop_todo.yml"
163
+ - ".ruby-version"
94
164
  - CHANGELOG.md
95
165
  - Gemfile
96
166
  - Gemfile.lock
@@ -98,9 +168,6 @@ files:
98
168
  - Rakefile
99
169
  - bin/console
100
170
  - bin/setup
101
- - dive_files/BaMQZdEhp3djeDxQ5HyCreOntBm1-1753908953.uddf
102
- - dive_files/Peregrine TX[93CBB2BB]#140_2025-03-21.uddf
103
- - dive_files/Peregrine TX[93CBB2BB]#148_2025-06-26.uddf
104
171
  - lib/uddf.rb
105
172
  - lib/uddf/base/models.rb
106
173
  - lib/uddf/v300/schema.xsd
@@ -111,10 +178,11 @@ files:
111
178
  - lib/uddf/v322/schema.xsd
112
179
  - lib/uddf/v323/models.rb
113
180
  - lib/uddf/v323/schema.xsd
181
+ - lib/uddf/v330/models.rb
114
182
  - lib/uddf/v330/schema.xsd
183
+ - lib/uddf/v331/models.rb
115
184
  - lib/uddf/v331/schema.xsd
116
185
  - lib/uddf/version.rb
117
- - test_files/v330/diver_data.uddf
118
186
  - uddf.gemspec
119
187
  homepage: https://github.com/Flipez/ruby-uddf
120
188
  licenses: []
@@ -123,7 +191,6 @@ metadata:
123
191
  source_code_uri: https://github.com/Flipez/ruby-uddf
124
192
  changelog_uri: https://github.com/Flipez/ruby-uddf
125
193
  rubygems_mfa_required: 'true'
126
- post_install_message:
127
194
  rdoc_options: []
128
195
  require_paths:
129
196
  - lib
@@ -138,8 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
205
  - !ruby/object:Gem::Version
139
206
  version: '0'
140
207
  requirements: []
141
- rubygems_version: 3.2.4
142
- signing_key:
208
+ rubygems_version: 3.6.7
143
209
  specification_version: 4
144
210
  summary: Ruby UDDF Parser and Writer
145
211
  test_files: []
@@ -1,16 +0,0 @@
1
- name: Ruby
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v5
10
- - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1
12
- with:
13
- ruby-version: 3.4
14
- bundler-cache: true
15
- - name: Run the default task
16
- run: bundle exec rake