edoxen 0.7.2 → 2.1.1
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 +4 -4
- data/.rubocop.yml +17 -1
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +246 -0
- data/README.adoc +308 -153
- data/edoxen.gemspec +10 -10
- data/lib/edoxen/action.rb +1 -1
- data/lib/edoxen/agenda.rb +4 -7
- data/lib/edoxen/agenda_item.rb +10 -3
- data/lib/edoxen/approval.rb +1 -1
- data/lib/edoxen/attendance.rb +16 -10
- data/lib/edoxen/body_vocabulary_entry.rb +24 -0
- data/lib/edoxen/body_vocabulary_host.rb +29 -0
- data/lib/edoxen/cli.rb +117 -120
- data/lib/edoxen/component_localization.rb +11 -0
- data/lib/edoxen/consideration.rb +2 -2
- data/lib/edoxen/contact.rb +24 -0
- data/lib/edoxen/contact_identifier.rb +13 -0
- data/lib/edoxen/contact_method.rb +16 -0
- data/lib/edoxen/decision.rb +69 -0
- data/lib/edoxen/decision_collection.rb +10 -0
- data/lib/edoxen/decision_date.rb +9 -0
- data/lib/edoxen/{resolution_metadata.rb → decision_metadata.rb} +5 -6
- data/lib/edoxen/decision_relation.rb +11 -0
- data/lib/edoxen/entity_ref.rb +74 -0
- data/lib/edoxen/enums.rb +117 -9
- data/lib/edoxen/error.rb +1 -1
- data/lib/edoxen/extension_attribute.rb +78 -0
- data/lib/edoxen/host_ref.rb +1 -1
- data/lib/edoxen/link_checker.rb +8 -8
- data/lib/edoxen/localization.rb +2 -2
- data/lib/edoxen/localization_host.rb +23 -0
- data/lib/edoxen/meeting.rb +63 -39
- data/lib/edoxen/meeting_collection.rb +1 -2
- data/lib/edoxen/meeting_collection_metadata.rb +3 -1
- data/lib/edoxen/meeting_component.rb +41 -0
- data/lib/edoxen/meeting_extension.rb +25 -0
- data/lib/edoxen/meeting_identifier.rb +1 -1
- data/lib/edoxen/meeting_localization.rb +6 -1
- data/lib/edoxen/meeting_series.rb +21 -0
- data/lib/edoxen/minutes.rb +2 -2
- data/lib/edoxen/minutes_section.rb +8 -11
- data/lib/edoxen/motion.rb +51 -0
- data/lib/edoxen/name.rb +29 -0
- data/lib/edoxen/officer.rb +19 -0
- data/lib/edoxen/officers_host.rb +19 -0
- data/lib/edoxen/person.rb +5 -9
- data/lib/edoxen/physical_venue.rb +15 -0
- data/lib/edoxen/recurrence.rb +27 -0
- data/lib/edoxen/recurrence_by_day.rb +10 -0
- data/lib/edoxen/reference_data.rb +35 -41
- data/lib/edoxen/schema_validator.rb +2 -3
- data/lib/edoxen/source_url.rb +3 -3
- data/lib/edoxen/structured_identifier.rb +2 -2
- data/lib/edoxen/topic.rb +37 -0
- data/lib/edoxen/topic_asset.rb +14 -0
- data/lib/edoxen/topic_document.rb +16 -0
- data/lib/edoxen/venue.rb +80 -0
- data/lib/edoxen/venue_validator.rb +56 -0
- data/lib/edoxen/version.rb +1 -1
- data/lib/edoxen/virtual_venue.rb +15 -0
- data/lib/edoxen/vote_record.rb +17 -13
- data/lib/edoxen/voting.rb +45 -0
- data/lib/edoxen/voting_counts.rb +23 -0
- data/lib/edoxen.rb +40 -13
- data/schema/edoxen.yaml +792 -145
- data/schema/meeting.yaml +600 -142
- data/sig/edoxen.rbs +581 -1
- metadata +57 -20
- data/lib/edoxen/_metadata.rb.deprecated +0 -57
- data/lib/edoxen/location.rb +0 -15
- data/lib/edoxen/resolution.rb +0 -43
- data/lib/edoxen/resolution_collection.rb +0 -10
- data/lib/edoxen/resolution_date.rb +0 -11
- data/lib/edoxen/resolution_relation.rb +0 -11
- data/lib/edoxen/resolution_set.rb +0 -17
- data/lib/edoxen/schedule_item.rb +0 -27
- data/lib/edoxen/schedule_item_localization.rb +0 -21
data/sig/edoxen.rbs
CHANGED
|
@@ -1,4 +1,584 @@
|
|
|
1
1
|
module Edoxen
|
|
2
2
|
VERSION: String
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
module Enums
|
|
5
|
+
ACTION_TYPE: Array[String]
|
|
6
|
+
CONSIDERATION_TYPE: Array[String]
|
|
7
|
+
DECISION_KIND: Array[String]
|
|
8
|
+
DECISION_STATUS: Array[String]
|
|
9
|
+
DECISION_DATE_TYPE: Array[String]
|
|
10
|
+
DECISION_RELATION_TYPE: Array[String]
|
|
11
|
+
APPROVAL_TYPE: Array[String]
|
|
12
|
+
APPROVAL_DEGREE: Array[String]
|
|
13
|
+
URL_KIND: Array[String]
|
|
14
|
+
MEETING_TYPE: Array[String]
|
|
15
|
+
MEETING_STATUS: Array[String]
|
|
16
|
+
AGENDA_STATUS: Array[String]
|
|
17
|
+
AGENDA_ITEM_KIND: Array[String]
|
|
18
|
+
AGENDA_ITEM_OUTCOME: Array[String]
|
|
19
|
+
HOST_TYPE: Array[String]
|
|
20
|
+
MEETING_RELATION_TYPE: Array[String]
|
|
21
|
+
SOURCE_URL_KIND: Array[String]
|
|
22
|
+
PARTICIPATION_STATUS: Array[String]
|
|
23
|
+
VOTE_TYPE: Array[String]
|
|
24
|
+
VENUE_KIND: Array[String]
|
|
25
|
+
VIRTUAL_FEATURE: Array[String]
|
|
26
|
+
VISIBILITY: Array[String]
|
|
27
|
+
ATTENDANCE_ROLE: Array[String]
|
|
28
|
+
ATTENDANCE_RESPONSE: Array[String]
|
|
29
|
+
COMPONENT_KIND: Array[String]
|
|
30
|
+
MOTION_STATUS: Array[String]
|
|
31
|
+
VOTING_STATUS: Array[String]
|
|
32
|
+
VOTING_METHOD: Array[String]
|
|
33
|
+
VOTING_OUTCOME: Array[String]
|
|
34
|
+
TOPIC_STATUS: Array[String]
|
|
35
|
+
OFFICER_ROLE: Array[String]
|
|
36
|
+
RECURRENCE_FREQ: Array[String]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
module ReferenceData
|
|
40
|
+
def self.find_unlocode: (String code) -> untyped
|
|
41
|
+
def self.unlocode_exists?: (String code) -> bool
|
|
42
|
+
def self.find_iata: (String code) -> untyped
|
|
43
|
+
def self.iata_exists?: (String code) -> bool
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
class Error < StandardError
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class ValidationError < Error
|
|
50
|
+
SOURCE_SCHEMA: Symbol
|
|
51
|
+
SOURCE_MODEL: Symbol
|
|
52
|
+
SOURCE_SYNTAX: Symbol
|
|
53
|
+
attr_reader file: String
|
|
54
|
+
attr_reader line: Integer
|
|
55
|
+
attr_reader column: Integer
|
|
56
|
+
attr_reader pointer: String
|
|
57
|
+
attr_reader message_text: String
|
|
58
|
+
attr_reader source: Symbol
|
|
59
|
+
def initialize: (file: String, line: Integer, column: Integer, message_text: String, ?pointer: String, ?source: Symbol) -> void
|
|
60
|
+
def to_clickable_format: -> String
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Identifiers / references.
|
|
64
|
+
class StructuredIdentifier < Lutaml::Model::Serializable
|
|
65
|
+
attr_reader prefix: String?
|
|
66
|
+
attr_reader number: String?
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
class MeetingIdentifier < Lutaml::Model::Serializable
|
|
70
|
+
attr_reader venue: String?
|
|
71
|
+
attr_reader date: Date?
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
class Url < Lutaml::Model::Serializable
|
|
75
|
+
attr_reader kind: String?
|
|
76
|
+
attr_reader ref: String?
|
|
77
|
+
attr_reader format: String?
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
class SourceUrl < Lutaml::Model::Serializable
|
|
81
|
+
attr_reader ref: String?
|
|
82
|
+
attr_reader format: String?
|
|
83
|
+
attr_reader language_code: String?
|
|
84
|
+
attr_reader kind: String?
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
class DateRange < Lutaml::Model::Serializable
|
|
88
|
+
attr_reader start: Date?
|
|
89
|
+
attr_reader end: Date?
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
class Deadline < Lutaml::Model::Serializable
|
|
93
|
+
attr_reader date: Date?
|
|
94
|
+
attr_reader description: String?
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
class HostRef < Lutaml::Model::Serializable
|
|
98
|
+
attr_reader ref: String?
|
|
99
|
+
attr_reader type: String?
|
|
100
|
+
attr_reader role: String?
|
|
101
|
+
attr_reader contact: Person?
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
class Reference < Lutaml::Model::Serializable
|
|
105
|
+
attr_reader ref: String?
|
|
106
|
+
attr_reader kind: String?
|
|
107
|
+
attr_reader title: String?
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
class Person < Lutaml::Model::Serializable
|
|
111
|
+
attr_reader name: String?
|
|
112
|
+
attr_reader kind: String?
|
|
113
|
+
attr_reader role: String?
|
|
114
|
+
attr_reader affiliation: String?
|
|
115
|
+
attr_reader email: String?
|
|
116
|
+
attr_reader phone: String?
|
|
117
|
+
attr_reader orcid: String?
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Decision-Side.
|
|
121
|
+
class DecisionDate < Lutaml::Model::Serializable
|
|
122
|
+
attr_reader date: Date?
|
|
123
|
+
attr_reader type: String?
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
class DecisionRelation < Lutaml::Model::Serializable
|
|
127
|
+
attr_reader source: StructuredIdentifier?
|
|
128
|
+
attr_reader destination: StructuredIdentifier?
|
|
129
|
+
attr_reader type: String?
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
class Action < Lutaml::Model::Serializable
|
|
133
|
+
attr_reader type: String?
|
|
134
|
+
attr_reader date_effective: DecisionDate?
|
|
135
|
+
attr_reader message: String?
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
class Approval < Lutaml::Model::Serializable
|
|
139
|
+
attr_reader type: String?
|
|
140
|
+
attr_reader degree: String?
|
|
141
|
+
attr_reader date: DecisionDate?
|
|
142
|
+
attr_reader message: String?
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class Consideration < Lutaml::Model::Serializable
|
|
146
|
+
attr_reader type: String?
|
|
147
|
+
attr_reader date_effective: DecisionDate?
|
|
148
|
+
attr_reader message: String?
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
class Localization < Lutaml::Model::Serializable
|
|
152
|
+
attr_reader language_code: String?
|
|
153
|
+
attr_reader script: String?
|
|
154
|
+
attr_reader title: String?
|
|
155
|
+
attr_reader subject: String?
|
|
156
|
+
attr_reader message: String?
|
|
157
|
+
attr_reader considering: String?
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
class Decision < Lutaml::Model::Serializable
|
|
161
|
+
attr_reader identifier: Array[StructuredIdentifier]?
|
|
162
|
+
attr_reader kind: String?
|
|
163
|
+
attr_reader status: String?
|
|
164
|
+
attr_reader doi: String?
|
|
165
|
+
attr_reader urn: String?
|
|
166
|
+
attr_reader agenda_item: String?
|
|
167
|
+
attr_reader dates: Array[DecisionDate]?
|
|
168
|
+
attr_reader categories: Array[String]?
|
|
169
|
+
attr_reader meeting: MeetingIdentifier?
|
|
170
|
+
attr_reader relations: Array[DecisionRelation]?
|
|
171
|
+
attr_reader urls: Array[Url]?
|
|
172
|
+
attr_reader brought_by_motions: Array[String]?
|
|
173
|
+
attr_reader about_topics: Array[String]?
|
|
174
|
+
attr_reader made_in_component: String?
|
|
175
|
+
attr_reader localizations: Array[Localization]?
|
|
176
|
+
def in_language: (String|Symbol code, ?fallback: bool) -> Localization?
|
|
177
|
+
def primary_localization: -> Localization?
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
class DecisionMetadata < Lutaml::Model::Serializable
|
|
181
|
+
attr_reader title: String?
|
|
182
|
+
attr_reader date: Date?
|
|
183
|
+
attr_reader source: String?
|
|
184
|
+
attr_reader source_urls: Array[SourceUrl]?
|
|
185
|
+
attr_reader city: String?
|
|
186
|
+
attr_reader country_code: String?
|
|
187
|
+
attr_reader meeting_urn: String?
|
|
188
|
+
def city_entry: -> untyped
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
class DecisionCollection < Lutaml::Model::Serializable
|
|
192
|
+
attr_reader metadata: DecisionMetadata?
|
|
193
|
+
attr_reader decisions: Array[Decision]?
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Procedural.
|
|
197
|
+
class Motion < Lutaml::Model::Serializable
|
|
198
|
+
attr_reader identifier: String?
|
|
199
|
+
attr_reader urn: String?
|
|
200
|
+
attr_reader text: String?
|
|
201
|
+
attr_reader mover: Person?
|
|
202
|
+
attr_reader seconders: Array[Person]?
|
|
203
|
+
attr_reader status: String?
|
|
204
|
+
attr_reader introduced_at: untyped
|
|
205
|
+
attr_reader proposed_decision: String?
|
|
206
|
+
attr_reader resulting_decision: String?
|
|
207
|
+
attr_reader votings: Array[String]?
|
|
208
|
+
def carried?: -> bool
|
|
209
|
+
def pending?: -> bool
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
class VotingCounts < Lutaml::Model::Serializable
|
|
213
|
+
attr_reader ayes: Integer?
|
|
214
|
+
attr_reader noes: Integer?
|
|
215
|
+
attr_reader abstentions: Integer?
|
|
216
|
+
attr_reader absent: Integer?
|
|
217
|
+
def total: -> Integer
|
|
218
|
+
def margin: -> Integer
|
|
219
|
+
def tied?: -> bool
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
class VoteRecord < Lutaml::Model::Serializable
|
|
223
|
+
attr_reader decision_ref: String?
|
|
224
|
+
attr_reader voting_ref: String?
|
|
225
|
+
attr_reader person: Person?
|
|
226
|
+
attr_reader affiliation: String?
|
|
227
|
+
attr_reader vote: String?
|
|
228
|
+
attr_reader role: String?
|
|
229
|
+
attr_reader notes: String?
|
|
230
|
+
def affirmative?: -> bool
|
|
231
|
+
def teller?: -> bool
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
class Voting < Lutaml::Model::Serializable
|
|
235
|
+
attr_reader identifier: String?
|
|
236
|
+
attr_reader urn: String?
|
|
237
|
+
attr_reader on_motion: String?
|
|
238
|
+
attr_reader status: String?
|
|
239
|
+
attr_reader voting_method: String?
|
|
240
|
+
attr_reader called_by: Person?
|
|
241
|
+
attr_reader called_at: untyped
|
|
242
|
+
attr_reader result_declared_at: untyped
|
|
243
|
+
attr_reader result: String?
|
|
244
|
+
attr_reader counts: VotingCounts?
|
|
245
|
+
attr_reader casting_vote: VoteRecord?
|
|
246
|
+
attr_reader vote_records: Array[VoteRecord]?
|
|
247
|
+
def decided?: -> bool
|
|
248
|
+
def in_progress?: -> bool
|
|
249
|
+
def passed?: -> bool
|
|
250
|
+
def negatived?: -> bool
|
|
251
|
+
def tied?: -> bool
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
# Topic.
|
|
255
|
+
class TopicDocument < Lutaml::Model::Serializable
|
|
256
|
+
attr_reader identifier: String?
|
|
257
|
+
attr_reader title: String?
|
|
258
|
+
attr_reader version: String?
|
|
259
|
+
attr_reader status: String?
|
|
260
|
+
attr_reader url: String?
|
|
261
|
+
attr_reader format: String?
|
|
262
|
+
attr_reader language_code: String?
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
class TopicAsset < Lutaml::Model::Serializable
|
|
266
|
+
attr_reader identifier: String?
|
|
267
|
+
attr_reader title: String?
|
|
268
|
+
attr_reader kind: String?
|
|
269
|
+
attr_reader url: String?
|
|
270
|
+
attr_reader format: String?
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
class Topic < Lutaml::Model::Serializable
|
|
274
|
+
attr_reader identifier: String?
|
|
275
|
+
attr_reader urn: String?
|
|
276
|
+
attr_reader title: String?
|
|
277
|
+
attr_reader description: String?
|
|
278
|
+
attr_reader status: String?
|
|
279
|
+
attr_reader resumption_of: String?
|
|
280
|
+
attr_reader documents: Array[TopicDocument]?
|
|
281
|
+
attr_reader assets: Array[TopicAsset]?
|
|
282
|
+
attr_reader references: Array[Reference]?
|
|
283
|
+
attr_reader motions: Array[String]?
|
|
284
|
+
attr_reader decisions: Array[String]?
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
# Venue.
|
|
288
|
+
class Venue < Lutaml::Model::Serializable
|
|
289
|
+
attr_reader kind: String?
|
|
290
|
+
attr_reader name: String?
|
|
291
|
+
attr_reader label: String?
|
|
292
|
+
attr_reader description: String?
|
|
293
|
+
attr_reader capacity: Integer?
|
|
294
|
+
attr_reader url: String?
|
|
295
|
+
attr_reader unlocode: String?
|
|
296
|
+
attr_reader iata_code: String?
|
|
297
|
+
attr_reader address: String?
|
|
298
|
+
attr_reader city: String?
|
|
299
|
+
attr_reader country_code: String?
|
|
300
|
+
attr_reader lat: Float?
|
|
301
|
+
attr_reader lon: Float?
|
|
302
|
+
attr_reader building: String?
|
|
303
|
+
attr_reader floor: String?
|
|
304
|
+
attr_reader room: String?
|
|
305
|
+
attr_reader access_notes: String?
|
|
306
|
+
attr_reader uri: String?
|
|
307
|
+
attr_reader features: Array[String]?
|
|
308
|
+
attr_reader passcode: String?
|
|
309
|
+
attr_reader meeting_id: String?
|
|
310
|
+
attr_reader dial_in_numbers: Array[String]?
|
|
311
|
+
attr_reader waiting_room: bool?
|
|
312
|
+
attr_reader registration_required: bool?
|
|
313
|
+
def physical?: -> bool
|
|
314
|
+
def virtual?: -> bool
|
|
315
|
+
def unlocode_entry: -> untyped
|
|
316
|
+
def iata_entry: -> untyped
|
|
317
|
+
def features_list: -> String
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
class PhysicalVenue < Venue
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
class VirtualVenue < Venue
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
class VenueValidator
|
|
327
|
+
attr_reader venue: Venue
|
|
328
|
+
attr_reader errors: Array[String]
|
|
329
|
+
def initialize: (Venue venue) -> void
|
|
330
|
+
def validate: (?auto_populate: bool) -> Array[String]
|
|
331
|
+
def valid?: -> bool
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
# Recurrence.
|
|
335
|
+
class RecurrenceByDay < Lutaml::Model::Serializable
|
|
336
|
+
attr_reader ordinal: Integer?
|
|
337
|
+
attr_reader weekday: String?
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
class Recurrence < Lutaml::Model::Serializable
|
|
341
|
+
attr_reader freq: String?
|
|
342
|
+
attr_reader interval: Integer
|
|
343
|
+
attr_reader count: Integer?
|
|
344
|
+
attr_reader until: untyped
|
|
345
|
+
attr_reader by_day: Array[RecurrenceByDay]?
|
|
346
|
+
attr_reader by_month_day: Array[Integer]?
|
|
347
|
+
attr_reader by_month: Array[Integer]?
|
|
348
|
+
attr_reader by_week_no: Array[Integer]?
|
|
349
|
+
attr_reader by_year_day: Array[Integer]?
|
|
350
|
+
attr_reader by_hour: Array[Integer]?
|
|
351
|
+
attr_reader by_minute: Array[Integer]?
|
|
352
|
+
attr_reader by_second: Array[Integer]?
|
|
353
|
+
attr_reader by_set_pos: Array[Integer]?
|
|
354
|
+
attr_reader week_start: String
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
# Profile mechanism.
|
|
358
|
+
class ExtensionAttribute < Lutaml::Model::Serializable
|
|
359
|
+
attr_reader key: String?
|
|
360
|
+
attr_reader value: String?
|
|
361
|
+
attr_reader integer_value: Integer?
|
|
362
|
+
attr_reader float_value: Float?
|
|
363
|
+
attr_reader boolean_value: bool?
|
|
364
|
+
attr_reader date_value: Date?
|
|
365
|
+
attr_reader date_time_value: untyped
|
|
366
|
+
attr_reader type: String?
|
|
367
|
+
def typed_value: -> untyped
|
|
368
|
+
alias string_value value
|
|
369
|
+
end
|
|
370
|
+
|
|
371
|
+
class MeetingExtension < Lutaml::Model::Serializable
|
|
372
|
+
attr_reader profile: String?
|
|
373
|
+
attr_reader kind: String?
|
|
374
|
+
attr_reader ref: String?
|
|
375
|
+
attr_reader attributes: Array[ExtensionAttribute]?
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
# Officer.
|
|
379
|
+
class Officer < Lutaml::Model::Serializable
|
|
380
|
+
attr_reader role: String?
|
|
381
|
+
attr_reader person: Person?
|
|
382
|
+
attr_reader term_start: Date?
|
|
383
|
+
attr_reader term_end: Date?
|
|
384
|
+
def current?: (?Date date) -> bool
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
# Component.
|
|
388
|
+
class ComponentLocalization < Lutaml::Model::Serializable
|
|
389
|
+
attr_reader language_code: String?
|
|
390
|
+
attr_reader script: String?
|
|
391
|
+
attr_reader title: String?
|
|
392
|
+
attr_reader description: String?
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
class MeetingComponent < Lutaml::Model::Serializable
|
|
396
|
+
attr_reader identifier: String?
|
|
397
|
+
attr_reader urn: String?
|
|
398
|
+
attr_reader kind: String?
|
|
399
|
+
attr_reader title: String?
|
|
400
|
+
attr_reader description: String?
|
|
401
|
+
attr_reader starts_at: untyped
|
|
402
|
+
attr_reader ends_at: untyped
|
|
403
|
+
attr_reader venue_refs: Array[String]?
|
|
404
|
+
attr_reader chair: Person?
|
|
405
|
+
attr_reader agenda_ref: String?
|
|
406
|
+
attr_reader minutes_ref: String?
|
|
407
|
+
attr_reader attendance_refs: Array[String]?
|
|
408
|
+
attr_reader localizations: Array[ComponentLocalization]?
|
|
409
|
+
def duration_seconds: -> Integer?
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
# Series.
|
|
413
|
+
class MeetingSeries < Lutaml::Model::Serializable
|
|
414
|
+
attr_reader identifier: Array[StructuredIdentifier]?
|
|
415
|
+
attr_reader urn: String?
|
|
416
|
+
attr_reader name: String?
|
|
417
|
+
attr_reader description: String?
|
|
418
|
+
attr_reader recurrence: Recurrence?
|
|
419
|
+
attr_reader term: String?
|
|
420
|
+
attr_reader organizer: Person?
|
|
421
|
+
attr_reader hosts: Array[HostRef]?
|
|
422
|
+
attr_reader kind: String?
|
|
423
|
+
attr_reader meeting_refs: Array[String]?
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
# Meeting side.
|
|
427
|
+
class Attendance < Lutaml::Model::Serializable
|
|
428
|
+
attr_reader person: Person?
|
|
429
|
+
attr_reader status: String?
|
|
430
|
+
attr_reader role: String?
|
|
431
|
+
attr_reader response: String?
|
|
432
|
+
attr_reader affiliation: String?
|
|
433
|
+
attr_reader proxy_for: Person?
|
|
434
|
+
attr_reader notes: String?
|
|
435
|
+
def present?: -> bool
|
|
436
|
+
def declined?: -> bool
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
class AgendaItem < Lutaml::Model::Serializable
|
|
440
|
+
attr_reader label: String?
|
|
441
|
+
attr_reader kind: String?
|
|
442
|
+
attr_reader title: String?
|
|
443
|
+
attr_reader description: String?
|
|
444
|
+
attr_reader references: Array[Reference]?
|
|
445
|
+
attr_reader outcome: String?
|
|
446
|
+
attr_reader decision_ref: String?
|
|
447
|
+
attr_reader topics: Array[Topic]?
|
|
448
|
+
attr_reader components: Array[String]?
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
class Agenda < Lutaml::Model::Serializable
|
|
452
|
+
attr_reader identifier: Array[StructuredIdentifier]?
|
|
453
|
+
attr_reader status: String?
|
|
454
|
+
attr_reader source_doc: String?
|
|
455
|
+
attr_reader items: Array[AgendaItem]?
|
|
456
|
+
def find_item: (String|Symbol label) -> AgendaItem?
|
|
457
|
+
end
|
|
458
|
+
|
|
459
|
+
class MinutesSection < Lutaml::Model::Serializable
|
|
460
|
+
attr_reader number: String?
|
|
461
|
+
attr_reader title: String?
|
|
462
|
+
attr_reader narrative: String?
|
|
463
|
+
attr_reader page_start: Integer?
|
|
464
|
+
attr_reader page_end: Integer?
|
|
465
|
+
attr_reader references: Array[Reference]?
|
|
466
|
+
end
|
|
467
|
+
|
|
468
|
+
class Minutes < Lutaml::Model::Serializable
|
|
469
|
+
attr_reader identifier: Array[StructuredIdentifier]?
|
|
470
|
+
attr_reader urn: String?
|
|
471
|
+
attr_reader language_code: String?
|
|
472
|
+
attr_reader script: String?
|
|
473
|
+
attr_reader source_doc: String?
|
|
474
|
+
attr_reader source_pages: String?
|
|
475
|
+
attr_reader sections: Array[MinutesSection]?
|
|
476
|
+
def find_section: (String|Integer number) -> MinutesSection?
|
|
477
|
+
end
|
|
478
|
+
|
|
479
|
+
class MeetingRelation < Lutaml::Model::Serializable
|
|
480
|
+
attr_reader source: StructuredIdentifier?
|
|
481
|
+
attr_reader destination: StructuredIdentifier?
|
|
482
|
+
attr_reader type: String?
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
class MeetingLocalization < Lutaml::Model::Serializable
|
|
486
|
+
attr_reader language_code: String?
|
|
487
|
+
attr_reader script: String?
|
|
488
|
+
attr_reader title: String?
|
|
489
|
+
attr_reader general_area: String?
|
|
490
|
+
attr_reader practical_info: String?
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
class Meeting < Lutaml::Model::Serializable
|
|
494
|
+
attr_reader identifier: Array[StructuredIdentifier]?
|
|
495
|
+
attr_reader urn: String?
|
|
496
|
+
attr_reader ordinal: Integer?
|
|
497
|
+
attr_reader series_ref: String?
|
|
498
|
+
attr_reader type: String?
|
|
499
|
+
attr_reader status: String?
|
|
500
|
+
attr_reader visibility: String?
|
|
501
|
+
attr_reader date_range: DateRange?
|
|
502
|
+
attr_reader recurrence: Recurrence?
|
|
503
|
+
attr_reader venues: Array[Venue]?
|
|
504
|
+
attr_reader general_area: String?
|
|
505
|
+
attr_reader city: String?
|
|
506
|
+
attr_reader country_code: String?
|
|
507
|
+
attr_reader committee: String?
|
|
508
|
+
attr_reader committee_group: String?
|
|
509
|
+
attr_reader officers: Array[Officer]?
|
|
510
|
+
attr_reader hosts: Array[HostRef]?
|
|
511
|
+
attr_reader source_urls: Array[SourceUrl]?
|
|
512
|
+
attr_reader landing_url: String?
|
|
513
|
+
attr_reader registration_url: String?
|
|
514
|
+
attr_reader agenda: Agenda?
|
|
515
|
+
attr_reader components: Array[MeetingComponent]?
|
|
516
|
+
attr_reader deadlines: Array[Deadline]?
|
|
517
|
+
attr_reader attendance: Array[Attendance]?
|
|
518
|
+
attr_reader minutes: Array[Minutes]?
|
|
519
|
+
attr_reader decisions: Array[Decision]?
|
|
520
|
+
attr_reader motions: Array[Motion]?
|
|
521
|
+
attr_reader votings: Array[Voting]?
|
|
522
|
+
attr_reader localizations: Array[MeetingLocalization]?
|
|
523
|
+
attr_reader relations: Array[MeetingRelation]?
|
|
524
|
+
def in_language: (String|Symbol code, ?fallback: bool) -> MeetingLocalization?
|
|
525
|
+
def primary_localization: -> MeetingLocalization?
|
|
526
|
+
def find_agenda_item: (String|Symbol label) -> AgendaItem?
|
|
527
|
+
def city_entry: -> untyped
|
|
528
|
+
def officers_with_role: (String|Symbol role) -> Array[Officer]
|
|
529
|
+
def chair: -> Person?
|
|
530
|
+
def secretary: -> Person?
|
|
531
|
+
def physical_venues: -> Array[Venue]
|
|
532
|
+
def virtual_venues: -> Array[Venue]
|
|
533
|
+
def hybrid?: -> bool
|
|
534
|
+
def virtual_only?: -> bool
|
|
535
|
+
def physical_only?: -> bool
|
|
536
|
+
end
|
|
537
|
+
|
|
538
|
+
class MeetingCollectionMetadata < Lutaml::Model::Serializable
|
|
539
|
+
attr_reader title: String?
|
|
540
|
+
attr_reader source: String?
|
|
541
|
+
end
|
|
542
|
+
|
|
543
|
+
class MeetingCollection < Lutaml::Model::Serializable
|
|
544
|
+
attr_reader metadata: MeetingCollectionMetadata?
|
|
545
|
+
attr_reader meetings: Array[Meeting]?
|
|
546
|
+
def find_by_urn: (String urn) -> Meeting?
|
|
547
|
+
def find_by_identifier: (prefix: String|Symbol, number: String|Symbol) -> Meeting?
|
|
548
|
+
end
|
|
549
|
+
|
|
550
|
+
# Services.
|
|
551
|
+
class SchemaValidator
|
|
552
|
+
ValidationError: class Edoxen::ValidationError
|
|
553
|
+
def initialize: (?String schema_path) -> void
|
|
554
|
+
def validate_file: (String file_path) -> Array[Edoxen::ValidationError]
|
|
555
|
+
def validate_content: (String content, String file_path) -> Array[Edoxen::ValidationError]
|
|
556
|
+
end
|
|
557
|
+
|
|
558
|
+
class LinkChecker
|
|
559
|
+
LinkError: untyped
|
|
560
|
+
def self.check: (String dir) -> Array[LinkError]
|
|
561
|
+
def initialize: (String dir) -> void
|
|
562
|
+
def check: -> Array[LinkError]
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
class Cli
|
|
566
|
+
Profile: Struct[untyped]
|
|
567
|
+
PROFILES: Hash[Symbol, Profile]
|
|
568
|
+
|
|
569
|
+
module Batch
|
|
570
|
+
Result: Struct[untyped]
|
|
571
|
+
def self?.run: (untyped cli, String pattern, ?header: String, ?summary_extra: Array[[String, untyped]]) { (String file) -> Result } -> void
|
|
572
|
+
def self?.expand: (String pattern) -> Array[String]
|
|
573
|
+
def self?.print_summary: (untyped cli, Integer total, Integer ok, Integer bad, Array[[String, untyped]] extra) -> void
|
|
574
|
+
end
|
|
575
|
+
|
|
576
|
+
def initialize: (*untyped args) -> void
|
|
577
|
+
def validate: (String pattern) -> void
|
|
578
|
+
def normalize: (String pattern) -> void
|
|
579
|
+
def validate_meetings: (String pattern) -> void
|
|
580
|
+
def normalize_meetings: (String pattern) -> void
|
|
581
|
+
def unlocode: (String code) -> void
|
|
582
|
+
def iata: (String code) -> void
|
|
583
|
+
end
|
|
4
584
|
end
|