Class: Edoxen::Meeting
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- Edoxen::Meeting
- Includes:
- LocalizationHost, OfficersHost
- Defined in:
- lib/edoxen/meeting.rb,
sig/edoxen.rbs
Overview
A single Meeting (event) — produces Decisions via Motions and Votings. Carries identity, time, polymorphic venues, officers, agenda, components, attendance, minutes, and URN links to one or more DecisionCollection documents.
Meetings and DecisionCollections are kept as separate documents and joined by URN because they have different lifetimes: agendas exist weeks before a meeting; decisions only after adoption.
Instance Attribute Summary collapse
-
#agenda ⇒ Agenda?
readonly
Returns the value of attribute agenda.
-
#attendance ⇒ Array[Attendance]?
readonly
Returns the value of attribute attendance.
-
#city ⇒ String?
readonly
Returns the value of attribute city.
-
#committee ⇒ String?
readonly
Returns the value of attribute committee.
-
#committee_group ⇒ String?
readonly
Returns the value of attribute committee_group.
-
#components ⇒ Array[MeetingComponent]?
readonly
Returns the value of attribute components.
-
#country_code ⇒ String?
readonly
Returns the value of attribute country_code.
-
#date_range ⇒ DateRange?
readonly
Returns the value of attribute date_range.
-
#deadlines ⇒ Array[Deadline]?
readonly
Returns the value of attribute deadlines.
-
#decisions ⇒ Array[Decision]?
readonly
Returns the value of attribute decisions.
-
#general_area ⇒ String?
readonly
Returns the value of attribute general_area.
-
#hosts ⇒ Array[HostRef]?
readonly
Returns the value of attribute hosts.
-
#identifier ⇒ Array[StructuredIdentifier]?
readonly
Returns the value of attribute identifier.
-
#landing_url ⇒ String?
readonly
Returns the value of attribute landing_url.
-
#localizations ⇒ Array[MeetingLocalization]?
readonly
Returns the value of attribute localizations.
-
#minutes ⇒ Array[Minutes]?
readonly
Returns the value of attribute minutes.
-
#motions ⇒ Array[Motion]?
readonly
Returns the value of attribute motions.
-
#officers ⇒ Array[Officer]?
readonly
Returns the value of attribute officers.
-
#ordinal ⇒ Integer?
readonly
Returns the value of attribute ordinal.
-
#recurrence ⇒ Recurrence?
readonly
Returns the value of attribute recurrence.
-
#registration_url ⇒ String?
readonly
Returns the value of attribute registration_url.
-
#relations ⇒ Array[MeetingRelation]?
readonly
Returns the value of attribute relations.
-
#series_ref ⇒ String?
readonly
Returns the value of attribute series_ref.
-
#source_urls ⇒ Array[SourceUrl]?
readonly
Returns the value of attribute source_urls.
-
#status ⇒ String?
readonly
Returns the value of attribute status.
-
#type ⇒ String?
readonly
Returns the value of attribute type.
-
#urn ⇒ String?
readonly
Returns the value of attribute urn.
-
#venues ⇒ Array[Venue]?
readonly
Returns the value of attribute venues.
-
#visibility ⇒ String?
readonly
Returns the value of attribute visibility.
-
#votings ⇒ Array[Voting]?
readonly
Returns the value of attribute votings.
Instance Method Summary collapse
- #chair ⇒ Person?
-
#city_entry ⇒ Object
Resolve the meeting's UN/LOCODE via the canonical
unlocodegem. - #find_agenda_item(label) ⇒ AgendaItem?
- #hybrid? ⇒ Boolean
- #in_language ⇒ MeetingLocalization?
- #officers_with_role ⇒ Array[Officer]
- #physical_only? ⇒ Boolean
-
#physical_venues ⇒ Array[Venue]
All physical venues (polymorphic Venue filter).
- #primary_localization ⇒ MeetingLocalization?
- #secretary ⇒ Person?
- #virtual_only? ⇒ Boolean
- #virtual_venues ⇒ Array[Venue]
Instance Attribute Details
#agenda ⇒ Agenda? (readonly)
Returns the value of attribute agenda.
514 515 516 |
# File 'sig/edoxen.rbs', line 514 def agenda @agenda end |
#attendance ⇒ Array[Attendance]? (readonly)
Returns the value of attribute attendance.
517 518 519 |
# File 'sig/edoxen.rbs', line 517 def attendance @attendance end |
#city ⇒ String? (readonly)
Returns the value of attribute city.
505 506 507 |
# File 'sig/edoxen.rbs', line 505 def city @city end |
#committee ⇒ String? (readonly)
Returns the value of attribute committee.
507 508 509 |
# File 'sig/edoxen.rbs', line 507 def committee @committee end |
#committee_group ⇒ String? (readonly)
Returns the value of attribute committee_group.
508 509 510 |
# File 'sig/edoxen.rbs', line 508 def committee_group @committee_group end |
#components ⇒ Array[MeetingComponent]? (readonly)
Returns the value of attribute components.
515 516 517 |
# File 'sig/edoxen.rbs', line 515 def components @components end |
#country_code ⇒ String? (readonly)
Returns the value of attribute country_code.
506 507 508 |
# File 'sig/edoxen.rbs', line 506 def country_code @country_code end |
#date_range ⇒ DateRange? (readonly)
Returns the value of attribute date_range.
501 502 503 |
# File 'sig/edoxen.rbs', line 501 def date_range @date_range end |
#deadlines ⇒ Array[Deadline]? (readonly)
Returns the value of attribute deadlines.
516 517 518 |
# File 'sig/edoxen.rbs', line 516 def deadlines @deadlines end |
#decisions ⇒ Array[Decision]? (readonly)
Returns the value of attribute decisions.
519 520 521 |
# File 'sig/edoxen.rbs', line 519 def decisions @decisions end |
#general_area ⇒ String? (readonly)
Returns the value of attribute general_area.
504 505 506 |
# File 'sig/edoxen.rbs', line 504 def general_area @general_area end |
#hosts ⇒ Array[HostRef]? (readonly)
Returns the value of attribute hosts.
510 511 512 |
# File 'sig/edoxen.rbs', line 510 def hosts @hosts end |
#identifier ⇒ Array[StructuredIdentifier]? (readonly)
Returns the value of attribute identifier.
494 495 496 |
# File 'sig/edoxen.rbs', line 494 def identifier @identifier end |
#landing_url ⇒ String? (readonly)
Returns the value of attribute landing_url.
512 513 514 |
# File 'sig/edoxen.rbs', line 512 def landing_url @landing_url end |
#localizations ⇒ Array[MeetingLocalization]? (readonly)
Returns the value of attribute localizations.
522 523 524 |
# File 'sig/edoxen.rbs', line 522 def localizations @localizations end |
#minutes ⇒ Array[Minutes]? (readonly)
Returns the value of attribute minutes.
518 519 520 |
# File 'sig/edoxen.rbs', line 518 def minutes @minutes end |
#motions ⇒ Array[Motion]? (readonly)
Returns the value of attribute motions.
520 521 522 |
# File 'sig/edoxen.rbs', line 520 def motions @motions end |
#officers ⇒ Array[Officer]? (readonly)
Returns the value of attribute officers.
509 510 511 |
# File 'sig/edoxen.rbs', line 509 def officers @officers end |
#ordinal ⇒ Integer? (readonly)
Returns the value of attribute ordinal.
496 497 498 |
# File 'sig/edoxen.rbs', line 496 def ordinal @ordinal end |
#recurrence ⇒ Recurrence? (readonly)
Returns the value of attribute recurrence.
502 503 504 |
# File 'sig/edoxen.rbs', line 502 def recurrence @recurrence end |
#registration_url ⇒ String? (readonly)
Returns the value of attribute registration_url.
513 514 515 |
# File 'sig/edoxen.rbs', line 513 def registration_url @registration_url end |
#relations ⇒ Array[MeetingRelation]? (readonly)
Returns the value of attribute relations.
523 524 525 |
# File 'sig/edoxen.rbs', line 523 def relations @relations end |
#series_ref ⇒ String? (readonly)
Returns the value of attribute series_ref.
497 498 499 |
# File 'sig/edoxen.rbs', line 497 def series_ref @series_ref end |
#source_urls ⇒ Array[SourceUrl]? (readonly)
Returns the value of attribute source_urls.
511 512 513 |
# File 'sig/edoxen.rbs', line 511 def source_urls @source_urls end |
#status ⇒ String? (readonly)
Returns the value of attribute status.
499 500 501 |
# File 'sig/edoxen.rbs', line 499 def status @status end |
#type ⇒ String? (readonly)
Returns the value of attribute type.
498 499 500 |
# File 'sig/edoxen.rbs', line 498 def type @type end |
#urn ⇒ String? (readonly)
Returns the value of attribute urn.
495 496 497 |
# File 'sig/edoxen.rbs', line 495 def urn @urn end |
#venues ⇒ Array[Venue]? (readonly)
Returns the value of attribute venues.
503 504 505 |
# File 'sig/edoxen.rbs', line 503 def venues @venues end |
#visibility ⇒ String? (readonly)
Returns the value of attribute visibility.
500 501 502 |
# File 'sig/edoxen.rbs', line 500 def visibility @visibility end |
#votings ⇒ Array[Voting]? (readonly)
Returns the value of attribute votings.
521 522 523 |
# File 'sig/edoxen.rbs', line 521 def votings @votings end |
Instance Method Details
#city_entry ⇒ Object
Resolve the meeting's UN/LOCODE via the canonical unlocode gem.
69 70 71 72 73 |
# File 'lib/edoxen/meeting.rb', line 69 def city_entry return nil if city.nil? || city.to_s.empty? Edoxen::ReferenceData.find_unlocode(city) end |
#find_agenda_item(label) ⇒ AgendaItem?
64 65 66 |
# File 'lib/edoxen/meeting.rb', line 64 def find_agenda_item(label) agenda&.find_item(label) end |
#hybrid? ⇒ Boolean
88 89 90 |
# File 'lib/edoxen/meeting.rb', line 88 def hybrid? !physical_venues.empty? && !virtual_venues.empty? end |
#in_language ⇒ MeetingLocalization?
524 |
# File 'sig/edoxen.rbs', line 524
def in_language: (String|Symbol code, ?fallback: bool) -> MeetingLocalization?
|
#officers_with_role ⇒ Array[Officer]
528 |
# File 'sig/edoxen.rbs', line 528
def officers_with_role: (String|Symbol role) -> Array[Officer]
|
#physical_only? ⇒ Boolean
96 97 98 |
# File 'lib/edoxen/meeting.rb', line 96 def physical_only? !physical_venues.empty? && virtual_venues.empty? end |
#physical_venues ⇒ Array[Venue]
All physical venues (polymorphic Venue filter).
80 81 82 |
# File 'lib/edoxen/meeting.rb', line 80 def physical_venues venues_by_kind("physical") end |
#primary_localization ⇒ MeetingLocalization?
525 |
# File 'sig/edoxen.rbs', line 525
def primary_localization: -> MeetingLocalization?
|
#secretary ⇒ Person?
75 76 77 |
# File 'lib/edoxen/meeting.rb', line 75 def secretary officers_with_role("secretary").first&.person end |
#virtual_only? ⇒ Boolean
92 93 94 |
# File 'lib/edoxen/meeting.rb', line 92 def virtual_only? !virtual_venues.empty? && physical_venues.empty? end |
#virtual_venues ⇒ Array[Venue]
84 85 86 |
# File 'lib/edoxen/meeting.rb', line 84 def virtual_venues venues_by_kind("virtual") end |