edoxen 0.5.0 → 0.8.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 +26 -1
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +133 -0
- data/CLAUDE.md +10 -6
- data/Gemfile +4 -0
- data/README.adoc +417 -181
- data/TODO.meeting-agenda/02-lutaml-canonical.md +1 -1
- data/TODO.meeting-agenda/09-verify-and-release.md +3 -3
- data/TODO.meeting-agenda/README.md +2 -2
- data/edoxen.gemspec +10 -9
- data/lib/edoxen/action.rb +5 -4
- data/lib/edoxen/agenda.rb +4 -7
- data/lib/edoxen/agenda_item.rb +12 -5
- data/lib/edoxen/approval.rb +2 -2
- data/lib/edoxen/attendance.rb +29 -0
- data/lib/edoxen/body_vocabulary_entry.rb +24 -0
- data/lib/edoxen/body_vocabulary_host.rb +40 -0
- data/lib/edoxen/cli.rb +186 -108
- data/lib/edoxen/consideration.rb +6 -4
- data/lib/edoxen/contact.rb +35 -0
- data/lib/edoxen/contact_collection.rb +26 -0
- data/lib/edoxen/contact_identifier.rb +13 -0
- data/lib/edoxen/contact_method.rb +16 -0
- data/lib/edoxen/date_time_range.rb +16 -0
- data/lib/edoxen/deadline.rb +1 -1
- data/lib/edoxen/decision.rb +57 -0
- data/lib/edoxen/decision_collection.rb +10 -0
- data/lib/edoxen/decision_date.rb +9 -0
- data/lib/edoxen/decision_metadata.rb +27 -0
- data/lib/edoxen/decision_relation.rb +11 -0
- data/lib/edoxen/declaration.rb +25 -0
- data/lib/edoxen/entity_ref.rb +74 -0
- data/lib/edoxen/enums.rb +129 -8
- 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 +194 -0
- data/lib/edoxen/localized_name.rb +16 -0
- data/lib/edoxen/localized_string.rb +22 -0
- data/lib/edoxen/meeting.rb +42 -36
- data/lib/edoxen/meeting_collection.rb +1 -2
- data/lib/edoxen/meeting_collection_metadata.rb +4 -2
- data/lib/edoxen/meeting_component.rb +37 -0
- data/lib/edoxen/meeting_extension.rb +25 -0
- data/lib/edoxen/meeting_identifier.rb +1 -1
- data/lib/edoxen/meeting_series.rb +26 -0
- data/lib/edoxen/minutes.rb +30 -0
- data/lib/edoxen/minutes_section.rb +26 -0
- 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.rb +1 -1
- data/lib/edoxen/reference_data.rb +85 -0
- data/lib/edoxen/schema_validator.rb +3 -4
- data/lib/edoxen/source_url.rb +4 -4
- data/lib/edoxen/statement.rb +21 -0
- data/lib/edoxen/structured_identifier.rb +2 -2
- data/lib/edoxen/topic.rb +39 -0
- data/lib/edoxen/topic_asset.rb +14 -0
- data/lib/edoxen/topic_document.rb +16 -0
- data/lib/edoxen/venue.rb +79 -0
- data/lib/edoxen/venue_collection.rb +18 -0
- data/lib/edoxen/venue_validator.rb +74 -0
- data/lib/edoxen/version.rb +1 -1
- data/lib/edoxen/virtual_venue.rb +15 -0
- data/lib/edoxen/vote_record.rb +29 -0
- data/lib/edoxen/voting.rb +45 -0
- data/lib/edoxen/voting_counts.rb +23 -0
- data/lib/edoxen.rb +53 -14
- data/schema/edoxen.yaml +1378 -247
- data/schema/meeting.yaml +1258 -201
- data/sig/edoxen.rbs +581 -1
- metadata +82 -21
- data/lib/edoxen/_metadata.rb.deprecated +0 -57
- data/lib/edoxen/localization.rb +0 -18
- data/lib/edoxen/location.rb +0 -15
- data/lib/edoxen/meeting_localization.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_metadata.rb +0 -22
- data/lib/edoxen/resolution_relation.rb +0 -11
- data/lib/edoxen/resolution_set.rb +0 -17
- data/lib/edoxen/schedule_item.rb +0 -16
data/lib/edoxen.rb
CHANGED
|
@@ -18,45 +18,84 @@ module Edoxen
|
|
|
18
18
|
# There are intentionally NO `require_relative` calls in this gem —
|
|
19
19
|
# autoload keeps load-order semantics clean and lets us tolerate the
|
|
20
20
|
# extensive cross-references between model classes
|
|
21
|
-
# (
|
|
21
|
+
# (Decision <-> Localization, DecisionMetadata <-> Localization, etc.).
|
|
22
22
|
autoload :VERSION, "edoxen/version"
|
|
23
23
|
autoload :Error, "edoxen/error"
|
|
24
24
|
autoload :ValidationError, "edoxen/error"
|
|
25
25
|
autoload :Enums, "edoxen/enums"
|
|
26
|
+
autoload :ReferenceData, "edoxen/reference_data"
|
|
26
27
|
|
|
27
|
-
#
|
|
28
|
-
|
|
28
|
+
# --- Shared behaviours (mixed into entity + metadata classes) --------
|
|
29
|
+
autoload :OfficersHost, "edoxen/officers_host"
|
|
30
|
+
autoload :BodyVocabularyHost, "edoxen/body_vocabulary_host"
|
|
31
|
+
|
|
32
|
+
# --- Decision side ----------------------------------------------------
|
|
29
33
|
autoload :StructuredIdentifier, "edoxen/structured_identifier"
|
|
30
34
|
autoload :MeetingIdentifier, "edoxen/meeting_identifier"
|
|
31
|
-
autoload :
|
|
35
|
+
autoload :DecisionDate, "edoxen/decision_date"
|
|
32
36
|
autoload :Action, "edoxen/action"
|
|
33
37
|
autoload :Approval, "edoxen/approval"
|
|
34
38
|
autoload :Consideration, "edoxen/consideration"
|
|
35
39
|
autoload :SourceUrl, "edoxen/source_url"
|
|
36
|
-
autoload :Localization, "edoxen/localization"
|
|
37
40
|
autoload :Url, "edoxen/url"
|
|
38
|
-
autoload :
|
|
39
|
-
autoload :
|
|
40
|
-
autoload :
|
|
41
|
-
autoload :
|
|
41
|
+
autoload :DecisionRelation, "edoxen/decision_relation"
|
|
42
|
+
autoload :Decision, "edoxen/decision"
|
|
43
|
+
autoload :DecisionMetadata, "edoxen/decision_metadata"
|
|
44
|
+
autoload :DecisionCollection, "edoxen/decision_collection"
|
|
42
45
|
|
|
43
|
-
# Meeting
|
|
46
|
+
# --- Meeting/Agenda side ----------------------------------------------
|
|
44
47
|
autoload :DateRange, "edoxen/date_range"
|
|
45
|
-
autoload :
|
|
48
|
+
autoload :ContactMethod, "edoxen/contact_method"
|
|
49
|
+
autoload :ContactIdentifier, "edoxen/contact_identifier"
|
|
50
|
+
autoload :Name, "edoxen/name"
|
|
51
|
+
autoload :Contact, "edoxen/contact"
|
|
52
|
+
autoload :LocalizedString, "edoxen/localized_string"
|
|
53
|
+
autoload :LocalizedName, "edoxen/localized_name"
|
|
46
54
|
autoload :Person, "edoxen/person"
|
|
47
55
|
autoload :HostRef, "edoxen/host_ref"
|
|
48
|
-
autoload :ScheduleItem, "edoxen/schedule_item"
|
|
49
56
|
autoload :Deadline, "edoxen/deadline"
|
|
50
57
|
autoload :Reference, "edoxen/reference"
|
|
51
58
|
autoload :AgendaItem, "edoxen/agenda_item"
|
|
52
59
|
autoload :Agenda, "edoxen/agenda"
|
|
60
|
+
autoload :Attendance, "edoxen/attendance"
|
|
61
|
+
autoload :VoteRecord, "edoxen/vote_record"
|
|
62
|
+
autoload :MinutesSection, "edoxen/minutes_section"
|
|
63
|
+
autoload :Minutes, "edoxen/minutes"
|
|
53
64
|
autoload :MeetingRelation, "edoxen/meeting_relation"
|
|
54
|
-
autoload :MeetingLocalization, "edoxen/meeting_localization"
|
|
55
65
|
autoload :Meeting, "edoxen/meeting"
|
|
56
66
|
autoload :MeetingCollectionMetadata, "edoxen/meeting_collection_metadata"
|
|
57
67
|
autoload :MeetingCollection, "edoxen/meeting_collection"
|
|
58
68
|
|
|
59
|
-
#
|
|
69
|
+
# --- BS 0:2006 meeting-minutes concepts --------------------------------
|
|
70
|
+
autoload :Statement, "edoxen/statement"
|
|
71
|
+
autoload :Declaration, "edoxen/declaration"
|
|
72
|
+
autoload :DateTimeRange, "edoxen/date_time_range"
|
|
73
|
+
|
|
74
|
+
# --- v2 broadened-scope entities --------------------------------------
|
|
75
|
+
autoload :ExtensionAttribute, "edoxen/extension_attribute"
|
|
76
|
+
autoload :MeetingExtension, "edoxen/meeting_extension"
|
|
77
|
+
autoload :BodyVocabularyEntry, "edoxen/body_vocabulary_entry"
|
|
78
|
+
autoload :EntityRef, "edoxen/entity_ref"
|
|
79
|
+
autoload :Venue, "edoxen/venue"
|
|
80
|
+
autoload :PhysicalVenue, "edoxen/physical_venue"
|
|
81
|
+
autoload :VirtualVenue, "edoxen/virtual_venue"
|
|
82
|
+
autoload :Motion, "edoxen/motion"
|
|
83
|
+
autoload :VotingCounts, "edoxen/voting_counts"
|
|
84
|
+
autoload :Voting, "edoxen/voting"
|
|
85
|
+
autoload :TopicDocument, "edoxen/topic_document"
|
|
86
|
+
autoload :TopicAsset, "edoxen/topic_asset"
|
|
87
|
+
autoload :Topic, "edoxen/topic"
|
|
88
|
+
autoload :RecurrenceByDay, "edoxen/recurrence_by_day"
|
|
89
|
+
autoload :Recurrence, "edoxen/recurrence"
|
|
90
|
+
autoload :MeetingSeries, "edoxen/meeting_series"
|
|
91
|
+
autoload :MeetingComponent, "edoxen/meeting_component"
|
|
92
|
+
autoload :Officer, "edoxen/officer"
|
|
93
|
+
autoload :VenueValidator, "edoxen/venue_validator"
|
|
94
|
+
autoload :ContactCollection, "edoxen/contact_collection"
|
|
95
|
+
autoload :VenueCollection, "edoxen/venue_collection"
|
|
96
|
+
|
|
97
|
+
# --- Services ---------------------------------------------------------
|
|
60
98
|
autoload :SchemaValidator, "edoxen/schema_validator"
|
|
99
|
+
autoload :LinkChecker, "edoxen/link_checker"
|
|
61
100
|
autoload :Cli, "edoxen/cli"
|
|
62
101
|
end
|