class Signalwire::Relay::Calling::Play
Public Class Methods
new(call:, play:, volume: nil)
click to toggle source
Calls superclass method
# File lib/signalwire/relay/calling/component/play.rb, line 5 def initialize(call:, play:, volume: nil) super(call: call) @play = play @volume = volume end
Public Instance Methods
broadcast_event(event)
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 45 def broadcast_event(event) @call.broadcast "play_#{@state}".to_sym, event @call.broadcast :play_state_change, event end
event_type()
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 15 def event_type Relay::CallNotification::PLAY end
inner_params()
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 19 def inner_params prm = { node_id: @call.node_id, call_id: @call.id, control_id: control_id, play: @play } prm[:volume] = @volume unless @volume.nil? prm end
method()
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 11 def method Relay::ComponentMethod::PLAY end
notification_handler(event)
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 31 def notification_handler(event) @state = event.call_params[:state] @completed = @state != Relay::CallPlayState::PLAYING if @completed @successful = true if @state == Relay::CallPlayState::FINISHED @event = event end broadcast_event(event) check_for_waiting_events end
pause()
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 50 def pause execute_subcommand '.pause', Signalwire::Relay::Calling::PlayPauseResult end
resume()
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 54 def resume execute_subcommand '.resume', Signalwire::Relay::Calling::PlayResumeResult end
volume(setting)
click to toggle source
# File lib/signalwire/relay/calling/component/play.rb, line 58 def volume(setting) execute_subcommand '.volume', Signalwire::Relay::Calling::PlayVolumeResult, { volume: setting } end