ruby-hotfile 0.1.0 → 0.1.2

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: a46986c47510472234b104b4f3494c99b8b6260d067fe09b4233e0fc6885a087
4
- data.tar.gz: f05977c615cfcaa33091ad8940d3ee62f9e5728db04e5f29dd09c4c703a8a8e3
3
+ metadata.gz: 4c9da781a934470b8f9bb4305b33990c65c6794c3caef0ae4bc099535a412174
4
+ data.tar.gz: cae3669d72dfbca069b47b64b936220e0ca9d734385a70a6b8dc7b292aa227f9
5
5
  SHA512:
6
- metadata.gz: 4f6553e0b1ccae82fa72914a76ea4717de8dfb18ebd0a52a8b3fc818eb728a4aacf65d8c5623dffe6abd5bb806a46ebdf6bf2122e55a46ab9e7bf46cf79fc43f
7
- data.tar.gz: 764472db731f19ad64e6ae0d5e46ecc6cf4f1a2e9e26523bebbfe71806358227c585fb80497bdbd05f48a3520a098cf596065cd733fca3ca6fd44bdabc250867
6
+ metadata.gz: 23e161aad8a8f119a6fd170687d470e6ef96a2c04d39df627d1fff7317749a3af418b6eeacc5243dcaa2094fee7538d23e1a4a733c4d8b440339260e1160deb3
7
+ data.tar.gz: 7398fd3913a84a8f0de13a4ce05829487f2bb17a125d487875c3e105274c99eba3e43e751b0e4ecd461ac5bb3c308bceee0df5b1205409f824a634d3b0055a76
@@ -22,18 +22,24 @@ class Hotfile
22
22
  (.{51})
23
23
  /x).flatten
24
24
 
25
+ departure_time = departure_time.strip
26
+ departure_time = departure_time.insert(2, ':') if departure_time.length > 2
27
+ departure_datetime = DateTime.parse("#{Hotfile::Date.new(departure_date).to_date} #{departure_time}") if departure_date.strip.length > 0
28
+
29
+ arrival_time = arrival_time.strip
30
+ arrival_time = arrival_time.insert(2, ':') if arrival_time.length > 2
31
+ arrival_datetime = DateTime.parse("#{Hotfile::Date.new(arrival_date).to_date} #{arrival_time}") if arrival_date.strip.length > 0
32
+
25
33
  @data = {
26
34
  segment: segment.to_i,
27
35
  departure: {
28
36
  airport: departure_airport.strip,
29
- datetime:
30
- DateTime.parse("#{Hotfile::Date.new(departure_date).to_date} #{departure_time.strip.insert(2, ':')}"),
37
+ datetime: departure_datetime,
31
38
  terminal: departure_terminal.strip
32
39
  },
33
40
  arrival: {
34
41
  airport: arrival_airport.strip,
35
- datetime:
36
- DateTime.parse("#{Hotfile::Date.new(arrival_date).to_date} #{arrival_time.strip.insert(2, ':')}"),
42
+ datetime: arrival_datetime,
37
43
  terminal: arrival_terminal.strip
38
44
  },
39
45
  reserved: reserved.strip
@@ -12,11 +12,11 @@ class Hotfile
12
12
  line.scan(/
13
13
  (\d{10}.)
14
14
  ([\d ]{10}.)
15
- ([A-Z0-9 ]{8})
15
+ (.{8})
16
16
  ([\d ]{10}.)
17
- ([A-Z0-9 ]{8})
17
+ (.{8})
18
18
  ([\d ]{10}.)
19
- ([A-Z0-9 ]{8})
19
+ (.{8})
20
20
  ([\d ]{10}.)
21
21
  (\d{10}.)
22
22
  (.{2})
@@ -24,6 +24,7 @@ class Hotfile
24
24
  end
25
25
 
26
26
  def flight_schedule(flight_records)
27
+ return [] unless flight_records.respond_to?(:each)
27
28
  flight_records.map do |record|
28
29
  d = record[:data]
29
30
  {
@@ -38,6 +39,7 @@ class Hotfile
38
39
  end
39
40
 
40
41
  def passengers(passenger_records)
42
+ return [] unless passenger_records.respond_to?(:each)
41
43
  passenger_records.map do |record|
42
44
  full_name = record[:data][:name]
43
45
  surname, first_name = full_name.split('/')
@@ -61,7 +63,7 @@ class Hotfile
61
63
  end
62
64
 
63
65
  def find_pnr(records)
64
- records.first&.dig(:data, :pnr)&.split('/')&.first
66
+ records&.first&.dig(:data, :pnr)&.split('/')&.first
65
67
  end
66
68
  end
67
69
  end
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-hotfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ferry Landzaat
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-06 00:00:00.000000000 Z
11
+ date: 2026-03-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Parser for IATA HOT files (accounting/sales data) as described in IATA
14
14
  BSP DISH.
15
- email:
15
+ email:
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
@@ -57,7 +57,7 @@ homepage: https://github.com/fjl82/ruby-hotfile
57
57
  licenses:
58
58
  - MIT
59
59
  metadata: {}
60
- post_install_message:
60
+ post_install_message:
61
61
  rdoc_options: []
62
62
  require_paths:
63
63
  - lib
@@ -72,8 +72,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
72
  - !ruby/object:Gem::Version
73
73
  version: '0'
74
74
  requirements: []
75
- rubygems_version: 3.3.5
76
- signing_key:
75
+ rubygems_version: 3.4.20
76
+ signing_key:
77
77
  specification_version: 4
78
78
  summary: Ruby HOTfile parser
79
79
  test_files: []