Module: OnSIP::UserAddress::ClassMethods

Included in:
OnSIP::UserAddress
Defined in:
lib/onsip/models/user_address.rb

Instance Method Summary collapse

Instance Method Details

#add(user, attrs = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/onsip/models/user_address.rb', line 28

def add(user, attrs = {})
  params = { 'Username' => user.attributes.Username,
             'Domain' => user.attributes.Domain,
             'Timeout' => DEFAULT_CALL_TIMEOUT }.merge(attrs)

  params = params.merge({ 'Action' => 'UserAddressAdd',
                          'SessionId' => OnSIP.session.id,
                          'OrganizationId' => user.organization_id,
                          'UserId' => user.id,
                          'Output' => 'json' })

  response = OnSIP.connection.get('/api', params, {})
  process_add_user_address_response response
end

#browse(args) ⇒ Object



12
13
14
15
16
# File 'lib/onsip/models/user_address.rb', line 12

def browse(args)
  params = args.merge({'Action' => 'UserAddressBrowse', 'SessionId' => OnSIP.session.id, 'Output' => 'json'})
  response = OnSIP.connection.get('/api', params, {})
  process_browse_user_address_response response
end

#delete(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


64
65
66
# File 'lib/onsip/models/user_address.rb', line 64

def delete(*args)
  raise NotImplementedError
end

#edit(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


59
60
61
# File 'lib/onsip/models/user_address.rb', line 59

def edit(*args)
  raise NotImplementedError
end

#process_add_user_address_response(response) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'lib/onsip/models/user_address.rb', line 43

def process_add_user_address_response(response)
  address = nil

  key_path = %w(Response Result UserAddressAdd UserAddress)
  a = ResponseParser.parse_response response, key_path
  address = (a.map { |h| new h }).first if a

  address
end

#process_browse_user_address_response(response) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/onsip/models/user_address.rb', line 18

def process_browse_user_address_response(response)
  addresses = []

  key_path = %w(Response Result UserAddressBrowse UserAddresses UserAddress)
  a = ResponseParser.parse_response response, key_path
  addresses = a.map { |h| new h } if a

  addresses
end

#read(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


54
55
56
# File 'lib/onsip/models/user_address.rb', line 54

def read(*args)
  raise NotImplementedError
end