Class: Bandwidth::Conference
- Inherits:
-
Object
- Object
- Bandwidth::Conference
- Extended by:
- ClientWrapper
- Includes:
- ApiItem, PlayAudioExtensions
- Defined in:
- lib/bandwidth/conference.rb
Overview
The Conference resource allows you create conferences, add members to it, play audio and other things related to conferencing.
Class Method Summary collapse
-
.create(client, data) ⇒ Conference
Create a conference.
-
.get(client, id) ⇒ Conference
Get information about a conference.
Instance Method Summary collapse
-
#complete ⇒ Object
Terminate Conference.
-
#create_member(data) ⇒ ConferenceMember
Add a member to a conference.
-
#get_member(member_id) ⇒ ConferenceMember
Retrieve information about a particular conference member.
-
#get_members ⇒ Array
List all members from a conference.
-
#mute ⇒ Object
Prevent all members from speaking.
-
#play_audio(data) ⇒ Object
Play audio to a conference.
-
#update(data) ⇒ Object
Update a conference.
Methods included from ClientWrapper
Methods included from PlayAudioExtensions
#play_recording, #speak_sentence
Methods included from ApiItem
#[], #[]=, #initialize, #to_data
Class Method Details
.create(client, data) ⇒ Conference
Create a conference.
27 28 29 30 31 |
# File 'lib/bandwidth/conference.rb', line 27 def self.create(client, data) headers = client.make_request(:post, client.concat_user_path(CONFERENCE_PATH), data)[1] id = Client.get_id_from_location_header(headers[:location]) self.get(client, id) end |
.get(client, id) ⇒ Conference
Get information about a conference
15 16 17 18 |
# File 'lib/bandwidth/conference.rb', line 15 def self.get(client, id) item = client.make_request(:get, client.concat_user_path("#{CONFERENCE_PATH}/#{id}"))[0] Conference.new(item, client) end |
Instance Method Details
#complete ⇒ Object
Terminate Conference
48 49 50 |
# File 'lib/bandwidth/conference.rb', line 48 def complete() update(:state => 'completed') end |
#create_member(data) ⇒ ConferenceMember
Add a member to a conference.
65 66 67 68 69 |
# File 'lib/bandwidth/conference.rb', line 65 def create_member(data) headers = @client.make_request(:post, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/members"), data)[1] id = Client.get_id_from_location_header(headers[:location]) get_member(id) end |
#get_member(member_id) ⇒ ConferenceMember
Retrieve information about a particular conference member
76 77 78 79 80 81 |
# File 'lib/bandwidth/conference.rb', line 76 def get_member(member_id) member = ConferenceMember.new(@client.make_request(:get, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/members/#{member_id}"))[0], @client) member.conference_id = id member end |
#get_members ⇒ Array
List all members from a conference
87 88 89 90 91 92 93 |
# File 'lib/bandwidth/conference.rb', line 87 def get_members() @client.make_request(:get, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/members"))[0].map do |i| member = ConferenceMember.new(i, @client) member.conference_id = id member end end |
#mute ⇒ Object
Prevent all members from speaking
43 44 45 |
# File 'lib/bandwidth/conference.rb', line 43 def mute() update(:mute => true) end |
#play_audio(data) ⇒ Object
Play audio to a conference
56 57 58 |
# File 'lib/bandwidth/conference.rb', line 56 def play_audio(data) @client.make_request(:post, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}/audio"), data)[0] end |
#update(data) ⇒ Object
Update a conference
38 39 40 |
# File 'lib/bandwidth/conference.rb', line 38 def update(data) @client.make_request(:post, @client.concat_user_path("#{CONFERENCE_PATH}/#{id}"), data)[0] end |