Module: ChimeSdk::MeetingCoordinator
- Defined in:
- lib/chime_sdk/meeting_coordinator.rb
Overview
Meeting coordinator as a wrapper module of AWS SDK for Ruby, which simulates AWS SDK for JavaScript.
Class Method Summary collapse
-
.attendee_as_json(attendee) ⇒ Hash
Build attendee JSON object as hash from Aws::Chime::Types::Attendee object.
-
.client ⇒ Aws::Chime::Client
Return initialized Aws::Chime::Client.
-
.create_attendee(meeting_id, attendee_request_id, tags: []) ⇒ Hash
Wrapper of Aws::Chime::Client#create_attendee method.
-
.create_meeting(meeting_request_id, meeting_host_id: nil, media_region: ChimeSdk.config.media_region, tags: [], notifications_configuration: {}) ⇒ Hash
Wrapper of Aws::Chime::Client#create_meeting method.
-
.delete_attendee(meeting_id, attendee_id) ⇒ void
Wrapper of Aws::Chime::Client#delete_attendee method.
-
.delete_meeting(meeting_id) ⇒ void
Wrapper of Aws::Chime::Client#delete_meeting method.
-
.get_attendee(meeting_id, attendee_id) ⇒ Hash
Wrapper of Aws::Chime::Client#get_attendee method.
-
.get_meeting(meeting_id) ⇒ Hash
Wrapper of Aws::Chime::Client#get_meeting method.
-
.list_attendees(meeting_id, max_results: ChimeSdk.config.max_attendee_results) ⇒ Array<Hash>
Wrapper of Aws::Chime::Client#list_attendees method.
-
.list_meetings(max_results: ChimeSdk.config.max_meeting_results, prefix_filter: nil) ⇒ Array<Hash>
Wrapper of Aws::Chime::Client#list_meetings method.
-
.meeting_as_json(meeting) ⇒ Hash
Build meeting JSON object as hash from Aws::Chime::Types::Meeting object.
-
.reset_client(client) ⇒ Aws::Chime::Client
Reset client with initialized Aws::Chime::Client instance.
Class Method Details
.attendee_as_json(attendee) ⇒ Hash
Build attendee JSON object as hash from Aws::Chime::Types::Attendee object
173 174 175 176 177 178 179 180 181 182 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 173 def self.attendee_as_json(attendee) return {} unless attendee.is_a?(Aws::Chime::Types::Attendee) { "Attendee": { "ExternalUserId": attendee.external_user_id, "AttendeeId": attendee.attendee_id, "JoinToken": attendee.join_token } } end |
.client ⇒ Aws::Chime::Client
Return initialized Aws::Chime::Client. You must use "us-east-1" as the region for Chime API and set the endpoint.
12 13 14 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 12 def self.client @@client ||= Aws::Chime::Client.new(region: 'us-east-1') end |
.create_attendee(meeting_id, attendee_request_id, tags: []) ⇒ Hash
Wrapper of Aws::Chime::Client#create_attendee method. This method uses 'ChimeSdk.config.prefix + attendee_request_id' for external_user_id.
110 111 112 113 114 115 116 117 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 110 def self.create_attendee(meeting_id, attendee_request_id, tags: []) resp = client.create_attendee({ meeting_id: meeting_id, external_user_id: ChimeSdk.config.prefix + attendee_request_id, tags: }) attendee_as_json(resp.attendee) end |
.create_meeting(meeting_request_id, meeting_host_id: nil, media_region: ChimeSdk.config.media_region, tags: [], notifications_configuration: {}) ⇒ Hash
Wrapper of Aws::Chime::Client#create_meeting method. This method uses 'ChimeSdk.config.prefix + meeting_request_id' for client_request_token and external_meeting_id.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 51 def self.create_meeting(meeting_request_id, meeting_host_id: nil, media_region: ChimeSdk.config.media_region, tags: [], notifications_configuration: {} ) resp = client.create_meeting({ client_request_token: ChimeSdk.config.prefix + meeting_request_id, external_meeting_id: ChimeSdk.config.prefix + meeting_request_id, meeting_host_id: meeting_host_id, media_region: media_region, tags: , notifications_configuration: notifications_configuration }) meeting_as_json(resp.meeting) end |
.delete_attendee(meeting_id, attendee_id) ⇒ void
This method returns an undefined value.
Wrapper of Aws::Chime::Client#delete_attendee method.
136 137 138 139 140 141 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 136 def self.delete_attendee(meeting_id, attendee_id) client.delete_attendee({ meeting_id: meeting_id, attendee_id: attendee_id }) end |
.delete_meeting(meeting_id) ⇒ void
This method returns an undefined value.
Wrapper of Aws::Chime::Client#delete_meeting method.
83 84 85 86 87 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 83 def self.delete_meeting(meeting_id) client.delete_meeting({ meeting_id: meeting_id }) end |
.get_attendee(meeting_id, attendee_id) ⇒ Hash
Wrapper of Aws::Chime::Client#get_attendee method.
124 125 126 127 128 129 130 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 124 def self.get_attendee(meeting_id, attendee_id) resp = client.get_attendee({ meeting_id: meeting_id, attendee_id: attendee_id }) attendee_as_json(resp.attendee) end |
.get_meeting(meeting_id) ⇒ Hash
Wrapper of Aws::Chime::Client#get_meeting method.
72 73 74 75 76 77 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 72 def self.get_meeting(meeting_id) resp = client.get_meeting({ meeting_id: meeting_id }) meeting_as_json(resp.meeting) end |
.list_attendees(meeting_id, max_results: ChimeSdk.config.max_attendee_results) ⇒ Array<Hash>
Wrapper of Aws::Chime::Client#list_attendees method.
94 95 96 97 98 99 100 101 102 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 94 def self.list_attendees(meeting_id, max_results: ChimeSdk.config.max_attendee_results ) resp = client.list_attendees({ meeting_id: meeting_id, max_results: max_results }) resp.attendees.map { |attendee| attendee_as_json(attendee) } end |
.list_meetings(max_results: ChimeSdk.config.max_meeting_results, prefix_filter: nil) ⇒ Array<Hash>
Wrapper of Aws::Chime::Client#list_meetings method. This function also provides prefix match filter of external_meeting_id. This method filters the result with ChimeSdk.config.prefix to return only meetings in your application.
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 30 def self.list_meetings( max_results: ChimeSdk.config.max_meeting_results, prefix_filter: nil ) resp = client.list_meetings({ max_results: max_results }) meetings = resp.meetings meetings = meetings.select { |meeting| meeting.external_meeting_id.start_with?(ChimeSdk.config.prefix + prefix_filter) } if prefix_filter meetings.map { |meeting| meeting_as_json(meeting) } end |
.meeting_as_json(meeting) ⇒ Hash
Build meeting JSON object as hash from Aws::Chime::Types::Meeting object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 148 def self.meeting_as_json(meeting) return {} unless meeting.is_a?(Aws::Chime::Types::Meeting) { "Meeting": { "MeetingId": meeting.meeting_id, "ExternalMeetingId": meeting.external_meeting_id, "MediaPlacement": { "AudioHostUrl": meeting.media_placement.audio_host_url, "AudioFallbackUrl": meeting.media_placement.audio_fallback_url, "ScreenDataUrl": meeting.media_placement.screen_data_url, "ScreenSharingUrl": meeting.media_placement.screen_sharing_url, "ScreenViewingUrl": meeting.media_placement.screen_viewing_url, "SignalingUrl": meeting.media_placement.signaling_url, "TurnControlUrl": meeting.media_placement.turn_control_url }, "MediaRegion": meeting.media_region } } end |
.reset_client(client) ⇒ Aws::Chime::Client
Reset client with initialized Aws::Chime::Client instance.
19 20 21 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 19 def self.reset_client(client) @@client = client end |