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 = {}) {|response| ... } ⇒ Object

Yields:

  • (response)


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

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, {})
  yield response if block_given?
  process_add_user_address_response response
end

#browse(args) {|response| ... } ⇒ Object

Yields:

  • (response)


12
13
14
15
16
17
# 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, {})
  yield response if block_given?
  process_browse_user_address_response response
end

#delete!(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


66
67
68
# File 'lib/onsip/models/user_address.rb', line 66

def delete!(*args)
  raise NotImplementedError
end

#edit(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


61
62
63
# File 'lib/onsip/models/user_address.rb', line 61

def edit(*args)
  raise NotImplementedError
end

#process_add_user_address_response(response) ⇒ Object



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

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



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

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)


56
57
58
# File 'lib/onsip/models/user_address.rb', line 56

def read(*args)
  raise NotImplementedError
end