notam 1.1.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45b4ce39f423833013299133d3b54d3ee759d701aa6a53d0075e8546bd48dfa2
4
- data.tar.gz: f4a86ad18546f654becd05db944a2c9b22213f4095794c20dc911dccdfa93be8
3
+ metadata.gz: 9ac9f9d9c891d07fa204936e712b43f3b872d0d79b07298e426e845916d8b20d
4
+ data.tar.gz: 33a5fdaadf77d20c37690e06147942c30167e296cb1e2c41f90d432c44a5f39d
5
5
  SHA512:
6
- metadata.gz: c62bd682d3849093fb96d887f16933159945ecc60edae31da0415cc35f8c2bd4e30655d336a5134eddc0cb9443e7b492aae99f3868dad09c47d3731d7f69bb17
7
- data.tar.gz: a52c3ccb305e863d5cd8dc4bd2ff345406ca9a73ae4493cbc4445b8f7f3d63ab98371f219689b236e2c0257aab503b86700b1a770abd2bebc3a1fbd3a92a0e3a
6
+ metadata.gz: a1d8eb8f529b8cfd2b0da1426093450451dffd85aa28e9ddee6e69e25ec993dc56f5035954c17e10e801dc9ecf90583a5e36306dab8ac4722c1c26305a557107
7
+ data.tar.gz: 17c930b744c09c3059592d8e859c8e3cb8a8e7dc805d847e8ef9eac4f43991f6125af70e5ae4e66f8d56217a922300ea69e7a5c7bc0a52e20dd8863411f350fe
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  Nothing so far
4
4
 
5
+ ## 1.1.2
6
+
7
+ #### Fixes
8
+ * Carry over last base date instead of first base date
9
+
10
+ ## 1.1.1
11
+
12
+ #### Fixes
13
+ * Carry over base date for multiple D-item elements which partially omit to
14
+ mention the month in every element
15
+
5
16
  ## 1.1.0
6
17
 
7
18
  #### Additions
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![Version](https://img.shields.io/gem/v/notam.svg?style=flat)](https://rubygems.org/gems/notam)
2
- [![Tests](https://img.shields.io/github/workflow/status/svoop/notam/Test.svg?style=flat&label=tests)](https://github.com/svoop/notam/actions?workflow=Test)
2
+ [![Tests](https://img.shields.io/github/actions/workflow/status/svoop/notam/test.yml?style=flat&label=tests)](https://github.com/svoop/notam/actions?workflow=Test)
3
3
  [![Code Climate](https://img.shields.io/codeclimate/maintainability/svoop/notam.svg?style=flat)](https://codeclimate.com/github/svoop/notam/)
4
4
  [![Donorbox](https://img.shields.io/badge/donate-on_donorbox-yellow.svg)](https://donorbox.org/bitcetera)
5
5
 
@@ -212,6 +212,7 @@ Parsed | `00:00` | `24:00` | the Ruby way
212
212
  ### References
213
213
 
214
214
  * [ICAO Doc 8126: Aeronautical Information Services Manual](https://www.icao.int/NACC/Documents/eDOCS/AIM/8126_unedited_en%20Jul2021.pdf)
215
+ * [ICAO Doc 10066: Aeronautical Information Management](https://ffac.ch/wp-content/uploads/2020/11/ICAO-Doc-10066-Aeronautical-Information-Management.pdf)
215
216
  * [EUROCONTROL Guidelines Operating Procedures AIS Dynamic Data (OPADD)](https://www.eurocontrol.int/sites/default/files/2021-07/eurocontrol-guidelines-opadd-ed4-1.pdf)
216
217
  * [NOTAM Q Codes](https://www.faa.gov/air_traffic/publications/atpubs/notam_html/appendix_b.html)
217
218
  * [NOTAM Contractions](https://www.notams.faa.gov/downloads/contractions.pdf)
data/lib/notam/item/d.rb CHANGED
@@ -15,7 +15,9 @@ module NOTAM
15
15
  def parse
16
16
  base_date = AIXM.date(data[:effective_at])
17
17
  @schedules = text.sub(/\AD\)/, '').split(',').flat_map do |string|
18
- Schedule.parse(string, base_date: base_date)
18
+ Schedule.parse(string, base_date: base_date).tap do |schedule|
19
+ base_date = schedule.last.last_date || base_date # carry over month
20
+ end
19
21
  end
20
22
  self
21
23
  rescue
@@ -28,7 +28,7 @@ module NOTAM
28
28
 
29
29
  # Active dates or days
30
30
  #
31
- # @note If {#active} lists dates, then {#inactive} must list days and
31
+ # @note If {#actives} lists dates, then {#inactives} must list days and
32
32
  # vice versa.
33
33
  #
34
34
  # @return [Array<NOTAM::Schedule::Dates>, Array<NOTAM::Schedule::Days>]
@@ -41,7 +41,7 @@ module NOTAM
41
41
 
42
42
  # Inactive dates or days
43
43
  #
44
- # @note If {#inactive} lists dates, then {#active} must list days and
44
+ # @note If {#inactives} lists dates, then {#actives} must list days and
45
45
  # vice versa.
46
46
  #
47
47
  # @return [Array<NOTAM::Schedule::Dates>, Array<NOTAM::Schedule::Days>]
@@ -274,6 +274,16 @@ module NOTAM
274
274
  resolve(on: date, xy: xy).slice(date).times.cover? AIXM.time(at)
275
275
  end
276
276
 
277
+ # Last +actives+ date of the schedule (+inatives+ are ignored).
278
+ #
279
+ # @return [AIXM::Date, nil] last date or +nil+ if schedule actives are days
280
+ def last_date
281
+ actives.last.then do |active|
282
+ active = active.last if active.respond_to? :last
283
+ active if active.instance_of? AIXM::Schedule::Date
284
+ end
285
+ end
286
+
277
287
  # @abstract
278
288
  class ScheduleArray < Array
279
289
  # @return [String]
data/lib/notam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NOTAM
4
- VERSION = "1.1.0".freeze
4
+ VERSION = "1.1.2".freeze
5
5
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: notam
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Schwyn
@@ -29,7 +29,7 @@ cert_chain:
29
29
  kAyiRqgxF4dJviwtqI7mZIomWL63+kXLgjOjMe1SHxfIPo/0ji6+r1p4KYa7o41v
30
30
  fwIwU1MKlFBdsjkd
31
31
  -----END CERTIFICATE-----
32
- date: 2022-11-19 00:00:00.000000000 Z
32
+ date: 2023-06-17 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: aixm
@@ -257,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
259
  requirements: []
260
- rubygems_version: 3.3.26
260
+ rubygems_version: 3.4.14
261
261
  signing_key:
262
262
  specification_version: 4
263
263
  summary: Parser for NOTAM (Notice to Airmen) messages
metadata.gz.sig CHANGED
Binary file