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)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/onsip/models/user_address.rb', line 45

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)


28
29
30
31
32
33
# File 'lib/onsip/models/user_address.rb', line 28

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)


82
83
84
# File 'lib/onsip/models/user_address.rb', line 82

def delete!(*args)
  raise NotImplementedError
end

#edit(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


77
78
79
# File 'lib/onsip/models/user_address.rb', line 77

def edit(*args)
  raise NotImplementedError
end

#process_add_user_address_response(response) ⇒ Object



61
62
63
64
65
66
67
68
69
# File 'lib/onsip/models/user_address.rb', line 61

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



35
36
37
38
39
40
41
42
43
# File 'lib/onsip/models/user_address.rb', line 35

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)


72
73
74
# File 'lib/onsip/models/user_address.rb', line 72

def read(*args)
  raise NotImplementedError
end