uddf 0.2.1 → 0.4.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.
@@ -6,147 +6,13 @@ require "uddf/base/models"
6
6
  module UDDF
7
7
  module V323
8
8
  module Models
9
- class Manufacturer
10
- include HappyMapper
11
-
12
- tag "manufacturer"
13
-
14
- attribute :id, String
15
- has_one :address, Base::Models::Address
16
- has_one :alias_name, String
17
- has_one :contact, Base::Models::Contact
18
- has_one :name, String
19
- end
20
-
21
- class Link
22
- include HappyMapper
23
-
24
- tag "link"
25
-
26
- attribute :ref, String
27
- end
28
-
29
- class Generator
30
- include HappyMapper
31
-
32
- tag "generator"
33
-
34
- has_one :alias_name, String
35
- has_one :datetime, DateTime
36
- has_many :links, Link, tag: "link"
37
- has_one :name, String
38
- has_one :type, String
39
- has_one :version, String
40
- end
41
-
42
- class Notes
43
- include HappyMapper
44
-
45
- tag "notes"
46
-
47
- has_many :paras, String, tag: "para"
48
- has_many :links, Link, tag: "link"
49
- end
50
-
51
- class Price
52
- include HappyMapper
53
-
54
- tag "price"
55
-
56
- attribute :currency, String
57
- attribute :value, Float
58
- end
59
-
60
- class Tissue
61
- include HappyMapper
62
-
63
- tag "tissue"
64
-
65
- attribute :gas, String
66
- attribute :half_life, Float
67
- attribute :number, Integer
68
- attribute :a, Float
69
- attribute :b, Float
70
- end
71
-
72
- class VPM
73
- include HappyMapper
74
-
75
- tag "vpm"
76
-
77
- attribute :id, String
78
- has_one :conservatism, Float
79
- has_one :gamma, Float
80
- has_one :gc, Float
81
- has_one :lambda, Float
82
- has_one :r0, Float
83
- has_many :tissues, Tissue, tag: "tissue"
84
- end
85
-
86
- class RGBM
87
- include HappyMapper
88
-
89
- tag "rgbm"
90
-
91
- attribute :id, String
92
- has_many :tissues, Tissue, tag: "tissue"
93
- end
94
-
95
- class Buehlmann
96
- include HappyMapper
97
-
98
- tag "buehlmann"
99
-
100
- attribute :id, String
101
- has_one :gradient_factor_high, Float
102
- has_one :gradient_factor_low, Float
103
- has_many :tissues, Tissue, tag: "tissue"
104
- end
105
-
106
- class DecoModel
107
- include HappyMapper
108
-
109
- tag "decomodel"
110
-
111
- has_many :buehlmanns, Buehlmann, tag: "buehlmann"
112
- has_many :rgbms, RGBM, tag: "rbgm"
113
- has_many :vpms, VPM, tag: "vpm"
114
- end
115
-
116
- class Mix
117
- include HappyMapper
118
-
119
- tag "mix"
120
-
121
- attribute :id, String
122
- has_one :alias_name, String
123
- has_one :ar, Float
124
- has_one :equivalent_air_depth, Float
125
- has_one :h2, Float
126
- has_one :he, Float
127
- has_one :maximum_operation_depth, Float
128
- has_one :maximum_po2, Float
129
- has_one :n2, Float
130
- has_one :name, String
131
- has_one :o2, Float
132
- has_one :price_per_litre, Price
133
- end
134
-
135
- class GasDefinitions
136
- include HappyMapper
137
-
138
- tag "gasdefinitions"
139
-
140
- has_many :mixes, Mix, tag: "mix"
141
- end
142
-
143
9
  class WayAltitude
144
10
  include HappyMapper
145
11
 
146
12
  tag "wayaltitude"
147
13
 
148
- attribute :way_time, Float
149
- attribute :value, Float
14
+ attribute :way_time, Float, tag: "waytime"
15
+ content :value, Float
150
16
  end
151
17
 
152
18
  class ExposureToAltitude
@@ -154,10 +20,10 @@ module UDDF
154
20
 
155
21
  tag "exposuretoaltitude"
156
22
 
157
- has_one :altitude_of_exposure, Float
158
- has_one :date_of_flight, Date
159
- has_one :surface_interval_before_altitude_exposure, Float
160
- has_one :total_length_of_exposure, Float
23
+ has_one :altitude_of_exposure, Float, tag: "altitudeofexposure"
24
+ has_one :date_of_flight, Base::Models::DateTimeField, tag: "dateofflight"
25
+ has_one :surface_interval_before_altitude_exposure, Float, tag: "surfaceintervalbeforealtitudeexposure"
26
+ has_one :total_length_of_exposure, Float, tag: "totallengthofexposure"
161
27
  has_one :transportation, String
162
28
  end
163
29
 
@@ -166,9 +32,9 @@ module UDDF
166
32
 
167
33
  tag "surfaceintervalbeforedive"
168
34
 
169
- has_one :exposure_to_altitude, ExposureToAltitude
35
+ has_one :exposure_to_altitude, ExposureToAltitude, tag: "exposuretoaltitude"
170
36
  has_one :infinity, String
171
- has_one :passed_time, Float
37
+ has_one :passed_time, Float, tag: "passedtime"
172
38
  has_many :way_altitudes, WayAltitude, tag: "wayaltitude"
173
39
  end
174
40
 
@@ -177,9 +43,9 @@ module UDDF
177
43
 
178
44
  tag "surfaceintervalafterdive"
179
45
 
180
- has_one :exposure_to_altitude, ExposureToAltitude
46
+ has_one :exposure_to_altitude, ExposureToAltitude, tag: "exposuretoaltitude"
181
47
  has_one :infinity, String
182
- has_one :passed_time, Float
48
+ has_one :passed_time, Float, tag: "passedtime"
183
49
  has_many :way_altitudes, WayAltitude, tag: "wayaltitude"
184
50
  end
185
51
 
@@ -189,7 +55,7 @@ module UDDF
189
55
  tag "tankpressure"
190
56
 
191
57
  attribute :ref, String
192
- attribute :value, Float
58
+ content :value, Float
193
59
  end
194
60
 
195
61
  class SwitchMix
@@ -205,8 +71,8 @@ module UDDF
205
71
 
206
72
  tag "setpo2"
207
73
 
208
- attribute :set_by, String
209
- attribute :value, Float
74
+ attribute :set_by, String, tag: "setby"
75
+ content :value, Float
210
76
  end
211
77
 
212
78
  class MeasuredPo2
@@ -215,7 +81,7 @@ module UDDF
215
81
  tag "measuredpo2"
216
82
 
217
83
  attribute :ref, String
218
- attribute :value, Float
84
+ content :value, Float
219
85
  end
220
86
 
221
87
  class GradientFactor
@@ -224,7 +90,7 @@ module UDDF
224
90
  tag "gradientfactor"
225
91
 
226
92
  attribute :tissue, Integer
227
- attribute :value, Float
93
+ content :value, Float
228
94
  end
229
95
 
230
96
  class DiveMode
@@ -241,7 +107,7 @@ module UDDF
241
107
  tag "decostop"
242
108
 
243
109
  attribute :kind, String
244
- attribute :deco_depth, Float
110
+ attribute :deco_depth, Float, tag: "decodepth"
245
111
  attribute :duration, Float
246
112
  end
247
113
 
@@ -250,9 +116,9 @@ module UDDF
250
116
 
251
117
  tag "batterychargecondition"
252
118
 
253
- attribute :device_ref, String
254
- attribute :tank_ref, String
255
- attribute :value, Float
119
+ attribute :device_ref, String, tag: "deviceref"
120
+ attribute :tank_ref, String, tag: "tankref"
121
+ content :value, Float
256
122
  end
257
123
 
258
124
  class Alarm
@@ -261,8 +127,8 @@ module UDDF
261
127
  tag "alarm"
262
128
 
263
129
  attribute :level, Float
264
- attribute :tank_ref, String
265
- attribute :value, String
130
+ attribute :tank_ref, String, tag: "tankref"
131
+ content :value, String
266
132
  end
267
133
 
268
134
  class Waypoint
@@ -272,43 +138,28 @@ module UDDF
272
138
 
273
139
  has_many :alarms, Alarm, tag: "alarm"
274
140
  has_many :battery_charge_conditions, BatteryChargeCondition, tag: "batterychargecondition"
275
- has_one :calculated_po2, Float
141
+ has_one :calculated_po2, Float, tag: "calculatedpo2"
276
142
  has_one :cns, Float
277
143
  has_many :deco_stops, Decostop, tag: "decostop"
278
144
  has_one :depth, Float
279
- has_one :dive_mode, DiveMode
280
- has_one :dive_time, Float
281
- has_one :gradient_factor, GradientFactor
145
+ has_one :dive_mode, DiveMode, tag: "divemode"
146
+ has_one :dive_time, Float, tag: "divetime"
147
+ has_one :gradient_factor, GradientFactor, tag: "gradientfactor"
282
148
  has_one :heading, Float
149
+ has_one :heart_rate, Float, tag: "heartrate"
283
150
  has_many :measured_po2s, MeasuredPo2, tag: "measuredpo2"
284
- has_one :no_deco_time, Float
151
+ has_one :no_deco_time, Float, tag: "nodecotime"
285
152
  has_one :otu, Float
286
- has_one :remaining_bottom_time, Float
287
- has_one :remaining_o2_time, Float
153
+ has_one :remaining_bottom_time, Float, tag: "remainingbottomtime"
154
+ has_one :remaining_o2_time, Float, tag: "remainingo2time"
288
155
  has_many :set_po2s, SetPo2, tag: "setpo2"
289
- has_one :switch_mix, SwitchMix
156
+ has_one :switch_mix, SwitchMix, tag: "switchmix"
290
157
  has_many :tank_pressures, TankPressure, tag: "tankpressure"
291
158
  has_one :temperature, Float
292
- end
293
-
294
- class Medicine
295
- include HappyMapper
296
-
297
- tag "medicine"
298
-
299
- has_one :alias_name, String
300
- has_one :name, String
301
- has_one :notes, Notes
302
- has_one :periodically_taken, String
303
- has_one :timespan_before_dive, Float
304
- end
305
-
306
- class MedicationBeforeDive
307
- include HappyMapper
308
-
309
- tag "medicationbeforedive"
310
-
311
- has_many :medicines, Medicine, tag: "medicine"
159
+ # Added in v3.2.2
160
+ has_one :body_temperature, Float, tag: "bodytemperature"
161
+ has_one :pulse_rate, Float, tag: "pulserate"
162
+ has_many :set_markers, String, tag: "setmarker"
312
163
  end
313
164
 
314
165
  class PlannedProfile
@@ -316,64 +167,35 @@ module UDDF
316
167
 
317
168
  tag "plannedprofile"
318
169
 
319
- attribute :start_dive_mode, String
320
- attribute :start_mix, String
170
+ attribute :start_dive_mode, String, tag: "startdivemode"
171
+ attribute :start_mix, String, tag: "startmix"
321
172
  has_many :waypoints, Waypoint, tag: "waypoint"
322
173
  end
323
174
 
324
- class Drink
325
- include HappyMapper
326
-
327
- tag "drink"
328
-
329
- has_one :alias_name, String
330
- has_one :name, String
331
- has_one :notes, Notes
332
- has_one :periodically_taken, String
333
- has_one :timespan_before_dive, Float
334
- end
335
-
336
- class AlcoholBeforeDive
337
- include HappyMapper
338
-
339
- tag "alcoholbeforedive"
340
-
341
- has_many :drinks, Drink, tag: "drink"
342
- end
343
-
344
175
  class InformationBeforeDive
345
176
  include HappyMapper
346
177
 
347
178
  tag "informationbeforedive"
348
179
 
349
- has_one :air_temperature, Float
350
- has_one :alcohol_before_dive, AlcoholBeforeDive
180
+ has_one :air_temperature, Float, tag: "airtemperature"
181
+ has_one :alcohol_before_dive, Base::Models::AlcoholBeforeDive, tag: "alcoholbeforedive"
351
182
  has_one :altitude, Float
352
183
  has_one :apparatus, String
353
184
  has_one :datetime, DateTime
354
- has_one :dive_number, Integer
355
- has_one :dive_number_of_day, Integer
356
- has_one :internal_dive_number, Integer
357
- has_many :links, Link, tag: "link"
358
- has_one :medication_before_dive, MedicationBeforeDive
359
- has_one :no_suit, String
360
- has_one :planned_profile, PlannedProfile
185
+ has_one :dive_number, Integer, tag: "divenumber"
186
+ has_one :dive_number_of_day, Integer, tag: "divenumberofday"
187
+ has_one :internal_dive_number, Integer, tag: "internaldivenumber"
188
+ has_many :links, Base::Models::Link, tag: "link"
189
+ has_one :medication_before_dive, Base::Models::MedicationBeforeDive, tag: "medicationbeforedive"
190
+ has_one :no_suit, String, tag: "nosuit"
191
+ has_one :planned_profile, PlannedProfile, tag: "plannedprofile"
361
192
  has_one :platform, String
362
- has_one :price, Price
193
+ has_one :price, Base::Models::Price
363
194
  has_one :purpose, String
364
- has_one :state_of_rest_before_dive, String
365
- has_one :surface_interval_before_dive, SurfaceIntervalBeforeDive
366
- has_one :surface_pressure, Float
367
- has_one :trip_membership, String
368
- end
369
-
370
- class Rating
371
- include HappyMapper
372
-
373
- tag "rating"
374
-
375
- has_one :datetime, DateTime
376
- has_one :rating_value, Integer
195
+ has_one :state_of_rest_before_dive, String, tag: "stateofrestbeforedive"
196
+ has_one :surface_interval_before_dive, SurfaceIntervalBeforeDive, tag: "surfaceintervalbeforedive"
197
+ has_one :surface_pressure, Float, tag: "surfacepressure"
198
+ has_one :trip_membership, String, tag: "tripmembership"
377
199
  end
378
200
 
379
201
  class GlobalAlarmsGiven
@@ -389,114 +211,8 @@ module UDDF
389
211
 
390
212
  tag "equipmentused"
391
213
 
392
- has_one :lead_quantity, Float
393
- has_many :links, Link, tag: "link"
394
- end
395
-
396
- class AnySymptoms
397
- include HappyMapper
398
-
399
- tag "anysymptoms"
400
-
401
- has_one :notes, Notes
402
- end
403
-
404
- class Species
405
- include HappyMapper
406
-
407
- tag "species"
408
-
409
- attribute :id, String
410
- has_one :abundance, "Abundance"
411
- has_one :age, Integer
412
- has_one :dominance, String
413
- has_one :life_stage, String
414
- has_one :notes, Notes
415
- has_one :scientific_name, String
416
- has_one :sex, String
417
- has_one :size, Float
418
- has_one :trivial_name, String
419
- end
420
-
421
- class Abundance
422
- include HappyMapper
423
-
424
- tag "abundance"
425
-
426
- attribute :quality, String
427
- attribute :occurrence, String
428
- attribute :value, Integer
429
- end
430
-
431
- class WithSpecies
432
- include HappyMapper
433
-
434
- has_many :species, Species, tag: "species"
435
- end
436
-
437
- class Invertebrata
438
- include HappyMapper
439
-
440
- tag "invertebrata"
441
-
442
- has_one :ascidiacea, WithSpecies
443
- has_one :bryozoan, WithSpecies
444
- has_one :cnidaria, WithSpecies
445
- has_one :coelenterata, WithSpecies
446
- has_one :crustacea, WithSpecies
447
- has_one :ctenophora, WithSpecies
448
- has_one :echinodermata, WithSpecies
449
- has_one :invertebrata_various, WithSpecies
450
- has_one :mollusca, WithSpecies
451
- has_one :phoronidea, WithSpecies
452
- has_one :plathelminthes, WithSpecies
453
- has_one :porifera, WithSpecies
454
- end
455
-
456
- class Vertebrata
457
- include HappyMapper
458
-
459
- tag "vertebrata"
460
-
461
- has_one :amphibia, WithSpecies
462
- has_one :chondrichthyes, WithSpecies
463
- has_one :mammalia, WithSpecies
464
- has_one :osteichthyes, WithSpecies
465
- has_one :reptilia, WithSpecies
466
- has_one :vertebrata_various, WithSpecies
467
- end
468
-
469
- class Fauna
470
- include HappyMapper
471
-
472
- tag "fauna"
473
-
474
- has_one :invertebrata, Invertebrata
475
- has_one :notes, Notes
476
- has_one :vertebrata, Vertebrata
477
- end
478
-
479
- class Flora
480
- include HappyMapper
481
-
482
- tag "flora"
483
-
484
- has_one :chlorophyceae, WithSpecies
485
- has_one :flora_various, WithSpecies
486
- has_one :notes, Notes
487
- has_one :phaeophyceae, WithSpecies
488
- has_one :rhodophyceae, WithSpecies
489
- has_one :spermatophyta, WithSpecies
490
- end
491
-
492
- class Observations
493
- include HappyMapper
494
-
495
- tag "observations"
496
-
497
- has_one :fauna, Fauna
498
- has_one :flora, Flora
499
- has_one :notes, Notes
214
+ has_one :lead_quantity, Float, tag: "leadquantity"
215
+ has_many :links, Base::Models::Link, tag: "link"
500
216
  end
501
217
 
502
218
  class InformationAfterDive
@@ -504,28 +220,28 @@ module UDDF
504
220
 
505
221
  tag "informationafterdive"
506
222
 
507
- has_one :any_symptoms, AnySymptoms
508
- has_one :average_depth, Float
223
+ has_one :any_symptoms, Base::Models::AnySymptoms, tag: "anysymptoms"
224
+ has_one :average_depth, Float, tag: "averagedepth"
509
225
  has_one :current, String
510
- has_one :desaturation_time, Float
511
- has_one :dive_duration, Float
512
- has_one :dive_plan, String
513
- has_one :dive_table, String
514
- has_one :equipment_malfunction, String
515
- has_one :equipment_used, EquipmentUsed
516
- has_one :global_alarms_given, GlobalAlarmsGiven
517
- has_one :greatest_depth, Float
518
- has_one :highest_po2, Float
519
- has_one :lowest_temperature, Float
520
- has_one :no_flight_time, Float
521
- has_one :notes, Notes
522
- has_one :observations, Observations
523
- has_one :pressure_drop, Float
226
+ has_one :desaturation_time, Float, tag: "desaturationtime"
227
+ has_one :dive_duration, Float, tag: "diveduration"
228
+ has_one :dive_plan, String, tag: "diveplan"
229
+ has_one :dive_table, String, tag: "divetable"
230
+ has_one :equipment_malfunction, String, tag: "equipmentmalfunction"
231
+ has_one :equipment_used, EquipmentUsed, tag: "equipmentused"
232
+ has_one :global_alarms_given, GlobalAlarmsGiven, tag: "globalalarmsgiven"
233
+ has_one :greatest_depth, Float, tag: "greatestdepth"
234
+ has_one :highest_po2, Float, tag: "highestpo2"
235
+ has_one :lowest_temperature, Float, tag: "lowesttemperature"
236
+ has_one :no_flight_time, Float, tag: "noflighttime"
237
+ has_one :notes, Base::Models::Notes
238
+ has_one :observations, Base::Models::Observations
239
+ has_one :pressure_drop, Float, tag: "pressuredrop"
524
240
  has_many :problems, String, tag: "problems"
525
241
  has_one :program, String
526
- has_many :ratings, Rating, tag: "rating"
527
- has_one :surface_interval_after_dive, SurfaceIntervalAfterDive
528
- has_one :thermal_comfort, String
242
+ has_many :ratings, Base::Models::Rating, tag: "rating"
243
+ has_one :surface_interval_after_dive, SurfaceIntervalAfterDive, tag: "surfaceintervalafterdive"
244
+ has_one :thermal_comfort, String, tag: "thermalcomfort"
529
245
  has_one :visibility, Float
530
246
  has_one :workload, String
531
247
  end
@@ -544,32 +260,11 @@ module UDDF
544
260
  tag "tankdata"
545
261
 
546
262
  attribute :id, String
547
- has_one :breathing_consumption_volume, Float
548
- has_many :links, Link, tag: "link"
549
- has_one :tank_pressure_begin, Float
550
- has_one :tank_pressure_end, Float
551
- has_one :tank_volume, Float
552
- end
553
-
554
- class Hargikas
555
- include HappyMapper
556
-
557
- tag "hargikas"
558
-
559
- has_one :ambient, Float
560
- has_many :tissues, Tissue, tag: "tissue"
561
- has_one :arterial_micro_bubble_level, Integer
562
- has_one :intrapulmonary_right_left_shunt, Float
563
- has_one :estimated_skin_cool_level, Integer
564
- end
565
-
566
- class ApplicationData
567
- include HappyMapper
568
-
569
- tag "applicationdata"
570
-
571
- has_one :deco_trainer, String
572
- has_one :hargikas, Hargikas
263
+ has_one :breathing_consumption_volume, Float, tag: "breathingconsumptionvolume"
264
+ has_many :links, Base::Models::Link, tag: "link"
265
+ has_one :tank_pressure_begin, Float, tag: "tankpressurebegin"
266
+ has_one :tank_pressure_end, Float, tag: "tankpressureend"
267
+ has_one :tank_volume, Float, tag: "tankvolume"
573
268
  end
574
269
 
575
270
  class Dive
@@ -578,9 +273,9 @@ module UDDF
578
273
  tag "dive"
579
274
 
580
275
  attribute :id, String
581
- has_one :information_after_dive, InformationAfterDive
582
- has_one :information_before_dive, InformationBeforeDive
583
- has_one :application_data, ApplicationData
276
+ has_one :information_after_dive, InformationAfterDive, tag: "informationafterdive"
277
+ has_one :information_before_dive, InformationBeforeDive, tag: "informationbeforedive"
278
+ has_one :application_data, Base::Models::ApplicationDataV310, tag: "applicationdata"
584
279
  has_one :samples, Samples
585
280
  has_many :tank_data, TankData, tag: "tankdata"
586
281
  end
@@ -632,7 +327,7 @@ module UDDF
632
327
 
633
328
  tag "inputprofile"
634
329
 
635
- has_many :links, Link, tag: "link"
330
+ has_many :links, Base::Models::Link, tag: "link"
636
331
  has_many :waypoints, Waypoint, tag: "waypoint"
637
332
  end
638
333
 
@@ -642,8 +337,8 @@ module UDDF
642
337
  tag "output"
643
338
 
644
339
  has_one :lingo, String
645
- has_one :file_format, String
646
- has_one :file_name, String
340
+ has_one :file_format, String, tag: "fileformat"
341
+ has_one :file_name, String, tag: "filename"
647
342
  has_one :headline, String
648
343
  has_one :remark, String
649
344
  end
@@ -653,17 +348,17 @@ module UDDF
653
348
 
654
349
  tag "profile"
655
350
 
656
- has_one :application_data, ApplicationData
657
- has_one :deco_model, DecoModel
658
- has_one :deep_stop_time, Float
351
+ has_one :application_data, Base::Models::ApplicationDataV310, tag: "applicationdata"
352
+ has_one :deco_model, Base::Models::DecoModelV320, tag: "decomodel"
353
+ has_one :deep_stop_time, Float, tag: "deepstoptime"
659
354
  has_one :density, Float
660
- has_one :input_profile, InputProfile
661
- has_many :links, Link, tag: "link"
662
- has_one :maximum_ascending_rate, Float
663
- has_one :mix_change, MixChange
355
+ has_one :input_profile, InputProfile, tag: "inputprofile"
356
+ has_many :links, Base::Models::Link, tag: "link"
357
+ has_one :maximum_ascending_rate, Float, tag: "maximumascendingrate"
358
+ has_one :mix_change, MixChange, tag: "mixchange"
664
359
  has_one :output, Output
665
- has_one :surface_interval_after_dive, SurfaceIntervalAfterDive
666
- has_one :surface_interval_before_dive, SurfaceIntervalBeforeDive
360
+ has_one :surface_interval_after_dive, SurfaceIntervalAfterDive, tag: "surfaceintervalafterdive"
361
+ has_one :surface_interval_before_dive, SurfaceIntervalBeforeDive, tag: "surfaceintervalbeforedive"
667
362
  has_one :title, String
668
363
  end
669
364
 
@@ -673,13 +368,13 @@ module UDDF
673
368
  tag "tablescope"
674
369
 
675
370
  has_one :altitude, Float
676
- has_one :bottom_time_maximum, Float
677
- has_one :bottom_time_minimum, Float
678
- has_one :bottom_time_step_begin, Float
679
- has_one :bottom_time_step_end, Float
680
- has_one :dive_depth_begin, Float
681
- has_one :dive_depth_end, Float
682
- has_one :dive_depth_step, Float
371
+ has_one :bottom_time_maximum, Float, tag: "bottomtimemaximum"
372
+ has_one :bottom_time_minimum, Float, tag: "bottomtimeminimum"
373
+ has_one :bottom_time_step_begin, Float, tag: "bottomtimestepbegin"
374
+ has_one :bottom_time_step_end, Float, tag: "bottomtimestepend"
375
+ has_one :dive_depth_begin, Float, tag: "divedepthbegin"
376
+ has_one :dive_depth_end, Float, tag: "divedepthend"
377
+ has_one :dive_depth_step, Float, tag: "divedepthstep"
683
378
  end
684
379
 
685
380
  class Table
@@ -687,7 +382,7 @@ module UDDF
687
382
 
688
383
  tag "table"
689
384
 
690
- has_one :table_scope, TableScope
385
+ has_one :table_scope, TableScope, tag: "tablescope"
691
386
  end
692
387
 
693
388
  class CalculateProfile
@@ -711,16 +406,16 @@ module UDDF
711
406
 
712
407
  tag "bottomtimetablescope"
713
408
 
714
- has_one :breathing_consumption_volume_begin, Float
715
- has_one :breathing_consumption_volume_end, Float
716
- has_one :breathing_consumption_volume_step, Float
717
- has_one :dive_depth_begin, Float
718
- has_one :dive_depth_end, Float
719
- has_one :dive_depth_step, Float
720
- has_one :tank_pressure_begin, Float
721
- has_one :tank_pressure_reserve, Float
722
- has_one :tank_volume_begin, Float
723
- has_one :tank_volume_end, Float
409
+ has_one :breathing_consumption_volume_begin, Float, tag: "breathingconsumptionvolumebegin"
410
+ has_one :breathing_consumption_volume_end, Float, tag: "breathingconsumptionvolumeend"
411
+ has_one :breathing_consumption_volume_step, Float, tag: "breathingconsumptionvolumestep"
412
+ has_one :dive_depth_begin, Float, tag: "divedepthbegin"
413
+ has_one :dive_depth_end, Float, tag: "divedepthend"
414
+ has_one :dive_depth_step, Float, tag: "divedepthstep"
415
+ has_one :tank_pressure_begin, Float, tag: "tankpressurebegin"
416
+ has_one :tank_pressure_reserve, Float, tag: "tankpressurereserve"
417
+ has_one :tank_volume_begin, Float, tag: "tankvolumebegin"
418
+ has_one :tank_volume_end, Float, tag: "tankvolumeend"
724
419
  end
725
420
 
726
421
  class BottomTimeTable
@@ -729,9 +424,9 @@ module UDDF
729
424
  tag "bottomtimetable"
730
425
 
731
426
  attribute :id, String
732
- has_one :application_data, ApplicationData
733
- has_one :bottom_time_table_scope, BottomTimeTableScope
734
- has_many :links, Link, tag: "link"
427
+ has_one :application_data, Base::Models::ApplicationDataV310, tag: "applicationdata"
428
+ has_one :bottom_time_table_scope, BottomTimeTableScope, tag: "bottomtimetablescope"
429
+ has_many :links, Base::Models::Link, tag: "link"
735
430
  has_one :output, Output
736
431
  has_one :title, String
737
432
  end
@@ -749,862 +444,175 @@ module UDDF
749
444
 
750
445
  tag "tablegeneration"
751
446
 
752
- has_one :calculate_bottom_time_table, CalculateBottomTimeTable
753
- has_one :calculate_profile, CalculateProfile
754
- has_one :calculate_table, CalculateTable
755
- end
756
-
757
- class ImageData
758
- include HappyMapper
759
-
760
- tag "imagedata"
761
-
762
- has_one :aperture, Float
763
- has_one :datetime, DateTime
764
- has_one :exposure_compensation, Float
765
- has_one :film_speed, Integer
766
- has_one :focal_length, Float
767
- has_one :focusing_distance, Float
768
- has_one :metering_method, String
769
- has_one :shutter_speed, Float
447
+ has_one :calculate_bottom_time_table, CalculateBottomTimeTable, tag: "calculatebottomtimetable"
448
+ has_one :calculate_profile, CalculateProfile, tag: "calculateprofile"
449
+ has_one :calculate_table, CalculateTable, tag: "calculatetable"
770
450
  end
771
451
 
772
- class Image
452
+ class Maker
773
453
  include HappyMapper
774
454
 
775
- tag "image"
455
+ tag "maker"
776
456
 
777
- attribute :id, String
778
- attribute :height, Integer
779
- attribute :width, Integer
780
- attribute :format, String
781
- has_one :image_data, ImageData
782
- has_one :object_name, String
783
- has_one :title, String
457
+ has_many :manufacturers, Base::Models::Manufacturer, tag: "manufacturer"
784
458
  end
785
459
 
786
- class Video
460
+ class Business
787
461
  include HappyMapper
788
462
 
789
- tag "video"
463
+ tag "business"
790
464
 
791
- attribute :id, String
792
- has_one :object_name, String
793
- has_one :title, String
465
+ has_one :shop, Base::Models::Shop
794
466
  end
795
467
 
796
- class Audio
468
+ class EquipmentPart
797
469
  include HappyMapper
798
470
 
799
- tag "audio"
471
+ tag "equipmentpart"
800
472
 
801
473
  attribute :id, String
802
- has_one :object_name, String
803
- has_one :title, String
474
+ has_many :alias_names, String, tag: "aliasname"
475
+ has_many :links, Base::Models::Link, tag: "link"
476
+ has_one :manufacturer, Base::Models::Manufacturer
477
+ has_one :model, String
478
+ has_one :name, String
479
+ has_one :next_service_date, Base::Models::DateTimeField, tag: "nextservicedate"
480
+ has_one :notes, Base::Models::Notes
481
+ has_one :purchase, Base::Models::Purchase
482
+ has_one :serial_number, String, tag: "serialnumber"
483
+ has_one :service_interval, Integer, tag: "serviceinterval"
804
484
  end
805
485
 
806
- class MediaData
486
+ class Lead < EquipmentPart
807
487
  include HappyMapper
808
488
 
809
- tag "mediadata"
489
+ tag "lead"
810
490
 
811
- has_many :audio_files, Audio, tag: "audio"
812
- has_many :image_files, Image, tag: "image"
813
- has_many :video_files, Video, tag: "video"
491
+ has_one :lead_quantity, Integer, tag: "leadquantity"
814
492
  end
815
493
 
816
- class Maker
494
+ class Rebreather < EquipmentPart
817
495
  include HappyMapper
818
496
 
819
- tag "maker"
497
+ tag "rebreather"
820
498
 
821
- has_many :manufacturers, Manufacturer, tag: "manufacturer"
499
+ has_many :o2_sensors, EquipmentPart, tag: "o2sensor"
822
500
  end
823
501
 
824
- class PriceDivePackage
502
+ class Suit < EquipmentPart
825
503
  include HappyMapper
826
504
 
827
- tag "pricedivepackage"
505
+ tag "suit"
828
506
 
829
- attribute :currency, String
830
- attribute :no_of_dives, Integer
831
- attribute :value, Float
507
+ has_one :suit_type, String, tag: "suittype"
832
508
  end
833
509
 
834
- class RelatedDives
510
+ class Tank < EquipmentPart
835
511
  include HappyMapper
836
512
 
837
- tag "relateddives"
513
+ tag "tank"
838
514
 
839
- has_many :links, Link, tag: "link"
515
+ has_one :tank_material, String, tag: "tankmaterial"
516
+ has_one :tank_volume, Float, tag: "tankvolume"
840
517
  end
841
518
 
842
- class ShipDimension
519
+ class Camera
843
520
  include HappyMapper
844
521
 
845
- tag "shipdimension"
522
+ tag "camera"
846
523
 
847
- has_one :beam, Float
848
- has_one :displacement, Float
849
- has_one :draught, Float
850
- has_one :length, Float
851
- has_one :tonnage, Float
524
+ has_one :body, EquipmentPart
525
+ has_many :flashes, EquipmentPart, tag: "flash"
526
+ has_one :housing, EquipmentPart
527
+ has_one :lens, EquipmentPart
852
528
  end
853
529
 
854
- class Vessel
530
+ class EquipmentContent
855
531
  include HappyMapper
856
532
 
857
- tag "vessel"
858
-
859
- has_one :address, Base::Models::Address
860
- has_one :alias_name, String
861
- has_one :contact, Base::Models::Contact
862
- has_one :marina, String
863
- has_one :name, String
864
- has_one :notes, Notes
865
- has_many :ratings, Rating, tag: "rating"
866
- has_one :ship_dimension, ShipDimension
867
- has_one :ship_type, String
533
+ has_many :boots, EquipmentPart, tag: "boots"
534
+ has_many :buoyancy_control_devices, EquipmentPart, tag: "buoyancycontroldevice"
535
+ has_many :cameras, Camera, tag: "camera"
536
+ has_many :compasses, EquipmentPart, tag: "compass"
537
+ has_many :dive_computers, EquipmentPart, tag: "divecomputer"
538
+ has_many :fins, EquipmentPart, tag: "fins"
539
+ has_many :gloves, EquipmentPart, tag: "gloves"
540
+ has_many :knives, EquipmentPart, tag: "knife"
541
+ has_many :leads, Lead, tag: "lead"
542
+ has_many :lights, EquipmentPart, tag: "light"
543
+ has_many :masks, EquipmentPart, tag: "mask"
544
+ has_many :rebreathers, Rebreather, tag: "rebreather"
545
+ has_many :regulators, EquipmentPart, tag: "regulator"
546
+ has_many :scooters, EquipmentPart, tag: "scooter"
547
+ has_many :suits, Suit, tag: "suit"
548
+ has_many :tanks, Tank, tag: "tank"
549
+ has_many :various_pieces, EquipmentPart, tag: "variouspieces"
550
+ has_many :video_cameras, EquipmentPart, tag: "videocamera"
551
+ has_many :watches, EquipmentPart, tag: "watch"
868
552
  end
869
553
 
870
- class Operator
554
+ class EquipmentConfiguration < EquipmentContent
871
555
  include HappyMapper
872
556
 
873
- tag "operator"
557
+ tag "equipmentconfiguration"
874
558
 
875
- has_one :alias_name, String
876
- has_one :address, Base::Models::Address
877
- has_one :contact, Base::Models::Contact
559
+ has_many :alias_names, String, tag: "aliasname"
560
+ has_many :links, Base::Models::Link, tag: "link"
878
561
  has_one :name, String
879
- has_one :notes, Notes
880
- has_many :ratings, Rating, tag: "rating"
562
+ has_one :notes, Base::Models::Notes
881
563
  end
882
564
 
883
- class DateOfTrip
565
+ class Equipment < EquipmentContent
884
566
  include HappyMapper
885
567
 
886
- tag "dateoftrip"
568
+ tag "equipment"
887
569
 
888
- attribute :start_date, DateTime
889
- attribute :end_date, DateTime
570
+ has_many :compressors, EquipmentPart, tag: "compressor"
571
+ has_one :equipment_configuration, EquipmentConfiguration, tag: "equipmentconfiguration"
890
572
  end
891
573
 
892
- class Accommodation
574
+ class BuddyOwnerShared
893
575
  include HappyMapper
894
576
 
895
- tag "accommodation"
896
-
577
+ attribute :id, String
897
578
  has_one :address, Base::Models::Address
898
- has_one :alias_name, String
899
- has_one :category, String
900
579
  has_one :contact, Base::Models::Contact
901
- has_one :name, String
902
- has_one :notes, Notes
903
- has_many :ratings, Rating, tag: "rating"
904
- end
905
-
906
- class Geography
907
- include HappyMapper
908
-
909
- tag "geography"
910
-
911
- has_one :address, Base::Models::Address
912
- has_one :altitude, Float
913
- has_one :latitude, Float
914
- has_one :location, String
915
- has_one :longitude, Float
916
- has_one :time_zone, Float
917
- end
918
-
919
- class TripPart
920
- include HappyMapper
921
-
922
- tag "trippart"
923
-
924
- attribute :type, String
925
- has_one :accommodation, Accommodation
926
- has_one :date_of_trip, DateOfTrip
927
- has_one :geography, Geography
928
- has_many :links, Link, tag: "link"
929
- has_one :name, String
930
- has_one :notes, Notes
931
- has_one :operator, Operator
932
- has_one :price_dive_package, PriceDivePackage
933
- has_one :price_per_dive, Price
934
- has_one :related_dives, RelatedDives
935
- has_one :vessel, Vessel
580
+ has_one :dive_insurances, Base::Models::DiveInsurances, tag: "diveinsurances"
581
+ has_one :dive_permissions, Base::Models::DivePermissions, tag: "divepermissions"
582
+ has_one :equipment, Equipment
583
+ has_one :medical, Base::Models::Medical
584
+ has_one :notes, Base::Models::Notes
585
+ has_one :personal, Base::Models::Personal
936
586
  end
937
587
 
938
- class Trip
588
+ class Buddy < BuddyOwnerShared
939
589
  include HappyMapper
940
590
 
941
- tag "trip"
591
+ tag "buddy"
942
592
 
943
593
  attribute :id, String
944
- has_one :alias_name, String
945
- has_one :name, String
946
- has_many :ratings, Rating, tag: "rating"
947
- has_many :trip_parts, TripPart, tag: "trippart"
948
- end
949
-
950
- class DiveTrip
951
- include HappyMapper
952
-
953
- tag "divetrip"
954
-
955
- has_many :trips, Trip, tag: "trip"
956
- end
957
-
958
- class Ecology
959
- include HappyMapper
960
-
961
- tag "ecology"
962
-
963
- has_one :fauna, Fauna
964
- has_one :flora, Flora
965
- end
966
-
967
- class Built
968
- include HappyMapper
969
-
970
- tag "built"
971
-
972
- has_one :launching_date, Date
973
- has_one :ship_yard, String
594
+ has_one :certification, Base::Models::CertificationV322
595
+ has_one :student, String
974
596
  end
975
597
 
976
- class Wreck
598
+ class Owner < BuddyOwnerShared
977
599
  include HappyMapper
978
600
 
979
- tag "wreck"
601
+ tag "owner"
980
602
 
981
- has_one :alias_name, String
982
- has_one :built, Built
983
- has_one :name, String
984
- has_one :nationality, String
985
- has_one :ship_dimension, ShipDimension
986
- has_one :ship_type, String
987
- has_one :sunk, Date
603
+ attribute :id, String
604
+ has_one :education, Base::Models::EducationV322
988
605
  end
989
606
 
990
- class Shore
607
+ class Diver
991
608
  include HappyMapper
992
609
 
993
- tag "shore"
994
-
995
- attribute :id, String
996
- has_one :alias_name, String
997
- has_one :name, String
998
- has_one :notes, Notes
999
- end
1000
-
1001
- class River
1002
- include HappyMapper
1003
-
1004
- tag "river"
1005
-
1006
- attribute :id, String
1007
- has_one :alias_name, String
1008
- has_one :name, String
1009
- has_one :notes, Notes
1010
- end
1011
-
1012
- class Lake
1013
- include HappyMapper
1014
-
1015
- tag "lake"
1016
-
1017
- attribute :id, String
1018
- has_one :alias_name, String
1019
- has_one :name, String
1020
- has_one :notes, Notes
1021
- end
1022
-
1023
- class Indoor
1024
- include HappyMapper
1025
-
1026
- tag "indoor"
1027
-
1028
- has_one :address, Base::Models::Address
1029
- has_one :alias_name, String
1030
- has_one :contact, Base::Models::Contact
1031
- has_one :name, String
1032
- has_one :notes, Notes
1033
- end
1034
-
1035
- class Cave
1036
- include HappyMapper
1037
-
1038
- tag "cave"
1039
-
1040
- attribute :id, String
1041
- has_one :alias_name, String
1042
- has_one :name, String
1043
- has_one :notes, Notes
1044
- end
1045
-
1046
- class SiteData
1047
- include HappyMapper
1048
-
1049
- tag "sidedata"
1050
-
1051
- has_one :area_length, Float
1052
- has_one :area_width, Float
1053
- has_one :average_visibility, Float
1054
- has_one :bottom, String
1055
- has_one :cave, Cave
1056
- has_one :density, Float
1057
- has_one :difficulty, Integer
1058
- has_one :global_light_intensity, String
1059
- has_one :indoor, Indoor
1060
- has_one :maximum_depth, Float
1061
- has_one :maximum_visibility, Float
1062
- has_one :minimum_depth, Float
1063
- has_one :minimum_visibility, Float
1064
- has_one :river, River
1065
- has_one :shore, Shore
1066
- has_one :terrain, String
1067
- has_one :wreck, Wreck
1068
- end
1069
-
1070
- class Site
1071
- include HappyMapper
1072
-
1073
- tag "site"
1074
-
1075
- attribute :id, String
1076
- has_one :alias_name, String
1077
- has_one :ecology, Ecology
1078
- has_one :environment, String
1079
- has_one :geography, Geography
1080
- has_many :links, Link, tag: "link"
1081
- has_one :name, String
1082
- has_one :notes, Notes
1083
- has_many :ratings, Rating, tag: "rating"
1084
- has_one :side_data, SiteData
1085
- end
1086
-
1087
- class Guide
1088
- include HappyMapper
1089
-
1090
- tag "guide"
1091
-
1092
- has_many :links, Link, tag: "link"
1093
- end
1094
-
1095
- class DiveBase
1096
- include HappyMapper
1097
-
1098
- tag "divebase"
1099
-
1100
- attribute :id, String
1101
- has_one :address, Base::Models::Address
1102
- has_one :alias_name, String
1103
- has_one :contact, Base::Models::Contact
1104
- has_many :guides, Guide, tag: "guide"
1105
- has_many :links, Link, tag: "link"
1106
- has_one :name, String
1107
- has_one :notes, Notes
1108
- has_one :price_dive_package, PriceDivePackage
1109
- has_one :price_per_dive, Price
1110
- has_many :ratings, Rating, tag: "rating"
1111
- end
1112
-
1113
- class DiveSite
1114
- include HappyMapper
1115
-
1116
- tag "divesite"
1117
-
1118
- has_many :dive_bases, DiveBase, tag: "divebase"
1119
- has_many :sites, Site, tag: "site"
1120
- end
1121
-
1122
- class Shop
1123
- include HappyMapper
1124
-
1125
- tag "shop"
1126
-
1127
- has_one :alias_name, String
1128
- has_one :address, Base::Models::Address
1129
- has_one :contact, Base::Models::Contact
1130
- has_one :name, String
1131
- has_one :notes, Notes
1132
- end
1133
-
1134
- class Business
1135
- include HappyMapper
1136
-
1137
- tag "business"
1138
-
1139
- has_one :shop, Shop
1140
- end
1141
-
1142
- class Membership
1143
- include HappyMapper
1144
-
1145
- tag "membership"
1146
-
1147
- attribute :organisation, String
1148
- attribute :member_id, String
1149
- end
1150
-
1151
- class NumberOfDives
1152
- include HappyMapper
1153
-
1154
- tag "numberofdives"
1155
-
1156
- has_one :start_date, Date
1157
- has_one :end_date, Date
1158
- has_one :dives, Integer
1159
- end
1160
-
1161
- class Personal
1162
- include HappyMapper
1163
-
1164
- tag "personal"
1165
-
1166
- has_one :birth_date, Date
1167
- has_one :birth_name, String
1168
- has_one :blood_group, String
1169
- has_one :first_name, String
1170
- has_one :height, Float
1171
- has_one :honorific, String
1172
- has_one :last_name, String
1173
- has_one :membership, Membership
1174
- has_one :middle_name, String
1175
- has_one :number_of_dives, NumberOfDives
1176
- has_one :sex, String
1177
- has_one :smoking, String
1178
- has_one :weight, Float
1179
- end
1180
-
1181
- class Instructor
1182
- include HappyMapper
1183
-
1184
- tag "instructor"
1185
-
1186
- has_one :address, Base::Models::Address
1187
- has_one :contact, Base::Models::Contact
1188
- has_one :personal, Personal
1189
- end
1190
-
1191
- class Certification
1192
- include HappyMapper
1193
-
1194
- tag "certification"
1195
-
1196
- has_one :certificate_number, String
1197
- has_one :instructor, Instructor
1198
- has_one :issue_date, Date
1199
- has_one :level, String
1200
- has_one :link, Link
1201
- has_one :organization, String
1202
- has_one :specialty, String
1203
- has_one :valid_date, Date
1204
- end
1205
-
1206
- class Education
1207
- include HappyMapper
1208
-
1209
- tag "education"
1210
-
1211
- has_many :certifications, Certification, tag: "certification"
1212
- end
1213
-
1214
- class Insurance
1215
- include HappyMapper
1216
-
1217
- tag "insurance"
1218
-
1219
- has_one :alias_name, String
1220
- has_one :issue_date, Date
1221
- has_one :name, String
1222
- has_one :notes, Notes
1223
- has_one :valid_date, Date
1224
- end
1225
-
1226
- class DiveInsurances
1227
- include HappyMapper
1228
-
1229
- tag "diveinsurances"
1230
-
1231
- has_many :insurances, Insurance, tag: "insurance"
1232
- end
1233
-
1234
- class Permit
1235
- include HappyMapper
1236
-
1237
- tag "permit"
1238
-
1239
- has_one :alias_name, String
1240
- has_one :issue_date, Date
1241
- has_one :name, String
1242
- has_one :notes, Notes
1243
- has_one :region, String
1244
- has_one :valid_date, Date
1245
- end
1246
-
1247
- class DivePermissions
1248
- include HappyMapper
1249
-
1250
- tag "divepermissions"
1251
-
1252
- has_many :permits, Permit, tag: "permit"
1253
- end
1254
-
1255
- class Purchase
1256
- include HappyMapper
1257
-
1258
- tag "purchase"
1259
-
1260
- has_one :datetime, DateTime
1261
- has_one :link, Link
1262
- has_one :price, Price
1263
- has_one :shop, Shop
1264
- end
1265
-
1266
- class EquipmentPart
1267
- include HappyMapper
1268
-
1269
- tag "equipmentpart"
1270
-
1271
- attribute :id, String
1272
- has_one :alias_name, String
1273
- has_many :links, Link, tag: "link"
1274
- has_one :manufacturer, Manufacturer
1275
- has_one :model, String
1276
- has_one :name, String
1277
- has_one :next_service_date, Date
1278
- has_one :notes, Notes
1279
- has_one :purchase, Purchase
1280
- has_one :serial_number, String
1281
- has_one :service_interval, Integer
1282
- end
1283
-
1284
- class Lead
1285
- include HappyMapper
1286
-
1287
- tag "lead"
1288
-
1289
- has_one :equipment_part, EquipmentPart
1290
- has_one :lead_quantity, Integer
1291
- end
1292
-
1293
- class Rebreather
1294
- include HappyMapper
1295
-
1296
- tag "rebreather"
1297
-
1298
- has_one :equipment_part, EquipmentPart
1299
- has_many :o2_sensors, EquipmentPart, tag: "o2sensor"
1300
- end
1301
-
1302
- class Suit
1303
- include HappyMapper
1304
-
1305
- tag "suit"
1306
-
1307
- has_one :equipment_part, EquipmentPart
1308
- has_one :suit_type, String
1309
- end
1310
-
1311
- class Tank
1312
- include HappyMapper
1313
-
1314
- tag "tank"
1315
-
1316
- has_one :equipment_part, EquipmentPart
1317
- has_one :tank_material, String
1318
- has_one :tank_volume, Float
1319
- end
1320
-
1321
- class Camera
1322
- include HappyMapper
1323
-
1324
- tag "camera"
1325
-
1326
- has_one :body, EquipmentPart
1327
- has_many :flashes, EquipmentPart, tag: "flash"
1328
- has_one :housing, EquipmentPart
1329
- has_one :lens, EquipmentPart
1330
- end
1331
-
1332
- class EquipmentConfiguration
1333
- include HappyMapper
1334
-
1335
- tag "equipmentconfiguration"
1336
-
1337
- has_one :alias_name, String
1338
- has_many :links, Link, tag: "link"
1339
- has_one :name, String
1340
- has_one :notes, Notes
1341
- has_many :boots, EquipmentPart, tag: "boots"
1342
- has_many :buoyancy_control_devices, EquipmentPart, tag: "buoyancycontroldevice"
1343
- has_many :cameras, Camera, tag: "camera"
1344
- has_many :compasses, EquipmentPart, tag: "compass"
1345
- has_many :dive_computers, EquipmentPart, tag: "divecomputer"
1346
- has_many :fins, EquipmentPart, tag: "fins"
1347
- has_many :gloves, EquipmentPart, tag: "gloves"
1348
- has_many :knives, EquipmentPart, tag: "knife"
1349
- has_many :leads, Lead, tag: "lead"
1350
- has_many :lights, EquipmentPart, tag: "light"
1351
- has_many :masks, EquipmentPart, tag: "mask"
1352
- has_many :rebreathers, Rebreather, tag: "rebreather"
1353
- has_many :regulators, EquipmentPart, tag: "regulator"
1354
- has_many :scooters, EquipmentPart, tag: "scooter"
1355
- has_many :suits, Suit, tag: "suit"
1356
- has_many :tanks, Tank, tag: "tank"
1357
- has_many :various_pieces, EquipmentPart, tag: "variouspieces"
1358
- has_many :video_cameras, EquipmentPart, tag: "videocamera"
1359
- has_many :watches, EquipmentPart, tag: "watch"
1360
- end
1361
-
1362
- class Equipment
1363
- include HappyMapper
1364
-
1365
- tag "equipment"
1366
-
1367
- has_many :compressors, EquipmentPart, tag: "compressor"
1368
- has_one :equipment_configuration, EquipmentConfiguration
1369
- has_many :boots, EquipmentPart, tag: "boots"
1370
- has_many :buoyancy_control_devices, EquipmentPart, tag: "buoyancycontroldevice"
1371
- has_many :cameras, Camera, tag: "camera"
1372
- has_many :compasses, EquipmentPart, tag: "compass"
1373
- has_many :dive_computers, EquipmentPart, tag: "divecomputer"
1374
- has_many :fins, EquipmentPart, tag: "fins"
1375
- has_many :gloves, EquipmentPart, tag: "gloves"
1376
- has_many :knives, EquipmentPart, tag: "knife"
1377
- has_many :leads, Lead, tag: "lead"
1378
- has_many :lights, EquipmentPart, tag: "light"
1379
- has_many :masks, EquipmentPart, tag: "mask"
1380
- has_many :rebreathers, Rebreather, tag: "rebreather"
1381
- has_many :regulators, EquipmentPart, tag: "regulator"
1382
- has_many :scooters, EquipmentPart, tag: "scooter"
1383
- has_many :suits, Suit, tag: "suit"
1384
- has_many :tanks, Tank, tag: "tank"
1385
- has_many :various_pieces, EquipmentPart, tag: "variouspieces"
1386
- has_many :video_cameras, EquipmentPart, tag: "videocamera"
1387
- has_many :watches, EquipmentPart, tag: "watch"
1388
- end
1389
-
1390
- class Doctor
1391
- include HappyMapper
1392
-
1393
- tag "doctor"
1394
-
1395
- attribute :id, String
1396
- has_one :address, Base::Models::Address
1397
- has_one :contact, Base::Models::Contact
1398
- has_one :personal, Personal
1399
- end
1400
-
1401
- class Examination
1402
- include HappyMapper
1403
-
1404
- tag "examination"
1405
-
1406
- has_one :datetime, DateTime
1407
- has_one :doctor, Doctor
1408
- has_one :examination_result, String
1409
- has_many :links, Link, tag: "link"
1410
- has_one :notes, Notes
1411
- has_one :total_lung_capacity, Float
1412
- has_one :vital_capacity, Float
1413
- end
1414
-
1415
- class Medical
1416
- include HappyMapper
1417
-
1418
- tag "medical"
1419
-
1420
- has_one :examination, Examination
1421
- end
1422
-
1423
- class BuddyOwnerShared
1424
- include HappyMapper
1425
-
1426
- attribute :id, String
1427
- has_one :address, Base::Models::Address
1428
- has_one :contact, Base::Models::Contact
1429
- has_one :dive_insurances, DiveInsurances
1430
- has_one :dive_permissions, DivePermissions
1431
- has_one :equipment, Equipment
1432
- has_one :medical, Medical
1433
- has_one :notes, Notes
1434
- has_one :personal, Personal
1435
- end
1436
-
1437
- class Buddy
1438
- include HappyMapper
1439
-
1440
- tag "buddy"
1441
-
1442
- attribute :id, String
1443
- has_one :address, Base::Models::Address
1444
- has_one :contact, Base::Models::Contact
1445
- has_one :dive_insurances, DiveInsurances
1446
- has_one :dive_permissions, DivePermissions
1447
- has_one :equipment, Equipment
1448
- has_one :medical, Medical
1449
- has_one :notes, Notes
1450
- has_one :personal, Personal
1451
- has_one :certification, Certification
1452
- has_one :student, String
1453
- end
1454
-
1455
- class Owner
1456
- include HappyMapper
1457
-
1458
- tag "owner"
1459
-
1460
- attribute :id, String
1461
- has_one :address, Base::Models::Address
1462
- has_one :contact, Base::Models::Contact
1463
- has_one :dive_insurances, DiveInsurances
1464
- has_one :dive_permissions, DivePermissions
1465
- has_one :equipment, Equipment
1466
- has_one :medical, Medical
1467
- has_one :notes, Notes
1468
- has_one :personal, Personal
1469
- has_one :education, Education
1470
- end
1471
-
1472
- class Diver
1473
- include HappyMapper
1474
-
1475
- tag "diver"
610
+ tag "diver"
1476
611
 
1477
612
  has_many :buddies, Buddy, tag: "buddy"
1478
613
  has_one :owner, Owner
1479
614
  end
1480
615
 
1481
- class DCAlarm
1482
- include HappyMapper
1483
-
1484
- tag "dcalarm"
1485
-
1486
- has_one :acknowledge, String
1487
- has_one :alarm_type, Integer
1488
- has_one :period, Float
1489
- end
1490
-
1491
- class SetDCDiveDepthAlarm
1492
- include HappyMapper
1493
-
1494
- tag "setdcdivedethalarm"
1495
-
1496
- has_one :dc_alarm, DCAlarm
1497
- has_one :dc_alarm_depth, Float
1498
- end
1499
-
1500
- class SetDCDivePo2Alarm
1501
- include HappyMapper
1502
-
1503
- tag "setdcdivepo2alarm"
1504
-
1505
- has_one :dc_alarm, DCAlarm
1506
- has_one :maximum_po2, Float
1507
- end
1508
-
1509
- class SetDCDiveSiteData
1510
- include HappyMapper
1511
-
1512
- tag "setdcdivesitedata"
1513
-
1514
- attribute :dive_site, String
1515
- end
1516
-
1517
- class SetDCDiveTimeAlarm
1518
- include HappyMapper
1519
-
1520
- tag "setdcdivetimealarm"
1521
-
1522
- has_one :dc_alarm, DCAlarm
1523
- has_one :timespan, Float
1524
- end
1525
-
1526
- class SetDCEndNDTAlarm
1527
- include HappyMapper
1528
-
1529
- tag "setdcendndtalarm"
1530
-
1531
- has_one :dc_alarm, DCAlarm
1532
- end
1533
-
1534
- class SetDCDecoModel
1535
- include HappyMapper
1536
-
1537
- tag "setdcdecomodel"
1538
-
1539
- has_one :alias_name, String
1540
- has_one :application_data, ApplicationData
1541
- has_one :name, String
1542
- end
1543
-
1544
- class SetDCBuddyData
1545
- include HappyMapper
1546
-
1547
- tag "setdcbuddydata"
1548
-
1549
- attribute :buddy, String
1550
- end
1551
-
1552
- class SetDCData
1553
- include HappyMapper
1554
-
1555
- tag "setdcdata"
1556
-
1557
- has_one :set_dc_alarm_time, DateTime
1558
- has_one :set_dc_altitude, Float
1559
- has_one :set_dc_buddy_data, SetDCBuddyData
1560
- has_one :set_dc_date_time, DateTime
1561
- has_one :set_dc_deco_model, SetDCDecoModel
1562
- has_one :set_dc_dive_depth_alarm, SetDCDiveDepthAlarm
1563
- has_one :set_dc_dive_po2_alarm, SetDCDivePo2Alarm
1564
- has_many :set_dc_dive_site_data, SetDCDiveSiteData, tag: "setdcdivesitedata"
1565
- has_one :set_dc_dive_time_alarm, SetDCDiveTimeAlarm
1566
- has_one :set_dc_end_ndt_alarm, SetDCEndNDTAlarm
1567
- has_one :set_dc_gas_definitions_data, String
1568
- has_one :set_dc_owner_data, String
1569
- has_one :set_dc_password, String
1570
- has_one :set_dc_generator_data, String
1571
- end
1572
-
1573
- class GetDCData
1574
- include HappyMapper
1575
-
1576
- tag "getdcdata"
1577
-
1578
- has_one :get_dc_all_data, String
1579
- has_one :get_dc_generator_data, String
1580
- has_one :get_dc_owner_data, String
1581
- has_one :get_dc_buddy_data, String
1582
- has_one :get_dc_gas_definitions_data, String
1583
- has_one :get_dc_dive_site_data, String
1584
- has_one :get_dc_dive_trip_data, String
1585
- has_one :get_dc_profile_data, String
1586
- end
1587
-
1588
- class DiveComputerDump
1589
- include HappyMapper
1590
-
1591
- tag "divecomputerdump"
1592
-
1593
- has_one :datetime, DateTime
1594
- has_one :dc_dump, String
1595
- has_one :link, Link
1596
- end
1597
-
1598
- class DiveComputerControl
1599
- include HappyMapper
1600
-
1601
- tag "divecomputercontrol"
1602
-
1603
- has_many :dive_computer_dumps, DiveComputerDump, tag: "divecomputerdump"
1604
- has_one :get_dc_data, GetDCData
1605
- has_one :set_dc_data, SetDCData
1606
- end
1607
-
1608
616
  class Uddf
1609
617
  include HappyMapper
1610
618
 
@@ -1612,17 +620,17 @@ module UDDF
1612
620
 
1613
621
  attribute :version, String
1614
622
  has_one :business, Business
1615
- has_one :deco_model, DecoModel
1616
- has_one :dive_computer_control, DiveComputerControl
623
+ has_one :deco_model, Base::Models::DecoModelV320, tag: "decomodel"
624
+ has_one :dive_computer_control, Base::Models::DiveComputerControlV310, tag: "divecomputercontrol"
1617
625
  has_one :diver, Diver
1618
- has_one :dive_site, DiveSite
1619
- has_one :dive_trip, DiveTrip
1620
- has_one :gas_definitions, GasDefinitions
1621
- has_one :generator, Generator
626
+ has_one :dive_site, Base::Models::DiveSite, tag: "divesite"
627
+ has_one :dive_trip, Base::Models::DiveTrip, tag: "divetrip"
628
+ has_one :gas_definitions, Base::Models::GasDefinitions, tag: "gasdefinitions"
629
+ has_one :generator, Base::Models::Generator
1622
630
  has_one :maker, Maker
1623
- has_one :media_data, MediaData
1624
- has_one :profile_data, ProfileData
1625
- has_one :table_generation, TableGeneration
631
+ has_one :media_data, Base::Models::MediaData, tag: "mediadata"
632
+ has_one :profile_data, ProfileData, tag: "profiledata"
633
+ has_one :table_generation, TableGeneration, tag: "tablegeneration"
1626
634
  end
1627
635
  end
1628
636
  end