aixm 1.3.0 → 1.3.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: af33154acb182006b0c9f4e048c305b2489cba22d15ee1bc9aa724ddec70ceab
4
- data.tar.gz: 44c42b5e93537e33cb2623a19a043216853664358d5c616f59aa884ee4c3e80c
3
+ metadata.gz: 6fa3066c9e65afaa76e4327da9a11a42c27f1baad1a712de3fee6400765c0b6a
4
+ data.tar.gz: 6c0d4261d076fddc05b150b5c1851a61ffa011ff6b8f15f254492987e4f80fb4
5
5
  SHA512:
6
- metadata.gz: e960a18401dd58557db667b01cb3f15683728798f3aee736fda794a18519d7b3fb99e0725154a01b564a4e35658cdde5310402fd1c2b6f2e4550880cf47db98b
7
- data.tar.gz: 2855fb8f01ca9dd515e8c05b60e79d80f4d4af77b48f1b03cc4baaadd1451810b877c92cd9364cb5d84b80f6d99ebda3b8c21d2445143f9d078a9e4e7ef2cc76
6
+ metadata.gz: 88bcefbea10f86f6f5b3c483f546197409dcd06b8751b8f0ced1d2e3730e27559a248486015a0673685d24afb04f306df4ea0acf3f14fe5347c3c9f89d72e23c
7
+ data.tar.gz: 067ee1c2ffc6b251a9063982ee4e5d07492746aa0d780be020b46f549868992397348054c09d08704bb5e4744a0a78da8936ee739870822029a8eb32776c10c0
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -2,16 +2,32 @@
2
2
 
3
3
  Nothing so far
4
4
 
5
+ ## 1.3.2
6
+
7
+ #### Changes
8
+ * Add `#pred` (aliased `#prev`) and `#succ` (alias `#next`) to both
9
+ `AIXM::Date` and `AIXM::Day` in order to use them for iterations
10
+ * Pretty print generic features only to prevent segfaults on large documents
11
+
12
+ ## 1.3.1
13
+
14
+ #### Changes
15
+ * Update certificate
16
+
5
17
  ## 1.3.0
6
18
 
7
19
  #### Breaking Changes
8
20
  * `Document#created_at` no longer falls back to `Document#effective_at`
21
+ * Renamed `AIXM::Date#succ` to `AIXM::Date#next`
9
22
 
10
23
  #### Additions
11
24
  * Refinement to pretty print Nokogiri XML documents
12
25
  * XML comments on features (e.g. to include raw NOTAM)
13
26
  * `Document#expiration_at` for OFMX
14
27
  * Generic features as raw XML (e.g. extracted from another AIXM/OFMX file)
28
+ * Convenience combinator `AIXM::Schedule::DateTime`
29
+ * Shortcuts `AIXM::BEGINNING_OF_DAY` and `AIXM::END_OF_DAY`
30
+ * `AIXM::Date#next` and `AIXM::Date#-`
15
31
 
16
32
  ## 1.2.1
17
33
 
data/README.md CHANGED
@@ -187,6 +187,13 @@ AIXM.config.ignored_errors = /invalid date/i
187
187
  * [VASIS](https://www.rubydoc.info/gems/aixm/AIXM/Component/VASIS.html)
188
188
  * [Vertical limit](https://www.rubydoc.info/gems/aixm/AIXM/Component/VerticalLimit.html)
189
189
 
190
+ ### Schedule
191
+
192
+ * [Date](https://www.rubydoc.info/gems/aixm/AIXM/Schedule/Date.html)
193
+ * [Day](https://www.rubydoc.info/gems/aixm/AIXM/Schedule/Day.html)
194
+ * [Time](https://www.rubydoc.info/gems/aixm/AIXM/Schedule/Time.html)
195
+ * [DateTime](https://www.rubydoc.info/gems/aixm/AIXM/Schedule/DateTime.html)
196
+
190
197
  ## Associations
191
198
 
192
199
  The different models are interwoven with [`has_many` and `has_one` associations](https://www.rubydoc.info/gems/aixm/AIXM/Association).
data/lib/aixm/classes.rb CHANGED
@@ -14,6 +14,7 @@ module AIXM
14
14
  date: 'AIXM::Schedule::Date',
15
15
  day: 'AIXM::Schedule::Day',
16
16
  time: 'AIXM::Schedule::Time',
17
+ datetime: 'AIXM::Schedule::DateTime',
17
18
  address: 'AIXM::Component::Address',
18
19
  approach_lighting: 'AIXM::Component::ApproachLighting',
19
20
  organisation: 'AIXM::Feature::Organisation',
@@ -10,11 +10,11 @@ module AIXM
10
10
  # @yield [Nokogiri::XML::Builder]
11
11
  # @return [Nokogiri::XML::DocumentFragment]
12
12
  def build_fragment
13
- Nokogiri::XML::DocumentFragment.parse('').tap do |document|
14
- Nokogiri::XML::Builder.with(document) do |fragment|
15
- yield fragment
13
+ Nokogiri::XML::DocumentFragment.parse('').tap do |fragment|
14
+ Nokogiri::XML::Builder.with(fragment) do |builder|
15
+ yield builder
16
16
  end
17
- document.elements.each { _1.add_next_sibling("\n") } # add newline between tags on top level
17
+ fragment.elements.each { _1.add_next_sibling("\n") } # add newline between tags on top level
18
18
  end
19
19
  end
20
20
 
data/lib/aixm/document.rb CHANGED
@@ -168,10 +168,13 @@ module AIXM
168
168
  effective: @effective_at.xmlschema,
169
169
  expiration: (@expiration_at&.xmlschema if AIXM.ofmx?)
170
170
  }.compact
171
- Nokogiri::XML::Builder.new do |builder|
171
+ Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |builder|
172
172
  builder.send(AIXM.schema(:root), meta) do |root|
173
+ root.text("\n")
173
174
  AIXM::Concerns::Memoize.method :to_uid do
174
- features.each { _1.add_to(root) }
175
+ # TODO: indent is lost if added directly to the builder
176
+ # features.each { _1.add_to(root) }
177
+ features.each { root << _1.to_xml.indent(2) }
175
178
  end
176
179
  if AIXM.ofmx? && AIXM.config.mid
177
180
  AIXM::PayloadHash::Mid.new(builder.doc).insert_mid
@@ -182,7 +185,7 @@ module AIXM
182
185
 
183
186
  # @return [String] AIXM or OFMX markup
184
187
  def to_xml
185
- document.pretty.to_xml
188
+ document.to_xml
186
189
  end
187
190
  end
188
191
  end
@@ -18,6 +18,8 @@ module AIXM
18
18
  # airspace.add_layer(AIXM.layer)
19
19
  # airspace.geometry.add_segment(AIXM.point or AIXM.arc or AIXM.border or AIXM.circle)
20
20
  #
21
+ # Timetables and remarks have to be set on the layer!
22
+ #
21
23
  # The +id+ is mandatory, however, you may omit it when initializing a new
22
24
  # airspace or assign +nil+ to an existing airspace which will generate a 8
23
25
  # character digest from +type+, +local_type+ and +name+.
@@ -59,7 +59,7 @@ module AIXM
59
59
  element['region'] ||= region if element.name.match?(/Uid$/)
60
60
  end
61
61
  end
62
- builder << decorated_fragment.to_xml
62
+ builder << decorated_fragment.to_pretty_xml
63
63
  end
64
64
  end
65
65
 
@@ -129,33 +129,32 @@ module AIXM
129
129
  end
130
130
  end
131
131
 
132
- # @!method pretty
133
- # Transform the XML document to be pretty when sending +to_xml+
132
+ # @!method to_pretty_xml
133
+ # Pretty printing alternative of +to_xml+
134
134
  #
135
135
  # @example
136
136
  # xml = <<~END
137
- # <xml><aaa> AAA </aaa>
137
+ # <aaa></aaa>
138
138
  # <bbb/>
139
- # <ccc foo="bar" >
140
- # CCC
141
- # </ccc>
142
- # </xml>
139
+ # <ccc foo="bar" >
140
+ # <ddd>
141
+ # </ddd>
142
+ # </ccc>
143
143
  # END
144
- # Nokogiri.XML(xml).pretty.to_xml
145
- # # => <?xml version=\"1.0\" encoding=\"UTF-8\"?>
146
- # <xml>
147
- # <aaa> AAA </aaa>
148
- # <bbb/>
149
- # <ccc foo="bar">
150
- # CCC
151
- # </ccc>
152
- # </xml>
153
- #
154
- # @note This is a refinement for +Nokogiri::XML::Document+
155
- # @return [Nokogiri::XML::Document]
156
- refine Nokogiri::XML::Document do
157
- def pretty
158
- PRETTY_XSLT.transform(self)
144
+ # Nokogiri::XML::DocumentFragment.parse(xml).to_pretty_xml
145
+ # # => <aaa/>
146
+ # <bbb/>
147
+ # <ccc foo="bar">
148
+ # <ddd/>
149
+ # </ccc>
150
+ #
151
+ # @note This is a refinement for +Nokogiri::XML::DocumentFragment+
152
+ # @return [String]
153
+ refine Nokogiri::XML::DocumentFragment do
154
+ def to_pretty_xml
155
+ builder = Nokogiri::XML::Builder.new
156
+ builder.DocumentFragment { _1 << self.to_html }
157
+ AIXM::Refinements::PRETTY_XSLT.transform(builder.doc).at_css('DocumentFragment').children.map(&:to_xml).join("\n")
159
158
  end
160
159
  end
161
160
 
@@ -83,12 +83,28 @@ module AIXM
83
83
  self.class.new(date.strftime(yearless? ? '%m-%d' : '%F'))
84
84
  end
85
85
 
86
+ # Create new date one day prior to this one.
87
+ #
88
+ # @return [AIXM::Schedule::Date]
89
+ def pred
90
+ self.class.new(date.prev_day.to_s.sub(/^-/, '')).at(year: (YEARLESS_YEAR if yearless?))
91
+ end
92
+ alias_method :prev, :pred
93
+
86
94
  # Create new date one day after this one.
87
95
  #
88
96
  # @return [AIXM::Schedule::Date]
89
97
  def succ
90
98
  self.class.new(date.next_day).at(year: (YEARLESS_YEAR if yearless?))
91
99
  end
100
+ alias_method :next, :succ
101
+
102
+ # Calculate difference in days between two dates.
103
+ #
104
+ # @return [Integer]
105
+ def -(date)
106
+ (self.date - date.date).to_i
107
+ end
92
108
 
93
109
  # Convert date to day
94
110
  #
@@ -0,0 +1,56 @@
1
+ using AIXM::Refinements
2
+
3
+ module AIXM
4
+ module Schedule
5
+
6
+ # Datetimes suitable for schedules
7
+ #
8
+ # This class combines +AIXM::Schedule::Date+ and +AIXM::Schedule::Time+:
9
+ #
10
+ # @example
11
+ # datetime = AIXM.datetime('2022-04-20', '20:00') # => 2022-04-20 20:00
12
+ # datetime.date # => 2022-04-20
13
+ # datetime.date.class # => AIXM::Schedule::Date
14
+ # datetime.time # => 20:00
15
+ # datetime.time.class # => AIXM::Schedule::Time
16
+ class DateTime
17
+
18
+ # Date part
19
+ #
20
+ # @return [AIXM::Schedule::Date]
21
+ attr_reader :date
22
+
23
+ # Time part
24
+ #
25
+ # @return [AIXM::Schedule::Time]
26
+ attr_reader :time
27
+
28
+ # Parse the given representation of date and time.
29
+ #
30
+ # @param date [AIXM::Schedule::Date]
31
+ # @param time [AIXM::Schedule::Time]
32
+ def initialize(date, time)
33
+ fail(ArgumentError, 'invalid date') unless date.instance_of? AIXM::Schedule::Date
34
+ fail(ArgumentError, 'invalid time') unless time.instance_of? AIXM::Schedule::Time
35
+ @date, @time = date, time
36
+ end
37
+
38
+ # Human readable representation such as "2002-05-19 20:00"
39
+ #
40
+ # @return [String]
41
+ def to_s
42
+ [@date.to_s, @time.to_s].join(' ')
43
+ end
44
+
45
+ def inspect
46
+ %Q(#<#{self.class} #{to_s}>)
47
+ end
48
+
49
+ # @see Object#hash
50
+ def hash
51
+ [@date.hash, @time.hash].hash
52
+ end
53
+ end
54
+
55
+ end
56
+ end
@@ -13,8 +13,8 @@ module AIXM
13
13
  include AIXM::Concerns::HashEquality
14
14
  include Comparable
15
15
 
16
- DAYS = %i(sunday monday tuesday wednesday thursday friday saturday workday day_preceding_workday day_following_workday holiday day_preceding_holiday day_following_holiday any).freeze
17
- SORTABLE_DAYS = DAYS[0, 7]
16
+ WEEKDAYS = %i(sunday monday tuesday wednesday thursday friday saturday).freeze
17
+ DAYS = (WEEKDAYS + %i(workday day_preceding_workday day_following_workday holiday day_preceding_holiday day_following_holiday any)).freeze
18
18
 
19
19
  # Day of the week or special named day
20
20
  #
@@ -31,7 +31,7 @@ module AIXM
31
31
  self.day = day
32
32
  when Integer
33
33
  fail ArgumentError unless day.between?(0, 6)
34
- self.day = SORTABLE_DAYS[day]
34
+ self.day = WEEKDAYS[day]
35
35
  else
36
36
  fail ArgumentError
37
37
  end
@@ -44,10 +44,37 @@ module AIXM
44
44
  day.to_s.gsub('_', ' ')
45
45
  end
46
46
 
47
+ # Symbol used to initialize this day
48
+ #
49
+ # @return [Symbol]
50
+ def to_sym
51
+ day.to_s.to_sym
52
+ end
53
+
47
54
  def inspect
48
55
  %Q(#<#{self.class} #{to_s}>)
49
56
  end
50
57
 
58
+ # Create new day one day prior to this one.
59
+ #
60
+ # @return [AIXM::Schedule::Day]
61
+ def pred
62
+ return self if any?
63
+ fail(TypeError, "can't iterate from #{day}") unless wday
64
+ self.class.new(WEEKDAYS[wday.pred % 7])
65
+ end
66
+ alias_method :prev, :pred
67
+
68
+ # Create new day one day after this one.
69
+ #
70
+ # @return [AIXM::Schedule::Day]
71
+ def succ
72
+ return self if any?
73
+ fail(TypeError, "can't iterate from #{day}") unless wday
74
+ self.class.new(WEEKDAYS[wday.succ % 7])
75
+ end
76
+ alias_method :next, :succ
77
+
51
78
  # Whether two days are equal.
52
79
  #
53
80
  # @return [Boolean]
@@ -71,7 +98,7 @@ module AIXM
71
98
  #
72
99
  # @return [Boolean]
73
100
  def sortable?
74
- SORTABLE_DAYS.include? day
101
+ WEEKDAYS.include? day
75
102
  end
76
103
 
77
104
  # Whether this schedule day falls within the given range of schedule
@@ -104,6 +131,10 @@ module AIXM
104
131
  fail ArgumentError unless DAYS.include? @day
105
132
  end
106
133
 
134
+ def wday
135
+ WEEKDAYS.index(day.to_sym)
136
+ end
137
+
107
138
  # @note Necessary to use this class in Range.
108
139
  def <=>(other)
109
140
  DAYS.index(day) <=> DAYS.index(other.day) || day.to_s <=> other.to_s
@@ -19,6 +19,10 @@ module AIXM
19
19
  # @example
20
20
  # time = AIXM.time('21:30') # => 21:30
21
21
  # time.covered_by?(AIXM.time('20:00')..AIXM.time('02:00')) # => true
22
+ #
23
+ # ===Shortcuts:
24
+ # * +AIXM::BEGINNING_OF_DAY+ - midnight expressed as "00:00"
25
+ # * +AIXM::END_OF_DAY+ - midnight expressed as "24:00"
22
26
  class Time
23
27
  include AIXM::Concerns::HashEquality
24
28
  extend Forwardable
@@ -73,7 +77,7 @@ module AIXM
73
77
  case time_or_event
74
78
  when Symbol
75
79
  self.event = time_or_event
76
- when ::Time, DateTime
80
+ when ::Time, ::DateTime
77
81
  time_or_event = time_or_event.to_time
78
82
  set_time(time_or_event.hour, time_or_event.min, time_or_event.utc_offset)
79
83
  when /\A(\d{2}):?(\d{2}) ?([+-]\d{2}:?\d{2}|UTC)?\z/
@@ -15,10 +15,16 @@ module AIXM
15
15
  # Max flight level used to signal "no upper limit"
16
16
  UNLIMITED = z(999, :qne).freeze
17
17
 
18
+ # Day to signal "whatever date or day"
19
+ ANY_DAY = AIXM.day(:any).freeze
20
+
18
21
  # Timetable used to signal "always active"
19
22
  H24 = timetable(code: :H24).freeze
20
23
 
21
- # Day to signal "whatever date or day"
22
- ANY_DAY = AIXM.day(:any).freeze
24
+ # Time which marks midnight at beginning of the day
25
+ BEGINNING_OF_DAY = AIXM.time('00:00').freeze
26
+
27
+ # Time which marks midnight at end of the day
28
+ END_OF_DAY = AIXM.time('24:00').freeze
23
29
 
24
30
  end
data/lib/aixm/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module AIXM
2
- VERSION = "1.3.0".freeze
2
+ VERSION = "1.3.2".freeze
3
3
  end
data/lib/aixm.rb CHANGED
@@ -45,6 +45,7 @@ require_relative 'aixm/p'
45
45
  require_relative 'aixm/schedule/date'
46
46
  require_relative 'aixm/schedule/day'
47
47
  require_relative 'aixm/schedule/time'
48
+ require_relative 'aixm/schedule/date_time'
48
49
 
49
50
  require_relative 'aixm/component'
50
51
  require_relative 'aixm/component/address'
data.tar.gz.sig CHANGED
@@ -1,3 +1 @@
1
- f���}fu���D`,F��E���Z�Q{FA��g\���f�,P�*��ϗ@P���;���:7���ܫ�\俭��z ��-}����ʢ挰��N��A�ь�Z*��J�xÕ�smЖ�?Wd4��.7�7�)���
2
- =sZ���/���!wv���cU�p��#�����]��yY��R �S �O�S� �����՚�af�5
3
- �?����"��8.�lCHv;���P�՗(��e.���m�v��7
1
+ ����mL��h\S��g���o>;i��w%*�Uk��R��0��]Fl�D����l�w��f�i�Z�,��9�`�6w�$@*�3����H������{Ut���VWul���~N��ݥzh�=l�簣�n"G���dYh�,w_�E���v �2�^m�<XZ��o6�$���ųQ9��"㗨�;����� ����Ow�]�cD�2�j�Ts ��f�u%�S�����1�D *O?��q��P)C4̈t��Z��
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aixm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Schwyn
@@ -10,27 +10,26 @@ bindir: exe
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQ0wCwYDVQQDDARydWJ5
14
- MRkwFwYKCZImiZPyLGQBGRYJYml0Y2V0ZXJhMRMwEQYKCZImiZPyLGQBGRYDY29t
15
- MB4XDTIxMTEwODE0MzIyM1oXDTIyMTEwODE0MzIyM1owPzENMAsGA1UEAwwEcnVi
16
- eTEZMBcGCgmSJomT8ixkARkWCWJpdGNldGVyYTETMBEGCgmSJomT8ixkARkWA2Nv
17
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANwuD4geNdhpSVNJTtHb
18
- fmVAoPxmER4oyGgaVJSidn/OjU5PcpdypMI/WIxfvjfFizq6kQYAsJZbCr6fG+UN
19
- 2dZGMXcAC/uKQL5nYESjCPJ4IJP/SC+fiiEpxHQk7PNFoiUVRUieUZIAfHZAdnY3
20
- ye1/niW7ud0vwKIMrysKWxjgkE0Y6Af1QLzV/6brVRRC5MvHIzYJd8BiSP+wY1O8
21
- VElw1f6d90KEz2vaQfX7vCxrzIbvAnYiSvM0AIPy/zigTqpW6w3w4sQxQj81oQ9U
22
- 9vDYtQzXj0c9VrSLvb0DgiGug2cU2bDjA4L3cBE1szX4tbfo8syYqMq51/kTGDxW
23
- YNUCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJ8r
24
- wy1HraZDqg3Khf9UonMWMtJUMB0GA1UdEQQWMBSBEnJ1YnlAYml0Y2V0ZXJhLmNv
25
- bTAdBgNVHRIEFjAUgRJydWJ5QGJpdGNldGVyYS5jb20wDQYJKoZIhvcNAQEFBQAD
26
- ggEBACI7lJKRbnRjz0T4Wb9jH4SE0A2yaHAoBzj96luVDjNyoRT3688trEZS75Sg
27
- GKfChxqKncBrSpxJ0YfWbymNHfUrKhcdSifJ/TtUrTasm6LSnJYLOnLKDO3v8eL3
28
- gRTq8a5wA7Xtijx3MJEyzdeUh7N+UMKuPps/flPgH5yabUxgxrvuhrXF7Z96nrsP
29
- EOmNMTc8H7wo4BAKfuMcI/Gh2oCf+tAhr0bGsXyBikmJ6XA45mrOMgv19M1+aMpn
30
- 1+2Y1+i+4jd1B7qxIgOLxQTNIJiwE0sqU1itFfuesfgUACS7M0IV9u9Bp4hBGNEw
31
- 5JcY2h7owdMxXIvgk1oakgldFJc=
13
+ MIIDODCCAiCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhydWJ5
14
+ L0RDPWJpdGNldGVyYS9EQz1jb20wHhcNMjIxMTA2MTIzNjUwWhcNMjMxMTA2MTIz
15
+ NjUwWjAjMSEwHwYDVQQDDBhydWJ5L0RDPWJpdGNldGVyYS9EQz1jb20wggEiMA0G
16
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDcLg+IHjXYaUlTSU7R235lQKD8ZhEe
17
+ KMhoGlSUonZ/zo1OT3KXcqTCP1iMX743xYs6upEGALCWWwq+nxvlDdnWRjF3AAv7
18
+ ikC+Z2BEowjyeCCT/0gvn4ohKcR0JOzzRaIlFUVInlGSAHx2QHZ2N8ntf54lu7nd
19
+ L8CiDK8rClsY4JBNGOgH9UC81f+m61UUQuTLxyM2CXfAYkj/sGNTvFRJcNX+nfdC
20
+ hM9r2kH1+7wsa8yG7wJ2IkrzNACD8v84oE6qVusN8OLEMUI/NaEPVPbw2LUM149H
21
+ PVa0i729A4IhroNnFNmw4wOC93ARNbM1+LW36PLMmKjKudf5Exg8VmDVAgMBAAGj
22
+ dzB1MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBSfK8MtR62mQ6oN
23
+ yoX/VKJzFjLSVDAdBgNVHREEFjAUgRJydWJ5QGJpdGNldGVyYS5jb20wHQYDVR0S
24
+ BBYwFIEScnVieUBiaXRjZXRlcmEuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAYG2na
25
+ ye8OE2DANQIFM/xDos/E4DaPWCJjX5xvFKNKHMCeQYPeZvLICCwyw2paE7Otwk6p
26
+ uvbg2Ks5ykXsbk5i6vxDoeeOLvmxCqI6m+tHb8v7VZtmwRJm8so0eSX0WvTaKnIf
27
+ CAn1bVUggczVdNoBXw9WAILKyw9bvh3Ft740XZrR74sd+m2pGwjCaM8hzLvrVbGP
28
+ DyYhlBeRWyQKQ0WDIsiTSRhzK8HwSTUWjvPwx7SEdIU/HZgyrk0ETObKPakVu6bH
29
+ kAyiRqgxF4dJviwtqI7mZIomWL63+kXLgjOjMe1SHxfIPo/0ji6+r1p4KYa7o41v
30
+ fwIwU1MKlFBdsjkd
32
31
  -----END CERTIFICATE-----
33
- date: 2022-05-04 00:00:00.000000000 Z
32
+ date: 2022-11-18 00:00:00.000000000 Z
34
33
  dependencies:
35
34
  - !ruby/object:Gem::Dependency
36
35
  name: nokogiri
@@ -266,6 +265,7 @@ files:
266
265
  - lib/aixm/r.rb
267
266
  - lib/aixm/refinements.rb
268
267
  - lib/aixm/schedule/date.rb
268
+ - lib/aixm/schedule/date_time.rb
269
269
  - lib/aixm/schedule/day.rb
270
270
  - lib/aixm/schedule/time.rb
271
271
  - lib/aixm/shortcuts.rb
@@ -312,7 +312,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
312
312
  - !ruby/object:Gem::Version
313
313
  version: '0'
314
314
  requirements: []
315
- rubygems_version: 3.3.13
315
+ rubygems_version: 3.3.26
316
316
  signing_key:
317
317
  specification_version: 4
318
318
  summary: Builder for AIXM/OFMX aeronautical information
metadata.gz.sig CHANGED
Binary file