Class: Nexmo::Calls

Inherits:
Namespace show all
Defined in:
lib/nexmo/calls.rb

Instance Method Summary collapse

Methods inherited from Namespace

#initialize

Constructor Details

This class inherits a constructor from Nexmo::Namespace

Instance Method Details

#create(params) ⇒ Object



5
6
7
# File 'lib/nexmo/calls.rb', line 5

def create(params)
  request('/v1/calls', params: params, type: Post)
end

#dtmfObject



58
59
60
# File 'lib/nexmo/calls.rb', line 58

def dtmf
  @dtmf ||= CallDTMF.new(@client)
end

#earmuff(id) ⇒ Object



33
34
35
# File 'lib/nexmo/calls.rb', line 33

def earmuff(id)
  update(id, action: 'earmuff')
end

#get(id) ⇒ Object



13
14
15
# File 'lib/nexmo/calls.rb', line 13

def get(id)
  request('/v1/calls/' + id)
end

#hangup(id) ⇒ Object



21
22
23
# File 'lib/nexmo/calls.rb', line 21

def hangup(id)
  update(id, action: 'hangup')
end

#list(params = nil) ⇒ Object



9
10
11
# File 'lib/nexmo/calls.rb', line 9

def list(params = nil)
  request('/v1/calls', params: params)
end

#mute(id) ⇒ Object



25
26
27
# File 'lib/nexmo/calls.rb', line 25

def mute(id)
  update(id, action: 'mute')
end

#streamObject



50
51
52
# File 'lib/nexmo/calls.rb', line 50

def stream
  @stream ||= CallStream.new(@client)
end

#talkObject



54
55
56
# File 'lib/nexmo/calls.rb', line 54

def talk
  @talk ||= CallTalk.new(@client)
end

#transfer(id, destination: nil) ⇒ Object

Raises:

  • (ArgumentError)


41
42
43
44
45
46
47
48
# File 'lib/nexmo/calls.rb', line 41

def transfer(id, destination: nil)
  # Ruby 2.0.0 does not support the syntax for required keyword arguments
  # that was introduced in Ruby 2.1. The following line and the nil default
  # can be removed when dropping support for Ruby 2.0.0.
  raise ArgumentError, 'missing keyword: destination' if destination.nil?

  update(id, action: 'transfer', destination: destination)
end

#unearmuff(id) ⇒ Object



37
38
39
# File 'lib/nexmo/calls.rb', line 37

def unearmuff(id)
  update(id, action: 'unearmuff')
end

#unmute(id) ⇒ Object



29
30
31
# File 'lib/nexmo/calls.rb', line 29

def unmute(id)
  update(id, action: 'unmute')
end

#update(id, params) ⇒ Object



17
18
19
# File 'lib/nexmo/calls.rb', line 17

def update(id, params)
  request('/v1/calls/' + id, params: params, type: Put)
end