onsip 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/lib/onsip/exceptions.rb +10 -10
- data/lib/onsip/response_parser.rb +33 -13
- data/lib/onsip/session.rb +2 -0
- data/lib/onsip/version.rb +1 -1
- data/lib/onsip.rb +1 -1
- data/onsip.gemspec +1 -1
- data/spec/lib/onsip/models/account_spec.rb +40 -0
- data/spec/lib/onsip/models/cdr_spec.rb +16 -0
- data/spec/lib/onsip/models/external_address_spec.rb +16 -0
- data/spec/lib/onsip/models/organization_spec.rb +16 -0
- data/spec/lib/onsip/models/user_address_spec.rb +16 -0
- data/spec/lib/onsip/models/user_spec.rb +25 -0
- data/spec/lib/onsip/response_parser_spec.rb +0 -0
- data/spec/lib/onsip/session_spec.rb +2 -0
- metadata +21 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d756dbee6749a9399eefa71653ff605ce1181167
|
4
|
+
data.tar.gz: 777b636d24fcf319c711edf35a79f2b0cf7650f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5358759f94c71ac2e61f02738d613e5c6d7d2988f81a6b54f778085425202beec664018d9b1cc301519c905af2fa40c1e5781aa71b2548c322e598ec14725ec
|
7
|
+
data.tar.gz: c2be2aead48b8afc2ad3378543f0f8ec74bd7016a11784bc4d3354d90b4e5cddd5c8ea927fff17ea93ee1c3a75f48c9138660372b85eaf7ef25dad8ce8b41702
|
data/.rspec
CHANGED
data/lib/onsip/exceptions.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
module OnSIP
|
2
|
-
|
3
|
-
|
2
|
+
module Exceptions
|
3
|
+
class OnSIPError < StandardError
|
4
|
+
attr_reader :object
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
@exception = @options[:exception]
|
6
|
+
def initialize(object)
|
7
|
+
@object = object
|
8
|
+
end
|
9
9
|
end
|
10
|
-
end
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
class OnSIPRequestError < OnSIPError
|
12
|
+
def response
|
13
|
+
@object[:response]
|
14
|
+
end
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -2,21 +2,44 @@ module OnSIP
|
|
2
2
|
module ResponseParser
|
3
3
|
|
4
4
|
module ClassMethods
|
5
|
+
include ::OnSIP::Exceptions
|
6
|
+
|
5
7
|
def parse_response(response, key_path = [], ignore_result_keys = [])
|
6
|
-
|
8
|
+
begin
|
9
|
+
|
10
|
+
if valid_response?(response)
|
11
|
+
value_at_key_path(response.env.body, key_path, ignore_result_keys)
|
12
|
+
else
|
13
|
+
raise StandardError, 'Problem validating OnSIP response'
|
14
|
+
end
|
15
|
+
|
16
|
+
rescue StandardError => e
|
17
|
+
raise OnSIPRequestError.new(:message => 'Problem with parsing response',
|
18
|
+
:exception => e,
|
19
|
+
:response => response)
|
20
|
+
end
|
21
|
+
end
|
7
22
|
|
8
|
-
|
23
|
+
def valid_response?(response)
|
24
|
+
if response && response.env[:status] == 200 && !response.env.body.blank?
|
25
|
+
r = response.env.body
|
26
|
+
r['Response']['Context']['Action']['IsCompleted'] == 'false' ? false : true
|
27
|
+
else
|
28
|
+
false
|
29
|
+
end
|
30
|
+
end
|
9
31
|
|
10
|
-
|
32
|
+
def value_at_key_path(body, key_path = [], ignore_result_keys = [])
|
33
|
+
result = []
|
11
34
|
|
12
35
|
key_path.each_with_index do |key, i|
|
13
|
-
if i < (key_path.length - 1) &&
|
14
|
-
|
15
|
-
elsif i == (key_path.length - 1) &&
|
16
|
-
a =
|
36
|
+
if i < (key_path.length - 1) && body[key]
|
37
|
+
body = body[key]
|
38
|
+
elsif i == (key_path.length - 1) && body[key] && body[key].kind_of?(Array)
|
39
|
+
a = body[key]
|
17
40
|
result = a.flatten.map { |h| h.delete_if { |k| ignore_result_keys.include?(k) }; h }
|
18
|
-
elsif i == (key_path.length - 1) &&
|
19
|
-
h =
|
41
|
+
elsif i == (key_path.length - 1) && body[key] && body[key].kind_of?(Hash)
|
42
|
+
h = body[key]
|
20
43
|
h.delete_if { |k| ignore_result_keys.include?(k) }
|
21
44
|
result = [h]
|
22
45
|
else
|
@@ -25,11 +48,8 @@ module OnSIP
|
|
25
48
|
end
|
26
49
|
|
27
50
|
result
|
28
|
-
rescue StandardError => e
|
29
|
-
raise OnSIPRequestException.new(:message => 'Problem with parsing response',
|
30
|
-
:exception => e,
|
31
|
-
:response => response)
|
32
51
|
end
|
52
|
+
|
33
53
|
end
|
34
54
|
|
35
55
|
extend ClassMethods
|
data/lib/onsip/session.rb
CHANGED
@@ -36,6 +36,7 @@ module OnSIP
|
|
36
36
|
module ClassMethods
|
37
37
|
def create(username, password)
|
38
38
|
response = OnSIP.connection.get('/api', {'Action' => 'SessionCreate', 'Username' => username, 'Password' => password, 'Output' => 'json'}, {})
|
39
|
+
yield response if block_given?
|
39
40
|
process_create_session_response response
|
40
41
|
end
|
41
42
|
|
@@ -51,6 +52,7 @@ module OnSIP
|
|
51
52
|
|
52
53
|
def destroy!(session_id)
|
53
54
|
response = OnSIP.connection.get('/api', {'Action' => 'SessionDestroy', 'SessionId' => session_id, 'Output' => 'json'}, {})
|
55
|
+
yield response if block_given?
|
54
56
|
process_destroy_session_response response
|
55
57
|
end
|
56
58
|
|
data/lib/onsip/version.rb
CHANGED
data/lib/onsip.rb
CHANGED
data/onsip.gemspec
CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency 'rb-fsevent', '~> 0.9.3'
|
29
29
|
spec.add_development_dependency 'simplecov', '~> 0.8.2'
|
30
30
|
spec.add_development_dependency 'rspec', '>= 3.1.0'
|
31
|
-
spec.add_runtime_dependency 'activesupport', '>= 3.0.0'
|
31
|
+
spec.add_runtime_dependency 'activesupport', ['>= 3.0.0', '<= 4.0.0']
|
32
32
|
spec.add_runtime_dependency 'trollop', '~> 2.0'
|
33
33
|
spec.add_runtime_dependency 'multi_json', '~> 1.10.1'
|
34
34
|
spec.add_runtime_dependency 'nokogiri', '~> 1.6.1'
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OnSIP::Account do
|
4
|
+
before :each do
|
5
|
+
|
6
|
+
success_body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"true"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T20:34:18+00:00", "Duration"=>"50", "Parameters"=>{"Parameter"=>[{"Name"=>"AccountId", "Value"=>"27370"}, {"Name"=>"Action", "Value"=>"AccountRead"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"SessionId", "Value"=>"1vflpm8sa25vt88o6nsl60lgi5"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"1vflpm8sa25vt88o6nsl60lgi5", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}, "Result"=>{"AccountRead"=>{"Account"=>{"AccountId"=>"27370", "Receivable"=>"0.00", "Promocode"=>{}, "Productcode"=>"platform", "PerUserPricing"=>"false", "ResellerBilling"=>"false", "BalanceSeconds"=>"0", "EscrowSecondsUpdate"=>"0", "EscrowSecondsCredit"=>"0", "Balance"=>"00.00", "CreditLimit"=>"0.00", "Recharge"=>"false", "RechargeLevel"=>"0.00", "RechargeThreshold"=>"0.00", "Modified"=>"2014-12-03T19:04:34+00:00", "Created"=>"2014-03-24T14:15:44+00:00", "Contact"=>{"Name"=>"Bar Foo", "Organization"=>"IceHook Systems", "Address"=>"123 Main St", "City"=>"New York", "State"=>"NY", "Zipcode"=>"100000", "Country"=>"United States of America", "CountryId"=>"207", "Phone"=>"1-212-555-1212", "Email"=>"test@icehook.com", "Modified"=>"2014-03-24T14:15:44+00:00"}, "CreditCard"=>{"CreditCardId"=>"12345", "AccountId"=>"54321", "CreditCardType"=>"3", "Name"=>"Foo Bar", "LastFour"=>"****", "Expiration"=>"01/2017", "Modified"=>"2014-10-15T18:07:36+00:00", "FirstName"=>"Foo", "LastName"=>"Bar", "Address"=>"123 Main St", "City"=>"New York", "State"=>"NY", "Zipcode"=>"10000", "CountryId"=>"207", "Phone"=>"1-212-555-1212", "IPAddress"=>"127.0.0.1"}}}}}}.to_json
|
7
|
+
stub_request(:get, Regexp.new('http://success.onsip.com/api?.*AccountRead.*'))
|
8
|
+
.to_return({
|
9
|
+
:body => success_body,
|
10
|
+
:status => 200,
|
11
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
12
|
+
})
|
13
|
+
|
14
|
+
failed_body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"false", "Errors"=>{"Error"=>{"Code"=>"AccountAuthorization.Required", "Message"=>"Permission to perform the requested action has not been granted."}}}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T21:36:21+00:00", "Duration"=>"41", "Parameters"=>{"Parameter"=>[{"Name"=>"AccountId", "Value"=>"12345"}, {"Name"=>"Action", "Value"=>"AccountRead"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"SessionId", "Value"=>"j3kmb4boemqnl6u1vsip210rp7"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"j3kmb4boemqnl6u1vsip210rp7", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}}}.to_json
|
15
|
+
stub_request(:get, Regexp.new('http://fail.onsip.com/api?.*AccountRead.*'))
|
16
|
+
.to_return({
|
17
|
+
:body => failed_body,
|
18
|
+
:status => 200,
|
19
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
20
|
+
})
|
21
|
+
|
22
|
+
OnSIP.session = OnSIP::Session.new("IsEstablished" => "true")
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "Onsip::Account.read" do
|
26
|
+
it "has a valid id" do
|
27
|
+
OnSIP.connect('http://success.onsip.com')
|
28
|
+
account = OnSIP::Account.read('27370')
|
29
|
+
expect(account.class).to eq OnSIP::Account
|
30
|
+
end
|
31
|
+
|
32
|
+
it "has an invalid id" do
|
33
|
+
OnSIP.connect('http://fail.onsip.com')
|
34
|
+
account = nil
|
35
|
+
expect { account = OnSIP::Account.read('12345') }.to raise_error(OnSIP::Exceptions::OnSIPRequestError)
|
36
|
+
expect(account).to be(nil)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OnSIP::CDR do
|
4
|
+
before :each do
|
5
|
+
|
6
|
+
body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"true"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T17:39:53+00:00", "Duration"=>"30", "Parameters"=>{"Parameter"=>[{"Name"=>"Action", "Value"=>"SessionCreate"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"Password", "Value"=>"******"}, {"Name"=>"Username", "Value"=>"icehook"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"j2vtu1bk7rsdpklofplu07ocq1", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}, "Result"=>{"SessionCreate"=>{}}}}.to_json
|
7
|
+
stub_request(:get, Regexp.new('http://api.onsip.com/api?.*CdrBrowse.*'))
|
8
|
+
.to_return({
|
9
|
+
:body => body,
|
10
|
+
:status => 200,
|
11
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
12
|
+
})
|
13
|
+
OnSIP.connect('http://api.onsip.com')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OnSIP::ExternalAddress do
|
4
|
+
before :each do
|
5
|
+
|
6
|
+
body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"true"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T17:39:53+00:00", "Duration"=>"30", "Parameters"=>{"Parameter"=>[{"Name"=>"Action", "Value"=>"SessionCreate"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"Password", "Value"=>"******"}, {"Name"=>"Username", "Value"=>"icehook"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"j2vtu1bk7rsdpklofplu07ocq1", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}, "Result"=>{"SessionCreate"=>{}}}}.to_json
|
7
|
+
stub_request(:get, Regexp.new('http://api.onsip.com/api?.*ExternalAddressAdd.*'))
|
8
|
+
.to_return({
|
9
|
+
:body => body,
|
10
|
+
:status => 200,
|
11
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
12
|
+
})
|
13
|
+
OnSIP.connect('http://api.onsip.com')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OnSIP::Organization do
|
4
|
+
before :each do
|
5
|
+
|
6
|
+
body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"true"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T17:39:53+00:00", "Duration"=>"30", "Parameters"=>{"Parameter"=>[{"Name"=>"Action", "Value"=>"SessionCreate"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"Password", "Value"=>"******"}, {"Name"=>"Username", "Value"=>"icehook"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"j2vtu1bk7rsdpklofplu07ocq1", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}, "Result"=>{"SessionCreate"=>{}}}}.to_json
|
7
|
+
stub_request(:get, Regexp.new('http://api.onsip.com/api?.*OrganizationAdd.*'))
|
8
|
+
.to_return({
|
9
|
+
:body => body,
|
10
|
+
:status => 200,
|
11
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
12
|
+
})
|
13
|
+
OnSIP.connect('http://api.onsip.com')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OnSIP::UserAddress do
|
4
|
+
before :each do
|
5
|
+
|
6
|
+
body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"true"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T17:39:53+00:00", "Duration"=>"30", "Parameters"=>{"Parameter"=>[{"Name"=>"Action", "Value"=>"SessionCreate"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"Password", "Value"=>"******"}, {"Name"=>"Username", "Value"=>"icehook"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"j2vtu1bk7rsdpklofplu07ocq1", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}, "Result"=>{"SessionCreate"=>{}}}}.to_json
|
7
|
+
stub_request(:get, Regexp.new('http://api.onsip.com/api?.*UserAddressAdd.*'))
|
8
|
+
.to_return({
|
9
|
+
:body => body,
|
10
|
+
:status => 200,
|
11
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
12
|
+
})
|
13
|
+
OnSIP.connect('http://api.onsip.com')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OnSIP::User do
|
4
|
+
before :each do
|
5
|
+
|
6
|
+
body = {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"true"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T20:17:17+00:00", "Duration"=>"46", "Parameters"=>{"Parameter"=>[{"Name"=>"Action", "Value"=>"UserRead"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"SessionId", "Value"=>"bvb4thhuk1d7tb2bddf09teqr4"}, {"Name"=>"UserId", "Value"=>"260161"}]}}, "Session"=>{"IsEstablished"=>"true", "SessionId"=>"bvb4thhuk1d7tb2bddf09teqr4", "UserId"=>"212762", "Roles"=>{"Role"=>{"Name"=>"Account Admin"}}}}, "Result"=>{"UserRead"=>{"User"=>{"UserId"=>"260161", "OrganizationId"=>"30096", "AccountId"=>"27370", "Flags"=>"32", "Status"=>"disabled", "Domain"=>"sip.firertc.com", "Username"=>"test3_firertc", "Password"=>"**********", "AuthUsername"=>"test3_firertc", "Modified"=>"2014-11-24T19:24:03+00:00", "Created"=>"2014-11-03T19:30:08+00:00", "Ack911"=>"1970-01-01T00:00:00+00:00", "SurveyCompleted"=>"1970-01-01T00:00:00+00:00", "AckTrunkingTerms"=>"1970-01-01T00:00:00+00:00", "AckTrunkingE911"=>"1970-01-01T00:00:00+00:00", "AckHostedTerms"=>"1970-01-01T00:00:00+00:00", "AckHostedE911"=>"1970-01-01T00:00:00+00:00", "ExtendedDialing"=>"false", "PSTNForwarding"=>"false", "E911Provisioning"=>"false", "PSTNTrunking"=>"false", "FreePSTNTrunking"=>"false", "BusyLampField"=>"true", "Contact"=>{"Name"=>"test", "Organization"=>"IceHook Systems", "Address"=>"123 Main St", "City"=>"New York", "State"=>"NY", "Zipcode"=>"10000", "Country"=>"United States of America", "CountryId"=>"207", "Phone"=>"1-212-555-1212", "Email"=>"test@icehook.com", "Modified"=>"2014-11-03T19:30:08+00:00"}, "Roles"=>{"Role"=>{"Name"=>"User"}}}}}}}.to_json
|
7
|
+
stub_request(:get, Regexp.new('http://api.onsip.com/api?.*UserRead.*'))
|
8
|
+
.to_return({
|
9
|
+
:body => body,
|
10
|
+
:status => 200,
|
11
|
+
:headers => { 'Content-Type' => 'application/json; charset=utf-8' }
|
12
|
+
})
|
13
|
+
OnSIP.connect('http://api.onsip.com')
|
14
|
+
OnSIP.session = OnSIP::Session.new("IsEstablished" => "true")
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "with valid id" do
|
18
|
+
it "can be read" do
|
19
|
+
user = OnSIP::User.read('260161')
|
20
|
+
expect(user.class).to eq OnSIP::User
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
File without changes
|
@@ -27,3 +27,5 @@ describe OnSIP::Session do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
end
|
30
|
+
|
31
|
+
# {"Response"=>{"Context"=>{"Action"=>{"IsCompleted"=>"false"}, "Request"=>{"IsValid"=>"true", "DateTime"=>"2014-12-04T20:07:08+00:00", "Duration"=>"8", "Parameters"=>{"Parameter"=>[{"Name"=>"Action", "Value"=>"SessionCreate"}, {"Name"=>"Output", "Value"=>"json"}, {"Name"=>"Password", "Value"=>"7onsip6"}, {"Name"=>"Username", "Value"=>"klarrimore@icehook.com"}]}, "Errors"=>{"Error"=>{"Parameter"=>"Action", "Code"=>"Accessor.LoginLocked", "Message"=>"You have failed to log in too many times. Please wait 10 minutes then try again."}}}, "Session"=>{"IsEstablished"=>"false"}}}}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onsip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Larrimore
|
@@ -157,6 +157,9 @@ dependencies:
|
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: 3.0.0
|
160
|
+
- - "<="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 4.0.0
|
160
163
|
type: :runtime
|
161
164
|
prerelease: false
|
162
165
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -164,6 +167,9 @@ dependencies:
|
|
164
167
|
- - ">="
|
165
168
|
- !ruby/object:Gem::Version
|
166
169
|
version: 3.0.0
|
170
|
+
- - "<="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 4.0.0
|
167
173
|
- !ruby/object:Gem::Dependency
|
168
174
|
name: trollop
|
169
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -305,6 +311,13 @@ files:
|
|
305
311
|
- lib/onsip/session.rb
|
306
312
|
- lib/onsip/version.rb
|
307
313
|
- onsip.gemspec
|
314
|
+
- spec/lib/onsip/models/account_spec.rb
|
315
|
+
- spec/lib/onsip/models/cdr_spec.rb
|
316
|
+
- spec/lib/onsip/models/external_address_spec.rb
|
317
|
+
- spec/lib/onsip/models/organization_spec.rb
|
318
|
+
- spec/lib/onsip/models/user_address_spec.rb
|
319
|
+
- spec/lib/onsip/models/user_spec.rb
|
320
|
+
- spec/lib/onsip/response_parser_spec.rb
|
308
321
|
- spec/lib/onsip/session_spec.rb
|
309
322
|
- spec/spec_helper.rb
|
310
323
|
homepage: http://icehook.com
|
@@ -332,5 +345,12 @@ signing_key:
|
|
332
345
|
specification_version: 4
|
333
346
|
summary: OnSIP ruby client.
|
334
347
|
test_files:
|
348
|
+
- spec/lib/onsip/models/account_spec.rb
|
349
|
+
- spec/lib/onsip/models/cdr_spec.rb
|
350
|
+
- spec/lib/onsip/models/external_address_spec.rb
|
351
|
+
- spec/lib/onsip/models/organization_spec.rb
|
352
|
+
- spec/lib/onsip/models/user_address_spec.rb
|
353
|
+
- spec/lib/onsip/models/user_spec.rb
|
354
|
+
- spec/lib/onsip/response_parser_spec.rb
|
335
355
|
- spec/lib/onsip/session_spec.rb
|
336
356
|
- spec/spec_helper.rb
|