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)


101
102
103
# File 'lib/onsip/models/user_address.rb', line 101

def delete!(*args)
  raise NotImplementedError
end

#edit(*args) ⇒ Object

TODO

Raises:

  • (NotImplementedError)


96
97
98
# File 'lib/onsip/models/user_address.rb', line 96

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

#process_read_user_address_response(response) ⇒ Object



85
86
87
88
89
90
91
92
93
# File 'lib/onsip/models/user_address.rb', line 85

def process_read_user_address_response(response)
  user = nil

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

  user
end

#read(address) {|response| ... } ⇒ UserAddress

Read a UserAddress

reference at developer.onsip.com/admin-api/User-Addresses/#user-address-read

UserAddress.read(address)

Examples:

UserAddress.read

Yields:

  • (response)

Returns:



79
80
81
82
83
# File 'lib/onsip/models/user_address.rb', line 79

def read(address)
  response = OnSIP.connection.get('/api', {'Action' => 'UserAddressRead', 'SessionId' => OnSIP.session.id, 'Address' => address, 'Output' => 'json'}, {})
  yield response if block_given?
  process_read_user_address_response response
end