onsip 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5834bed5198ba5ccf25a258231ce37b533f7b244
4
- data.tar.gz: c7f4241b7c8ca2c7a503e9adc353f290ffda9bea
3
+ metadata.gz: ad17648a70e882c6942e45f56a9dfb75122616ef
4
+ data.tar.gz: 5b3825ba82b1153a67792fd068d4f313a0f88608
5
5
  SHA512:
6
- metadata.gz: 1624f527b2790865dc5b31f51351a9f33be09deae193096c1e9c0e83537971e1f04406f6856610d8376311cd4b6090612185418d8e9ee34121bac8496a783343
7
- data.tar.gz: 82fc1468980b36f1179bfc9d1797e2ddac0b9374fc8138f5665f86f2a37657e6a6cad0e57170869d4873401dbe76f462dc7bce0909c1e3649571b627f905fbd9
6
+ metadata.gz: 2c4b98ec04dbd95008730ac66f5413a708c49e509bbd6d2f8ed6d05059f6a67eb80c1e5bed2dc6bbf9399c46686a5d3d025b617b7a15c613f019128bf0d96399
7
+ data.tar.gz: f068bdc6599cb6218c38e36ee83921cb4320c36289053bf0620324ee85705243c29474cb359a18052d4f02a22123143ba31016affa30c240ad65da240865c8c0
data/README.md CHANGED
@@ -31,6 +31,12 @@ users = account.users # Find the Users associated with that account
31
31
  pp users
32
32
  ```
33
33
 
34
+ ## TODO
35
+
36
+ * Document all implemented methods
37
+ * Implement all available methods
38
+ * Add paging for collections
39
+
34
40
  ## Contributing
35
41
 
36
42
  1. Fork it ( https://github.com/icehook/onsip/fork )
@@ -18,6 +18,14 @@ module OnSIP
18
18
  User.browse self.id
19
19
  end
20
20
 
21
+ def external_addresses
22
+ ExternalAddress.browse 'AccountId' => self.id
23
+ end
24
+
25
+ def user_addresses
26
+ UserAddress.browse 'AccountId' => self.id
27
+ end
28
+
21
29
  module ClassMethods
22
30
  def read(account_id)
23
31
  response = OnSIP.connection.get('/api', {'Action' => 'AccountRead', 'AccountId' => account_id, 'SessionId' => OnSIP.session.id, 'Output' => 'json'}, {})
@@ -34,31 +42,30 @@ module OnSIP
34
42
  account
35
43
  end
36
44
 
37
- // TODO
45
+ # TODO
38
46
  def edit_contact(*args)
39
47
  raise NotImplementedError
40
48
  end
41
49
 
42
- // TODO
50
+ # TODO
43
51
  def edit_add_credit(*args)
44
52
  raise NotImplementedError
45
53
  end
46
54
 
47
- // TODO
55
+ # TODO
48
56
  def edit_recharge(*args)
49
57
  raise NotImplementedError
50
58
  end
51
59
 
52
- // TODO
60
+ # TODO
53
61
  def invoice_read(*args)
54
62
  raise NotImplementedError
55
63
  end
56
64
 
57
- // TODO
65
+ # TODO
58
66
  def invoice_browse(*args)
59
67
  raise NotImplementedError
60
68
  end
61
-
62
69
  end
63
70
 
64
71
  extend ClassMethods
@@ -0,0 +1,46 @@
1
+ module OnSIP
2
+ class ExternalAddress
3
+ include Model
4
+
5
+ module ClassMethods
6
+ # TODO
7
+ def add(*args)
8
+ raise NotImplementedError
9
+ end
10
+
11
+ # TODO
12
+ def read(*args)
13
+ raise NotImplementedError
14
+ end
15
+
16
+ def browse(args)
17
+ params = args.merge({'Action' => 'ExternalAddressBrowse', 'SessionId' => OnSIP.session.id, 'Output' => 'json'})
18
+ response = OnSIP.connection.get('/api', params, {})
19
+ process_browse_external_address_response response
20
+ end
21
+
22
+ def process_browse_external_address_response(response)
23
+ external_addresses = []
24
+
25
+ key_path = %w(Response Result ExternalAddressBrowse ExternalAddresses ExternalAddress)
26
+ a = ResponseParser.parse_response response, key_path
27
+ external_addresses = a.map { |h| new h } if a
28
+
29
+ external_addresses
30
+ end
31
+
32
+ # TODO
33
+ def delete(*args)
34
+ raise NotImplementedError
35
+ end
36
+
37
+ # TODO
38
+ def edit(*args)
39
+ raise NotImplementedError
40
+ end
41
+ end
42
+
43
+ extend ClassMethods
44
+
45
+ end
46
+ end
@@ -31,7 +31,7 @@ module OnSIP
31
31
  end
32
32
 
33
33
  def addresses
34
- Address.browse({'UserId' => self.id})
34
+ UserAddress.browse({'UserId' => self.id})
35
35
  end
36
36
 
37
37
  module ClassMethods
@@ -1,5 +1,5 @@
1
1
  module OnSIP
2
- class Address
2
+ class UserAddress
3
3
  include Model
4
4
 
5
5
  DEFAULT_CALL_TIMEOUT = 60
@@ -12,10 +12,10 @@ module OnSIP
12
12
  def browse(args)
13
13
  params = args.merge({'Action' => 'UserAddressBrowse', 'SessionId' => OnSIP.session.id, 'Output' => 'json'})
14
14
  response = OnSIP.connection.get('/api', params, {})
15
- process_browse_address_response response
15
+ process_browse_user_address_response response
16
16
  end
17
17
 
18
- def process_browse_address_response(response)
18
+ def process_browse_user_address_response(response)
19
19
  addresses = []
20
20
 
21
21
  key_path = %w(Response Result UserAddressBrowse UserAddresses UserAddress)
@@ -37,10 +37,10 @@ module OnSIP
37
37
  'Output' => 'json' })
38
38
 
39
39
  response = OnSIP.connection.get('/api', params, {})
40
- process_add_address_response response
40
+ process_add_user_address_response response
41
41
  end
42
42
 
43
- def process_add_address_response(response)
43
+ def process_add_user_address_response(response)
44
44
  address = nil
45
45
 
46
46
  key_path = %w(Response Result UserAddressAdd UserAddress)
@@ -50,17 +50,17 @@ module OnSIP
50
50
  address
51
51
  end
52
52
 
53
- // TODO
53
+ # TODO
54
54
  def read(*args)
55
55
  raise NotImplementedError
56
56
  end
57
57
 
58
- // TODO
58
+ # TODO
59
59
  def edit(*args)
60
60
  raise NotImplementedError
61
61
  end
62
62
 
63
- // TODO
63
+ # TODO
64
64
  def delete(*args)
65
65
  raise NotImplementedError
66
66
  end
data/lib/onsip/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module OnSIP
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
data/lib/onsip.rb CHANGED
@@ -17,7 +17,8 @@ module OnSIP
17
17
  autoload :Account, 'onsip/models/account'
18
18
  autoload :User, 'onsip/models/user'
19
19
  autoload :Organization, 'onsip/models/organization'
20
- autoload :Address, 'onsip/models/address'
20
+ autoload :ExternalAddress, 'onsip/models/external_address'
21
+ autoload :UserAddress, 'onsip/models/user_address'
21
22
  autoload :CDR, 'onsip/models/cdr'
22
23
 
23
24
  module ClassMethods
data/onsip.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = OnSIP::VERSION
9
9
  spec.authors = ["Keith Larrimore"]
10
10
  spec.email = ["klarrimore@icehook.com"]
11
- spec.summary = %q{Onsip Ruby client.}
12
- spec.description = %q{Onsip Ruby client.}
11
+ spec.summary = %q{OnSIP ruby client.}
12
+ spec.description = %q{OnSIP ruby client.}
13
13
  spec.homepage = "http://icehook.com"
14
14
  spec.license = "MIT"
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onsip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Larrimore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-22 00:00:00.000000000 Z
11
+ date: 2014-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -262,7 +262,7 @@ dependencies:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
264
  version: 3.3.1
265
- description: Onsip Ruby client.
265
+ description: OnSIP ruby client.
266
266
  email:
267
267
  - klarrimore@icehook.com
268
268
  executables:
@@ -281,10 +281,11 @@ files:
281
281
  - lib/onsip/exceptions.rb
282
282
  - lib/onsip/model.rb
283
283
  - lib/onsip/models/account.rb
284
- - lib/onsip/models/address.rb
285
284
  - lib/onsip/models/cdr.rb
285
+ - lib/onsip/models/external_address.rb
286
286
  - lib/onsip/models/organization.rb
287
287
  - lib/onsip/models/user.rb
288
+ - lib/onsip/models/user_address.rb
288
289
  - lib/onsip/response_parser.rb
289
290
  - lib/onsip/session.rb
290
291
  - lib/onsip/version.rb
@@ -309,8 +310,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
309
310
  version: '0'
310
311
  requirements: []
311
312
  rubyforge_project:
312
- rubygems_version: 2.2.0
313
+ rubygems_version: 2.2.2
313
314
  signing_key:
314
315
  specification_version: 4
315
- summary: Onsip Ruby client.
316
+ summary: OnSIP ruby client.
316
317
  test_files: []