edoxen 0.3.1 → 0.5.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.
- checksums.yaml +4 -4
- data/README.adoc +170 -31
- data/TODO.meeting-agenda/01-design-decisions.md +132 -0
- data/TODO.meeting-agenda/02-lutaml-canonical.md +61 -0
- data/TODO.meeting-agenda/03-ruby-models.md +73 -0
- data/TODO.meeting-agenda/04-schema.md +34 -0
- data/TODO.meeting-agenda/05-fixtures.md +43 -0
- data/TODO.meeting-agenda/06-specs.md +52 -0
- data/TODO.meeting-agenda/07-cli.md +55 -0
- data/TODO.meeting-agenda/08-docs.md +35 -0
- data/TODO.meeting-agenda/09-verify-and-release.md +41 -0
- data/TODO.meeting-agenda/10-future-enhancements.md +72 -0
- data/TODO.meeting-agenda/README.md +30 -0
- data/lib/edoxen/agenda.rb +26 -0
- data/lib/edoxen/agenda_item.rb +17 -0
- data/lib/edoxen/cli.rb +79 -0
- data/lib/edoxen/date_range.rb +11 -0
- data/lib/edoxen/deadline.rb +10 -0
- data/lib/edoxen/enums.rb +24 -0
- data/lib/edoxen/host_ref.rb +14 -0
- data/lib/edoxen/location.rb +15 -0
- data/lib/edoxen/meeting.rb +68 -0
- data/lib/edoxen/meeting_collection.rb +26 -0
- data/lib/edoxen/meeting_collection_metadata.rb +11 -0
- data/lib/edoxen/meeting_localization.rb +15 -0
- data/lib/edoxen/meeting_relation.rb +12 -0
- data/lib/edoxen/person.rb +14 -0
- data/lib/edoxen/reference.rb +13 -0
- data/lib/edoxen/resolution_metadata.rb +6 -0
- data/lib/edoxen/schedule_item.rb +16 -0
- data/lib/edoxen/source_url.rb +6 -2
- data/lib/edoxen/version.rb +1 -1
- data/lib/edoxen.rb +16 -0
- data/schema/edoxen.yaml +7 -0
- data/schema/meeting.yaml +358 -0
- metadata +27 -2
data/lib/edoxen/source_url.rb
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module Edoxen
|
|
4
4
|
# Per-language canonical source URL (e.g. one PDF per language).
|
|
5
|
-
# Carries the URL ref, its format,
|
|
6
|
-
# is the canonical source for
|
|
5
|
+
# Carries the URL ref, its format, the ISO 639-3 language_code the URL
|
|
6
|
+
# is the canonical source for, and an optional `kind` discriminator
|
|
7
|
+
# (agenda_pdf, minutes_pdf, resolutions_pdf, ...) used by the Meeting
|
|
8
|
+
# model. Existing Resolution fixtures without `kind` still parse —
|
|
9
|
+
# the field is optional.
|
|
7
10
|
class SourceUrl < Lutaml::Model::Serializable
|
|
8
11
|
attribute :ref, :string
|
|
9
12
|
attribute :format, :string
|
|
10
13
|
attribute :language_code, :string
|
|
14
|
+
attribute :kind, :string, values: Enums::SOURCE_URL_KIND
|
|
11
15
|
end
|
|
12
16
|
end
|
data/lib/edoxen/version.rb
CHANGED
data/lib/edoxen.rb
CHANGED
|
@@ -40,6 +40,22 @@ module Edoxen
|
|
|
40
40
|
autoload :ResolutionMetadata, "edoxen/resolution_metadata"
|
|
41
41
|
autoload :ResolutionCollection, "edoxen/resolution_collection"
|
|
42
42
|
|
|
43
|
+
# Meeting / Agenda side. Mirrors edoxen-model/models/meeting*.lutaml.
|
|
44
|
+
autoload :DateRange, "edoxen/date_range"
|
|
45
|
+
autoload :Location, "edoxen/location"
|
|
46
|
+
autoload :Person, "edoxen/person"
|
|
47
|
+
autoload :HostRef, "edoxen/host_ref"
|
|
48
|
+
autoload :ScheduleItem, "edoxen/schedule_item"
|
|
49
|
+
autoload :Deadline, "edoxen/deadline"
|
|
50
|
+
autoload :Reference, "edoxen/reference"
|
|
51
|
+
autoload :AgendaItem, "edoxen/agenda_item"
|
|
52
|
+
autoload :Agenda, "edoxen/agenda"
|
|
53
|
+
autoload :MeetingRelation, "edoxen/meeting_relation"
|
|
54
|
+
autoload :MeetingLocalization, "edoxen/meeting_localization"
|
|
55
|
+
autoload :Meeting, "edoxen/meeting"
|
|
56
|
+
autoload :MeetingCollectionMetadata, "edoxen/meeting_collection_metadata"
|
|
57
|
+
autoload :MeetingCollection, "edoxen/meeting_collection"
|
|
58
|
+
|
|
43
59
|
# Services.
|
|
44
60
|
autoload :SchemaValidator, "edoxen/schema_validator"
|
|
45
61
|
autoload :Cli, "edoxen/cli"
|
data/schema/edoxen.yaml
CHANGED
|
@@ -207,6 +207,10 @@ $defs:
|
|
|
207
207
|
language_code:
|
|
208
208
|
type: string
|
|
209
209
|
pattern: "^[a-z]{3}$"
|
|
210
|
+
kind:
|
|
211
|
+
type: string
|
|
212
|
+
description: "Optional discriminator (agenda_pdf, minutes_pdf, ...)."
|
|
213
|
+
enum: [agenda_pdf, minutes_pdf, resolutions_pdf, report_pdf, register_url, landing_page]
|
|
210
214
|
|
|
211
215
|
# ====================================================================
|
|
212
216
|
# Top-level structures.
|
|
@@ -289,6 +293,9 @@ $defs:
|
|
|
289
293
|
country_code:
|
|
290
294
|
type: string
|
|
291
295
|
description: "ISO 3166-1 alpha-2 country code (2-letter, e.g. DE, FR, JP) of the host country."
|
|
296
|
+
meeting_urn:
|
|
297
|
+
type: string
|
|
298
|
+
description: "URN back-reference to the Meeting that produced this collection."
|
|
292
299
|
|
|
293
300
|
# ====================================================================
|
|
294
301
|
# Enums. Each is referenced by its $ref name above. The schema
|
data/schema/meeting.yaml
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: "http://json-schema.org/draft-07/schema#"
|
|
3
|
+
$id: "https://github.com/metanorma/edoxen/schema/meeting.yaml"
|
|
4
|
+
title: "Edoxen Meeting Schema"
|
|
5
|
+
description: |
|
|
6
|
+
Schema for validating Edoxen Meeting/Agenda YAML files.
|
|
7
|
+
|
|
8
|
+
Mirrors the canonical LutaML information model in
|
|
9
|
+
https://github.com/metanorma/edoxen-model/tree/main/models (meeting*.lutaml,
|
|
10
|
+
agenda*.lutaml, etc.).
|
|
11
|
+
|
|
12
|
+
The root accepts either a single Meeting or a MeetingCollection.
|
|
13
|
+
|
|
14
|
+
Enum lists in this schema are kept in lockstep with
|
|
15
|
+
Edoxen::Enums::* (Meeting side) by
|
|
16
|
+
`spec/edoxen/schema_meeting_enum_sync_spec.rb`.
|
|
17
|
+
type: object
|
|
18
|
+
oneOf:
|
|
19
|
+
- $ref: "#/$defs/MeetingCollection"
|
|
20
|
+
- $ref: "#/$defs/Meeting"
|
|
21
|
+
|
|
22
|
+
$defs:
|
|
23
|
+
|
|
24
|
+
# ====================================================================
|
|
25
|
+
# Reused from schema/edoxen.yaml (re-declared here so this file is
|
|
26
|
+
# self-contained — schema/meeting.yaml does not depend on
|
|
27
|
+
# schema/edoxen.yaml).
|
|
28
|
+
# ====================================================================
|
|
29
|
+
|
|
30
|
+
StructuredIdentifier:
|
|
31
|
+
type: object
|
|
32
|
+
description: "prefix + number identifier. A Meeting carries 1..*."
|
|
33
|
+
additionalProperties: false
|
|
34
|
+
required: [prefix, number]
|
|
35
|
+
properties:
|
|
36
|
+
prefix: { type: string }
|
|
37
|
+
number: { type: string }
|
|
38
|
+
|
|
39
|
+
SourceUrl:
|
|
40
|
+
type: object
|
|
41
|
+
description: "Per-language canonical source URL (PDF, page, register link)."
|
|
42
|
+
additionalProperties: false
|
|
43
|
+
required: [ref]
|
|
44
|
+
properties:
|
|
45
|
+
ref: { type: string }
|
|
46
|
+
format: { type: string }
|
|
47
|
+
language_code:
|
|
48
|
+
type: string
|
|
49
|
+
pattern: "^[a-z]{3}$"
|
|
50
|
+
kind:
|
|
51
|
+
$ref: "#/$defs/SourceUrlKind"
|
|
52
|
+
|
|
53
|
+
# ====================================================================
|
|
54
|
+
# Meeting-side primitive types.
|
|
55
|
+
# ====================================================================
|
|
56
|
+
|
|
57
|
+
DateRange:
|
|
58
|
+
type: object
|
|
59
|
+
description: "Start + end date pair for multi-day meetings."
|
|
60
|
+
additionalProperties: false
|
|
61
|
+
properties:
|
|
62
|
+
start:
|
|
63
|
+
type: string
|
|
64
|
+
format: date
|
|
65
|
+
end:
|
|
66
|
+
type: string
|
|
67
|
+
format: date
|
|
68
|
+
|
|
69
|
+
Location:
|
|
70
|
+
type: object
|
|
71
|
+
description: "Venue geography. Multi-venue meetings carry one Location per venue."
|
|
72
|
+
additionalProperties: false
|
|
73
|
+
properties:
|
|
74
|
+
name: { type: string }
|
|
75
|
+
address: { type: string }
|
|
76
|
+
link: { type: string }
|
|
77
|
+
phone: { type: string }
|
|
78
|
+
note: { type: string }
|
|
79
|
+
lat: { type: number }
|
|
80
|
+
lon: { type: number }
|
|
81
|
+
|
|
82
|
+
Person:
|
|
83
|
+
type: object
|
|
84
|
+
description: "Identity + role + affiliation + contact."
|
|
85
|
+
additionalProperties: false
|
|
86
|
+
properties:
|
|
87
|
+
name: { type: string }
|
|
88
|
+
role: { type: string }
|
|
89
|
+
affiliation: { type: string }
|
|
90
|
+
email: { type: string }
|
|
91
|
+
phone: { type: string }
|
|
92
|
+
orcid: { type: string }
|
|
93
|
+
|
|
94
|
+
HostRef:
|
|
95
|
+
type: object
|
|
96
|
+
description: "Typed reference to an organization that hosts or co-organizes a meeting."
|
|
97
|
+
additionalProperties: false
|
|
98
|
+
required: [ref]
|
|
99
|
+
properties:
|
|
100
|
+
ref: { type: string }
|
|
101
|
+
type:
|
|
102
|
+
$ref: "#/$defs/HostType"
|
|
103
|
+
role: { type: string }
|
|
104
|
+
contact:
|
|
105
|
+
$ref: "#/$defs/Person"
|
|
106
|
+
|
|
107
|
+
ScheduleItem:
|
|
108
|
+
type: object
|
|
109
|
+
description: "One entry in the meeting timetable."
|
|
110
|
+
additionalProperties: false
|
|
111
|
+
properties:
|
|
112
|
+
date:
|
|
113
|
+
type: string
|
|
114
|
+
format: date
|
|
115
|
+
time: { type: string }
|
|
116
|
+
event: { type: string }
|
|
117
|
+
description: { type: string }
|
|
118
|
+
room: { type: string }
|
|
119
|
+
|
|
120
|
+
Deadline:
|
|
121
|
+
type: object
|
|
122
|
+
description: "A time-bound requirement (registration, submission, etc.)."
|
|
123
|
+
additionalProperties: false
|
|
124
|
+
required: [date]
|
|
125
|
+
properties:
|
|
126
|
+
date:
|
|
127
|
+
type: string
|
|
128
|
+
format: date
|
|
129
|
+
description: { type: string }
|
|
130
|
+
|
|
131
|
+
Reference:
|
|
132
|
+
type: object
|
|
133
|
+
description: "Generic document reference (used by AgendaItem.references)."
|
|
134
|
+
additionalProperties: false
|
|
135
|
+
properties:
|
|
136
|
+
ref: { type: string }
|
|
137
|
+
kind: { type: string }
|
|
138
|
+
title: { type: string }
|
|
139
|
+
|
|
140
|
+
# ====================================================================
|
|
141
|
+
# Agenda side.
|
|
142
|
+
# ====================================================================
|
|
143
|
+
|
|
144
|
+
AgendaItem:
|
|
145
|
+
type: object
|
|
146
|
+
description: "One entry on an Agenda."
|
|
147
|
+
additionalProperties: false
|
|
148
|
+
properties:
|
|
149
|
+
label: { type: string }
|
|
150
|
+
kind:
|
|
151
|
+
$ref: "#/$defs/AgendaItemKind"
|
|
152
|
+
title: { type: string }
|
|
153
|
+
description: { type: string }
|
|
154
|
+
references:
|
|
155
|
+
type: array
|
|
156
|
+
items:
|
|
157
|
+
$ref: "#/$defs/Reference"
|
|
158
|
+
outcome:
|
|
159
|
+
$ref: "#/$defs/AgendaItemOutcome"
|
|
160
|
+
resolution_ref:
|
|
161
|
+
type: string
|
|
162
|
+
description: "URN of the resolution this item produced."
|
|
163
|
+
|
|
164
|
+
Agenda:
|
|
165
|
+
type: object
|
|
166
|
+
description: |
|
|
167
|
+
The business-order document of a Meeting. Versioned independently
|
|
168
|
+
of the Meeting via the `status` field (draft, final, amended).
|
|
169
|
+
additionalProperties: false
|
|
170
|
+
properties:
|
|
171
|
+
identifier:
|
|
172
|
+
type: array
|
|
173
|
+
items:
|
|
174
|
+
$ref: "#/$defs/StructuredIdentifier"
|
|
175
|
+
status:
|
|
176
|
+
$ref: "#/$defs/AgendaStatus"
|
|
177
|
+
source_doc: { type: string }
|
|
178
|
+
items:
|
|
179
|
+
type: array
|
|
180
|
+
items:
|
|
181
|
+
$ref: "#/$defs/AgendaItem"
|
|
182
|
+
opening_session:
|
|
183
|
+
$ref: "#/$defs/ScheduleItem"
|
|
184
|
+
closing_session:
|
|
185
|
+
$ref: "#/$defs/ScheduleItem"
|
|
186
|
+
|
|
187
|
+
# ====================================================================
|
|
188
|
+
# Meeting side.
|
|
189
|
+
# ====================================================================
|
|
190
|
+
|
|
191
|
+
MeetingRelation:
|
|
192
|
+
type: object
|
|
193
|
+
description: "Directed link between two meetings."
|
|
194
|
+
additionalProperties: false
|
|
195
|
+
required: [source, destination, type]
|
|
196
|
+
properties:
|
|
197
|
+
source:
|
|
198
|
+
$ref: "#/$defs/StructuredIdentifier"
|
|
199
|
+
destination:
|
|
200
|
+
$ref: "#/$defs/StructuredIdentifier"
|
|
201
|
+
type:
|
|
202
|
+
$ref: "#/$defs/MeetingRelationType"
|
|
203
|
+
|
|
204
|
+
MeetingLocalization:
|
|
205
|
+
type: object
|
|
206
|
+
description: "Per-language content for a Meeting."
|
|
207
|
+
additionalProperties: false
|
|
208
|
+
required: [language_code]
|
|
209
|
+
properties:
|
|
210
|
+
language_code:
|
|
211
|
+
type: string
|
|
212
|
+
pattern: "^[a-z]{3}$"
|
|
213
|
+
script:
|
|
214
|
+
type: string
|
|
215
|
+
pattern: "^[A-Z][a-z]{3}$"
|
|
216
|
+
title: { type: string }
|
|
217
|
+
general_area: { type: string }
|
|
218
|
+
practical_info: { type: string }
|
|
219
|
+
|
|
220
|
+
Meeting:
|
|
221
|
+
type: object
|
|
222
|
+
description: "A single Meeting (event)."
|
|
223
|
+
additionalProperties: false
|
|
224
|
+
required: [identifier, type]
|
|
225
|
+
properties:
|
|
226
|
+
identifier:
|
|
227
|
+
type: array
|
|
228
|
+
minItems: 1
|
|
229
|
+
items:
|
|
230
|
+
$ref: "#/$defs/StructuredIdentifier"
|
|
231
|
+
urn: { type: string }
|
|
232
|
+
ordinal: { type: integer }
|
|
233
|
+
type:
|
|
234
|
+
$ref: "#/$defs/MeetingType"
|
|
235
|
+
status:
|
|
236
|
+
$ref: "#/$defs/MeetingStatus"
|
|
237
|
+
year: { type: integer }
|
|
238
|
+
|
|
239
|
+
date_range:
|
|
240
|
+
$ref: "#/$defs/DateRange"
|
|
241
|
+
|
|
242
|
+
committee: { type: string }
|
|
243
|
+
committee_group: { type: string }
|
|
244
|
+
|
|
245
|
+
venues:
|
|
246
|
+
type: array
|
|
247
|
+
items:
|
|
248
|
+
$ref: "#/$defs/Location"
|
|
249
|
+
general_area: { type: string }
|
|
250
|
+
city: { type: string }
|
|
251
|
+
country_code:
|
|
252
|
+
type: string
|
|
253
|
+
pattern: "^[A-Z]{2}$"
|
|
254
|
+
virtual: { type: boolean }
|
|
255
|
+
|
|
256
|
+
chair: { $ref: "#/$defs/Person" }
|
|
257
|
+
secretary: { $ref: "#/$defs/Person" }
|
|
258
|
+
host: { type: string }
|
|
259
|
+
hosts:
|
|
260
|
+
type: array
|
|
261
|
+
items:
|
|
262
|
+
$ref: "#/$defs/HostRef"
|
|
263
|
+
|
|
264
|
+
source_urls:
|
|
265
|
+
type: array
|
|
266
|
+
items:
|
|
267
|
+
$ref: "#/$defs/SourceUrl"
|
|
268
|
+
landing_url: { type: string }
|
|
269
|
+
registration_url: { type: string }
|
|
270
|
+
|
|
271
|
+
agenda:
|
|
272
|
+
$ref: "#/$defs/Agenda"
|
|
273
|
+
schedule:
|
|
274
|
+
type: array
|
|
275
|
+
items:
|
|
276
|
+
$ref: "#/$defs/ScheduleItem"
|
|
277
|
+
deadlines:
|
|
278
|
+
type: array
|
|
279
|
+
items:
|
|
280
|
+
$ref: "#/$defs/Deadline"
|
|
281
|
+
|
|
282
|
+
localizations:
|
|
283
|
+
type: array
|
|
284
|
+
items:
|
|
285
|
+
$ref: "#/$defs/MeetingLocalization"
|
|
286
|
+
relations:
|
|
287
|
+
type: array
|
|
288
|
+
items:
|
|
289
|
+
$ref: "#/$defs/MeetingRelation"
|
|
290
|
+
resolution_refs:
|
|
291
|
+
type: array
|
|
292
|
+
items: { type: string }
|
|
293
|
+
|
|
294
|
+
MeetingCollectionMetadata:
|
|
295
|
+
type: object
|
|
296
|
+
description: "Display-level metadata for a MeetingCollection."
|
|
297
|
+
additionalProperties: false
|
|
298
|
+
properties:
|
|
299
|
+
title: { type: string }
|
|
300
|
+
source: { type: string }
|
|
301
|
+
|
|
302
|
+
MeetingCollection:
|
|
303
|
+
type: object
|
|
304
|
+
description: "Top-level wrapper for many Meetings in one file."
|
|
305
|
+
additionalProperties: false
|
|
306
|
+
required: [meetings]
|
|
307
|
+
properties:
|
|
308
|
+
metadata:
|
|
309
|
+
$ref: "#/$defs/MeetingCollectionMetadata"
|
|
310
|
+
meetings:
|
|
311
|
+
type: array
|
|
312
|
+
items:
|
|
313
|
+
$ref: "#/$defs/Meeting"
|
|
314
|
+
|
|
315
|
+
# ====================================================================
|
|
316
|
+
# Enums. Each value-list must equal the matching Edoxen::Enums::*
|
|
317
|
+
# frozen array; spec/edoxen/schema_meeting_enum_sync_spec.rb enforces.
|
|
318
|
+
# ====================================================================
|
|
319
|
+
|
|
320
|
+
MeetingType:
|
|
321
|
+
type: string
|
|
322
|
+
description: "Edoxen::Enums::MEETING_TYPE."
|
|
323
|
+
enum: [plenary, working_group, task_group, ad_hoc, joint, conference_session]
|
|
324
|
+
|
|
325
|
+
MeetingStatus:
|
|
326
|
+
type: string
|
|
327
|
+
description: "Edoxen::Enums::MEETING_STATUS."
|
|
328
|
+
enum: [upcoming, completed, cancelled]
|
|
329
|
+
|
|
330
|
+
AgendaStatus:
|
|
331
|
+
type: string
|
|
332
|
+
description: "Edoxen::Enums::AGENDA_STATUS."
|
|
333
|
+
enum: [draft, final, amended, cancelled, superseded]
|
|
334
|
+
|
|
335
|
+
AgendaItemKind:
|
|
336
|
+
type: string
|
|
337
|
+
description: "Edoxen::Enums::AGENDA_ITEM_KIND."
|
|
338
|
+
enum: [numbered, unnumbered, header, opening, closing]
|
|
339
|
+
|
|
340
|
+
AgendaItemOutcome:
|
|
341
|
+
type: string
|
|
342
|
+
description: "Edoxen::Enums::AGENDA_ITEM_OUTCOME."
|
|
343
|
+
enum: [discussed, resolved, deferred, adopted, withdrawn]
|
|
344
|
+
|
|
345
|
+
HostType:
|
|
346
|
+
type: string
|
|
347
|
+
description: "Edoxen::Enums::HOST_TYPE."
|
|
348
|
+
enum: [national_body, liaison, associate, organizer]
|
|
349
|
+
|
|
350
|
+
MeetingRelationType:
|
|
351
|
+
type: string
|
|
352
|
+
description: "Edoxen::Enums::MEETING_RELATION_TYPE."
|
|
353
|
+
enum: [continues_from, continues_to, joint_with, supersedes, superseded_by, rescheduled_from, rescheduled_to]
|
|
354
|
+
|
|
355
|
+
SourceUrlKind:
|
|
356
|
+
type: string
|
|
357
|
+
description: "Edoxen::Enums::SOURCE_URL_KIND."
|
|
358
|
+
enum: [agenda_pdf, minutes_pdf, resolutions_pdf, report_pdf, register_url, landing_page]
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: edoxen
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json_schemer
|
|
@@ -73,31 +73,56 @@ files:
|
|
|
73
73
|
- Gemfile
|
|
74
74
|
- README.adoc
|
|
75
75
|
- Rakefile
|
|
76
|
+
- TODO.meeting-agenda/01-design-decisions.md
|
|
77
|
+
- TODO.meeting-agenda/02-lutaml-canonical.md
|
|
78
|
+
- TODO.meeting-agenda/03-ruby-models.md
|
|
79
|
+
- TODO.meeting-agenda/04-schema.md
|
|
80
|
+
- TODO.meeting-agenda/05-fixtures.md
|
|
81
|
+
- TODO.meeting-agenda/06-specs.md
|
|
82
|
+
- TODO.meeting-agenda/07-cli.md
|
|
83
|
+
- TODO.meeting-agenda/08-docs.md
|
|
84
|
+
- TODO.meeting-agenda/09-verify-and-release.md
|
|
85
|
+
- TODO.meeting-agenda/10-future-enhancements.md
|
|
86
|
+
- TODO.meeting-agenda/README.md
|
|
76
87
|
- edoxen.gemspec
|
|
77
88
|
- exe/edoxen
|
|
78
89
|
- lib/edoxen.rb
|
|
79
90
|
- lib/edoxen/_metadata.rb.deprecated
|
|
80
91
|
- lib/edoxen/action.rb
|
|
92
|
+
- lib/edoxen/agenda.rb
|
|
93
|
+
- lib/edoxen/agenda_item.rb
|
|
81
94
|
- lib/edoxen/approval.rb
|
|
82
95
|
- lib/edoxen/cli.rb
|
|
83
96
|
- lib/edoxen/consideration.rb
|
|
97
|
+
- lib/edoxen/date_range.rb
|
|
98
|
+
- lib/edoxen/deadline.rb
|
|
84
99
|
- lib/edoxen/enums.rb
|
|
85
100
|
- lib/edoxen/error.rb
|
|
101
|
+
- lib/edoxen/host_ref.rb
|
|
86
102
|
- lib/edoxen/localization.rb
|
|
103
|
+
- lib/edoxen/location.rb
|
|
87
104
|
- lib/edoxen/meeting.rb
|
|
105
|
+
- lib/edoxen/meeting_collection.rb
|
|
106
|
+
- lib/edoxen/meeting_collection_metadata.rb
|
|
88
107
|
- lib/edoxen/meeting_identifier.rb
|
|
108
|
+
- lib/edoxen/meeting_localization.rb
|
|
109
|
+
- lib/edoxen/meeting_relation.rb
|
|
110
|
+
- lib/edoxen/person.rb
|
|
111
|
+
- lib/edoxen/reference.rb
|
|
89
112
|
- lib/edoxen/resolution.rb
|
|
90
113
|
- lib/edoxen/resolution_collection.rb
|
|
91
114
|
- lib/edoxen/resolution_date.rb
|
|
92
115
|
- lib/edoxen/resolution_metadata.rb
|
|
93
116
|
- lib/edoxen/resolution_relation.rb
|
|
94
117
|
- lib/edoxen/resolution_set.rb
|
|
118
|
+
- lib/edoxen/schedule_item.rb
|
|
95
119
|
- lib/edoxen/schema_validator.rb
|
|
96
120
|
- lib/edoxen/source_url.rb
|
|
97
121
|
- lib/edoxen/structured_identifier.rb
|
|
98
122
|
- lib/edoxen/url.rb
|
|
99
123
|
- lib/edoxen/version.rb
|
|
100
124
|
- schema/edoxen.yaml
|
|
125
|
+
- schema/meeting.yaml
|
|
101
126
|
- sig/edoxen.rbs
|
|
102
127
|
homepage: https://github.com/metanorma/edoxen
|
|
103
128
|
licenses:
|