telapi 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YzI4YWUyMzAzNDM1MWZmYjQ0NGVjZGI1M2RjMGRmZGQxNWJlZGNhYg==
5
+ data.tar.gz: !binary |-
6
+ MDQ5MGRhZGI0Nzc3ODg0ZWQwNTNhYzc5NGI0NjE1M2RjMGRiNGQxMg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ M2VlNGVmYzRlODBmOWMyYTI3ODQxMzg3ZDg0NjQ2NmMwODExYjc4MGU4M2Fm
10
+ YWQ4MDE4NmRmZTlmOGIzYzU0NTI0MmRhM2Y5YWI0MTQyMDU0NGQ3MmU0ZjBk
11
+ Y2I4YmI1YWQ5YTc3MjY2ODRjNDQxMGMwMWMxMjczNjMyNWIwOGM=
12
+ data.tar.gz: !binary |-
13
+ OWU0MDIyODk3NWIzZmY0YmEyYjEwMmMzMTVjZDBiOWVmM2I2YmU3YjYxNzQ4
14
+ Y2NlOTYyZWU4ZWM2N2QzMzM5NzFlOTY1N2FkZDI3Y2I0MmY1NzM0NjZiOTI2
15
+ YWViYzQxMmE5ZWZkZjQzZjVmNjM1YjZkYjAxNzE4Zjg0NDk2MmI=
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Phil Misiowiec
1
+ Copyright (c) 2013 TelAPI
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -58,7 +58,7 @@ Methods that return collections wrap Resource objects in a Resource Collection i
58
58
 
59
59
  ## Documentation
60
60
 
61
- Detailed documentation can be found at [RubyDoc](http://rubydoc.info/gems/telapi/) and [the official TelAPI documentation site](http://www.telapi.com/docs/).
61
+ Detailed documentation for this libray can be found at [TelAPI-Ruby Reference](http://telapi.github.com/telapi-ruby/) or [RubyDoc](http://rubydoc.info/gems/telapi/).
62
62
 
63
63
  ## Usage Examples - REST API
64
64
 
@@ -10,6 +10,7 @@ require 'telapi/resource_collection'
10
10
  require 'telapi/account'
11
11
  require 'telapi/application'
12
12
  require 'telapi/available_phone_number'
13
+ require 'telapi/bna'
13
14
  require 'telapi/call'
14
15
  require 'telapi/caller_id'
15
16
  require 'telapi/carrier'
@@ -21,5 +22,7 @@ require 'telapi/notification'
21
22
  require 'telapi/participant'
22
23
  require 'telapi/recording'
23
24
  require 'telapi/transcription'
25
+ require 'telapi/usage'
26
+ require 'telapi/fax'
24
27
 
25
28
  require 'telapi/inbound_xml'
@@ -25,10 +25,8 @@ module Telapi
25
25
  # Creates an application, returning a Telapi::Application object
26
26
  # See http://www.telapi.com/docs/api/rest/applications/create/
27
27
  #
28
- # Required params:
29
- # +name+:: string
30
- #
31
28
  # Optional params is a hash containing:
29
+ # +FriendlyName+:: string
32
30
  # +VoiceUrl+:: valid URL
33
31
  # +VoiceMethod+:: (POST) or GET
34
32
  # +VoiceFallbackUrl+:: valid URL
@@ -40,11 +38,10 @@ module Telapi
40
38
  # +SmsFallbackMethod+:: (POST) or GET
41
39
  # +HeartbeatUrl+:: valid URL
42
40
  # +HeartbeatMethod+:: (POST) or GET
43
- # +StatusCallback+:: valid URL
44
- # +StatusCallbackMethod+:: (POST) or GET
45
- def create(name, optional_params = {})
46
- opts = { :FriendlyName => name }.merge(optional_params)
47
- response = Network.post(['Applications'], opts)
41
+ # +HangupCallback+:: valid URL
42
+ # +HangupCallbackMethod+:: (POST) or GET
43
+ def create(optional_params = {})
44
+ response = Network.post(['Applications'], optional_params)
48
45
  Application.new(response)
49
46
  end
50
47
 
@@ -55,8 +52,6 @@ module Telapi
55
52
  # +id+:: application id
56
53
  #
57
54
  # Optional params is a hash supporting same options under ::create
58
- # in addition to:
59
- # +FriendlyName+:: string
60
55
  def update(id, optional_params = {})
61
56
  response = Network.post(['Applications', id], optional_params)
62
57
  Application.new(response)
@@ -72,6 +67,16 @@ module Telapi
72
67
  Application.new(response)
73
68
  end
74
69
 
70
+ # Generates TelAPI JavaScript SDK credentials
71
+ # See http://www.telapi.com/docs/sdks/javascript/
72
+ #
73
+ # Required params:
74
+ # +id+:: application id
75
+ def generate_token(id, optional_params = {})
76
+ response = Network.post(['Applications', id, 'GenerateToken'], optional_params)
77
+ Application.new(response)
78
+ end
79
+
75
80
  end
76
81
 
77
82
  # See ::update
@@ -7,15 +7,16 @@ module Telapi
7
7
  # See http://www.telapi.com/docs/api/rest/available-phone-numbers/list/
8
8
  #
9
9
  # Required params:
10
- # +country_code_iso+:: country code (ISO), see http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
10
+ # +country_code+:: country code (ISO), see http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
11
+ # +num_type+:: Local or TollFree
11
12
  #
12
13
  # Optional params is a hash containing:
13
14
  # +AreaCode+:: valid area code, e.g. 415
14
15
  # +Contains+:: 0-9, lower and upper case letters of the alphabet (Aa-Zz), or *
15
16
  # +InRegion+:: valid region (state or province) abbreviation
16
17
  # +InPostalCode+:: valid postal code
17
- def list(country_code_iso, optional_params = {})
18
- response = Network.get(['AvailablePhoneNumbers', country_code_iso, 'Local'], optional_params)
18
+ def list(country_code, num_type, optional_params = {})
19
+ response = Network.get(['AvailablePhoneNumbers', country_code, num_type], optional_params)
19
20
  ResourceCollection.new(response, 'available_phone_numbers', self)
20
21
  end
21
22
 
@@ -0,0 +1,16 @@
1
+ module Telapi
2
+ # Wraps TelAPI BNA lookup functionality
3
+ class Bna < Resource
4
+ class << self
5
+
6
+ # Returns a Telapi::Bna object given a phone number
7
+ # See http://www.telapi.com/docs/api/rest/carrier-services/bna-lookup/
8
+ def lookup(phone_number)
9
+ opts = { :PhoneNumber => phone_number }
10
+ response = Network.get(['BNA'], opts)
11
+ Bna.new(response)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -13,6 +13,7 @@ module Telapi
13
13
  # +StartTime+:: date in the following format: YYYY-MM-DD
14
14
  # +Page+:: integer greater than 0
15
15
  # +PageSize+:: integer greater than 0
16
+ # +DisableFaxDirections+:: true or (false)
16
17
  def list(optional_params = {})
17
18
  response = Network.get(['Calls'], optional_params)
18
19
  ResourceCollection.new(response, 'calls', self)
@@ -43,6 +44,10 @@ module Telapi
43
44
  # +SendDigits+:: 0-9, #, or *
44
45
  # +Timeout+:: integer greater than or equal to 0 (default: 60)
45
46
  # +HideCallerId+:: true or (false)
47
+ # +StraightToVoicemail+:: true or (false)
48
+ # +IfMachine+:: redirect, hangup, or (continue)
49
+ # +IfMachineUrl+:: valid URL
50
+ # +IfMachineMethod+:: (POST) or GET
46
51
  def make(to, from, url, optional_params = {})
47
52
  opts = { :To => to, :From => from, :Url => url }.merge(optional_params)
48
53
  response = Network.post(['Calls'], opts)
@@ -0,0 +1,47 @@
1
+ module Telapi
2
+ # Wraps TelAPI Fax Fax functionality
3
+ class Fax < Resource
4
+ class << self
5
+
6
+ # Returns a resource collection containing Telapi::Fax objects
7
+ # See http://www.telapi.com/docs/api/rest/faxes/list/
8
+ #
9
+ # Optional params is a hash containing:
10
+ # +To+:: mobile phone number
11
+ # +From+:: TelAPI or mobile phone number
12
+ # +StartTime+:: date in the following format: YYYY-MM-DD
13
+ # +Status+:: sending, queued, receiving, comm-error, call-dropped
14
+ # +Page+:: integer greater than 0
15
+ # +PageSize+:: integer greater than 0
16
+ def list(optional_params = {})
17
+ response = Network.get(['Faxes'], optional_params)
18
+ ResourceCollection.new(response, 'faxes', self)
19
+ end
20
+
21
+ # Returns a specific Telapi::Fax object given its id
22
+ # See http://www.telapi.com/docs/api/rest/faxes/view/
23
+ def get(id)
24
+ response = Network.get(['Faxes', id])
25
+ Fax.new(response)
26
+ end
27
+
28
+ # Creates a Fax, returning a Telapi::Fax object
29
+ # See http://www.telapi.com/docs/api/rest/faxes/send/
30
+ #
31
+ # Required params:
32
+ # +to+:: mobile phone number
33
+ # +from+:: TelAPI or mobile phone number
34
+ # +url+:: valid URL of the media file to be faxed
35
+ #
36
+ # Optional params:
37
+ # +status_callback+:: valid URL
38
+ # +status_callback+:: (POST) or GET
39
+ def create(to, from, url, optional_params = {})
40
+ opts = { :To => to, :From => from, :Url => url }.merge(optional_params)
41
+ response = Network.post(['Faxes'], opts)
42
+ Fax.new(response)
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -26,14 +26,31 @@ module Telapi
26
26
  # Creates a new incoming phone number, returning a Telapi::IncomingPhoneNumber object
27
27
  # See http://www.telapi.com/docs/api/rest/incoming-phone-numbers/add-or-delete/
28
28
  #
29
- # Required params:
30
- # +phone_number+:: area code, e.g. 18052585701
31
- def create(phone_number)
32
- opts = { :PhoneNumber => phone_number }
33
- response = Network.post(['IncomingPhoneNumbers'], opts)
29
+ # Conditional params:
30
+ # +PhoneNumber+:: e.g. 18055555701
31
+ # +AreaCode+:: e.g. 732
32
+ #
33
+ # Optional params is a hash containing:
34
+ # +FriendlyName+:: string
35
+ # +VoiceUrl+:: valid URL
36
+ # +VoiceMethod+:: (POST) or GET
37
+ # +VoiceFallbackUrl+:: valid URL
38
+ # +VoiceFallbackMethod+:: (POST) or GET
39
+ # +VoiceCallerIdLookup+:: true or (false)
40
+ # +SmsUrl+:: valid URL
41
+ # +SmsMethod+:: (POST) or GET
42
+ # +SmsFallbackUrl+:: valid URL
43
+ # +SmsFallbackMethod+:: (POST) or GET
44
+ # +HeartbeatUrl+:: valid URL
45
+ # +HeartbeatMethod+:: (POST) or GET
46
+ # +HangupCallback+:: valid URL
47
+ # +HangupCallbackMethod+:: (POST) or GET
48
+ def create(optional_params = {})
49
+ response = Network.post(['IncomingPhoneNumbers'], optional_params)
34
50
  IncomingPhoneNumber.new(response)
35
51
  end
36
52
 
53
+
37
54
  # Delete an incoming phone number, returning a Telapi::IncomingPhoneNumber object
38
55
  # See http://www.telapi.com/docs/api/rest/incoming-phone-numbers/add-or-delete/
39
56
  #
@@ -63,8 +80,8 @@ module Telapi
63
80
  # +SmsFallbackMethod+:: (POST) or GET
64
81
  # +HeartbeatUrl+:: valid URL
65
82
  # +HeartbeatMethod+:: (POST) or GET
66
- # +StatusCallback+:: valid URL
67
- # +StatusCallbackMethod+:: (POST) or GET
83
+ # +HangupCallback+:: valid URL
84
+ # +HangupCallbackMethod+:: (POST) or GET
68
85
  def update(id, optional_params = {})
69
86
  response = Network.post(['IncomingPhoneNumbers', id], optional_params)
70
87
  IncomingPhoneNumber.new(response)
@@ -9,6 +9,7 @@ module Telapi
9
9
  # Also, recordings can be scoped to a call, see Telapi::Call::recordings
10
10
  #
11
11
  # Optional params is a hash containing:
12
+ # +CallSid+:: Show recordings made during a particular call
12
13
  # +DateCreated+:: date in the following format: YYYY-MM-DD
13
14
  # +Page+:: integer greater than 0
14
15
  # +PageSize+:: integer greater than 0
@@ -9,6 +9,8 @@ module Telapi
9
9
  # Also, Transcriptions can be scoped to a recording, see Telapi::Recording::transcriptions
10
10
  #
11
11
  # Optional params is a hash containing:
12
+ # +Status+:: in-progress, completed, or failed
13
+ # +DateTranscribed+:: YYYY-MM-DD format
12
14
  # +Page+:: integer greater than 0
13
15
  # +PageSize+:: integer greater than 0
14
16
  def list(optional_params = {})
@@ -0,0 +1,30 @@
1
+ module Telapi
2
+ # Wraps TelAPI Usage functionality
3
+ class Usage < Resource
4
+ class << self
5
+
6
+ # Returns a resource collection containing Telapi::Usage objects
7
+ # See http://www.telapi.com/docs/api/rest/accounts/list-usages/
8
+ #
9
+ # Optional params is a hash containing:
10
+ # +Day+:: day in the following format: DD
11
+ # +Month+:: month in the following format: MM
12
+ # +Year+:: year in the following format: YYYY
13
+ # +Product+:: integer representing a product
14
+ # +Page+:: integer greater than 0
15
+ # +PageSize+:: integer greater than 0
16
+ def list(optional_params = {})
17
+ response = Network.get(['Usages'], optional_params)
18
+ ResourceCollection.new(response, 'usages', self)
19
+ end
20
+
21
+ # Returns a specific Telapi::Usage object given its id
22
+ # See http://www.telapi.com/docs/api/rest/accounts/view-usage/
23
+ def get(id)
24
+ response = Network.get(['Usages', id])
25
+ Usage.new(response)
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -1,3 +1,3 @@
1
1
  module Telapi
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -66,4 +66,11 @@ describe Telapi::Application do
66
66
  klass.get('abc123').delete
67
67
  end
68
68
  end
69
+
70
+ describe ".generate_token" do
71
+ it "calls api via http post and returns an Application resource" do
72
+ api_should_use(:post)
73
+ klass.generate_token('abc123').should be_a(klass)
74
+ end
75
+ end
69
76
  end
@@ -13,14 +13,14 @@ describe Telapi::AvailablePhoneNumber do
13
13
 
14
14
  it "calls api via http get and returns a ResourceCollection" do
15
15
  api_should_use(:get)
16
- klass.list('US').should be_a(Telapi::ResourceCollection)
16
+ klass.list('US', 'Local').should be_a(Telapi::ResourceCollection)
17
17
  end
18
18
 
19
19
  context "when Available Phone Numbers exist" do
20
20
  before { stub_telapi_request('{ "available_phone_numbers": [{ "phone_number": "+14242495526" }] }') }
21
21
 
22
22
  it "has a collection of Available Phone Number objects" do
23
- klass.list('US').first.should be_a(klass)
23
+ klass.list('US', 'Local').first.should be_a(klass)
24
24
  end
25
25
  end
26
26
  end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Telapi::Bna do
4
+ before do
5
+ stub_telapi_request
6
+ set_account_sid_and_auth_token
7
+ end
8
+
9
+ it { should be_kind_of(Telapi::Resource) }
10
+
11
+ describe ".lookup" do
12
+ it "calls api via http get and returns a BNA resource" do
13
+ api_should_use(:get)
14
+ klass.lookup('17325551234').should be_a(klass)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe Telapi::Fax do
4
+ before do
5
+ stub_telapi_request
6
+ set_account_sid_and_auth_token
7
+ end
8
+
9
+ it { should be_kind_of(Telapi::Resource) }
10
+
11
+ describe ".list" do
12
+ before { stub_telapi_request('{ "faxes": [] }') }
13
+
14
+ it "calls api via http get and returns a ResourceCollection" do
15
+ api_should_use(:get)
16
+ klass.list.should be_a(Telapi::ResourceCollection)
17
+ end
18
+
19
+ context "when Faxes exist" do
20
+ before { stub_telapi_request('{ "faxes": [{ "from": "+14245551234","to": "+17325551234"}] }') }
21
+
22
+ it "has a collection of Fax objects" do
23
+ klass.list.first.should be_a(klass)
24
+ end
25
+ end
26
+ end
27
+
28
+ describe ".get" do
29
+ it "calls api via http get and returns a Fax resource" do
30
+ api_should_use(:get)
31
+ klass.get('abc123').should be_a(klass)
32
+ end
33
+ end
34
+
35
+ describe ".create" do
36
+ it "calls api via http post and returns a Fax resource" do
37
+ api_should_use(:post)
38
+ klass.create('(111) 111-1111', '(999) 999-9999', 'http://telapi.com/documents/cloud-fax.tiff').should be_a(klass)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ describe Telapi::Usage do
4
+ before do
5
+ stub_telapi_request
6
+ set_account_sid_and_auth_token
7
+ end
8
+
9
+ it { should be_kind_of(Telapi::Resource) }
10
+
11
+ describe ".list" do
12
+ before { stub_telapi_request('{ "usages": [] }') }
13
+
14
+ it "calls api via http get and returns a ResourceCollection" do
15
+ api_should_use(:get)
16
+ klass.list.should be_a(Telapi::ResourceCollection)
17
+ end
18
+
19
+ context "when Usages exist" do
20
+ before { stub_telapi_request('{ "usages": [{ "Product": "Carrier Lookup" }] }') }
21
+
22
+ it "has a collection of Usage objects" do
23
+ klass.list.first.should be_a(klass)
24
+ end
25
+ end
26
+ end
27
+
28
+ describe ".get" do
29
+ it "calls api via http get and returns a Usage resource" do
30
+ api_should_use(:get)
31
+ klass.get('abc123').should be_a(klass)
32
+ end
33
+ end
34
+ end
@@ -6,8 +6,8 @@ require 'telapi/version'
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "telapi"
8
8
  gem.version = Telapi::VERSION
9
- gem.authors = ["Phil Misiowiec"]
10
- gem.email = ["phil@webficient.com"]
9
+ gem.authors = ["Phil Misiowiec", "Matt Meyer"]
10
+ gem.email = ["phil@webficient.com", "mmeyer@telapi.com"]
11
11
  gem.description = %q{TelAPI wrapper. See www.telapi.com.}
12
12
  gem.summary = %q{TelAPI wrapper}
13
13
  gem.homepage = "http://github.com/telapi/telapi-ruby"
metadata CHANGED
@@ -1,20 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Phil Misiowiec
8
+ - Matt Meyer
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-15 00:00:00.000000000 Z
12
+ date: 2013-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
16
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
17
  requirements:
19
18
  - - ! '>='
20
19
  - !ruby/object:Gem::Version
@@ -22,7 +21,6 @@ dependencies:
22
21
  type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
24
  requirements:
27
25
  - - ! '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,7 +28,6 @@ dependencies:
30
28
  - !ruby/object:Gem::Dependency
31
29
  name: multi_json
32
30
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
31
  requirements:
35
32
  - - ! '>='
36
33
  - !ruby/object:Gem::Version
@@ -38,7 +35,6 @@ dependencies:
38
35
  type: :runtime
39
36
  prerelease: false
40
37
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
38
  requirements:
43
39
  - - ! '>='
44
40
  - !ruby/object:Gem::Version
@@ -46,7 +42,6 @@ dependencies:
46
42
  - !ruby/object:Gem::Dependency
47
43
  name: nokogiri
48
44
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
45
  requirements:
51
46
  - - ! '>='
52
47
  - !ruby/object:Gem::Version
@@ -54,7 +49,6 @@ dependencies:
54
49
  type: :runtime
55
50
  prerelease: false
56
51
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
52
  requirements:
59
53
  - - ! '>='
60
54
  - !ruby/object:Gem::Version
@@ -62,7 +56,6 @@ dependencies:
62
56
  - !ruby/object:Gem::Dependency
63
57
  name: recursive-open-struct
64
58
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
59
  requirements:
67
60
  - - ! '>='
68
61
  - !ruby/object:Gem::Version
@@ -70,7 +63,6 @@ dependencies:
70
63
  type: :runtime
71
64
  prerelease: false
72
65
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
66
  requirements:
75
67
  - - ! '>='
76
68
  - !ruby/object:Gem::Version
@@ -78,7 +70,6 @@ dependencies:
78
70
  - !ruby/object:Gem::Dependency
79
71
  name: rake
80
72
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
73
  requirements:
83
74
  - - ~>
84
75
  - !ruby/object:Gem::Version
@@ -86,7 +77,6 @@ dependencies:
86
77
  type: :development
87
78
  prerelease: false
88
79
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
80
  requirements:
91
81
  - - ~>
92
82
  - !ruby/object:Gem::Version
@@ -94,7 +84,6 @@ dependencies:
94
84
  - !ruby/object:Gem::Dependency
95
85
  name: rspec
96
86
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
87
  requirements:
99
88
  - - ~>
100
89
  - !ruby/object:Gem::Version
@@ -102,7 +91,6 @@ dependencies:
102
91
  type: :development
103
92
  prerelease: false
104
93
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
94
  requirements:
107
95
  - - ~>
108
96
  - !ruby/object:Gem::Version
@@ -110,7 +98,6 @@ dependencies:
110
98
  - !ruby/object:Gem::Dependency
111
99
  name: fakeweb
112
100
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
101
  requirements:
115
102
  - - ! '>='
116
103
  - !ruby/object:Gem::Version
@@ -118,7 +105,6 @@ dependencies:
118
105
  type: :development
119
106
  prerelease: false
120
107
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
108
  requirements:
123
109
  - - ! '>='
124
110
  - !ruby/object:Gem::Version
@@ -126,6 +112,7 @@ dependencies:
126
112
  description: TelAPI wrapper. See www.telapi.com.
127
113
  email:
128
114
  - phil@webficient.com
115
+ - mmeyer@telapi.com
129
116
  executables: []
130
117
  extensions: []
131
118
  extra_rdoc_files:
@@ -140,12 +127,14 @@ files:
140
127
  - lib/telapi/account.rb
141
128
  - lib/telapi/application.rb
142
129
  - lib/telapi/available_phone_number.rb
130
+ - lib/telapi/bna.rb
143
131
  - lib/telapi/call.rb
144
132
  - lib/telapi/caller_id.rb
145
133
  - lib/telapi/carrier.rb
146
134
  - lib/telapi/conference.rb
147
135
  - lib/telapi/configuration.rb
148
136
  - lib/telapi/error.rb
137
+ - lib/telapi/fax.rb
149
138
  - lib/telapi/fraud.rb
150
139
  - lib/telapi/inbound_xml.rb
151
140
  - lib/telapi/incoming_phone_number.rb
@@ -157,18 +146,21 @@ files:
157
146
  - lib/telapi/resource.rb
158
147
  - lib/telapi/resource_collection.rb
159
148
  - lib/telapi/transcription.rb
149
+ - lib/telapi/usage.rb
160
150
  - lib/telapi/version.rb
161
151
  - spec/spec_helper.rb
162
152
  - spec/support/telapi_helpers.rb
163
153
  - spec/telapi/account_spec.rb
164
154
  - spec/telapi/application_spec.rb
165
155
  - spec/telapi/available_phone_number_spec.rb
156
+ - spec/telapi/bna_spec.rb
166
157
  - spec/telapi/call_spec.rb
167
158
  - spec/telapi/caller_id_spec.rb
168
159
  - spec/telapi/carrier_spec.rb
169
160
  - spec/telapi/conference_spec.rb
170
161
  - spec/telapi/configuration_spec.rb
171
162
  - spec/telapi/error_spec.rb
163
+ - spec/telapi/fax_spec.rb
172
164
  - spec/telapi/fraud_spec.rb
173
165
  - spec/telapi/inbound_xml_spec.rb
174
166
  - spec/telapi/incoming_phone_number_spec.rb
@@ -180,30 +172,30 @@ files:
180
172
  - spec/telapi/resource_collection_spec.rb
181
173
  - spec/telapi/resource_spec.rb
182
174
  - spec/telapi/transcription_spec.rb
175
+ - spec/telapi/usage_spec.rb
183
176
  - telapi-ruby.gemspec
184
177
  homepage: http://github.com/telapi/telapi-ruby
185
178
  licenses: []
179
+ metadata: {}
186
180
  post_install_message:
187
181
  rdoc_options: []
188
182
  require_paths:
189
183
  - lib
190
184
  required_ruby_version: !ruby/object:Gem::Requirement
191
- none: false
192
185
  requirements:
193
186
  - - ! '>='
194
187
  - !ruby/object:Gem::Version
195
188
  version: '0'
196
189
  required_rubygems_version: !ruby/object:Gem::Requirement
197
- none: false
198
190
  requirements:
199
191
  - - ! '>='
200
192
  - !ruby/object:Gem::Version
201
193
  version: '0'
202
194
  requirements: []
203
195
  rubyforge_project: telapi-ruby
204
- rubygems_version: 1.8.23
196
+ rubygems_version: 2.0.1
205
197
  signing_key:
206
- specification_version: 3
198
+ specification_version: 4
207
199
  summary: TelAPI wrapper
208
200
  test_files:
209
201
  - spec/spec_helper.rb
@@ -211,12 +203,14 @@ test_files:
211
203
  - spec/telapi/account_spec.rb
212
204
  - spec/telapi/application_spec.rb
213
205
  - spec/telapi/available_phone_number_spec.rb
206
+ - spec/telapi/bna_spec.rb
214
207
  - spec/telapi/call_spec.rb
215
208
  - spec/telapi/caller_id_spec.rb
216
209
  - spec/telapi/carrier_spec.rb
217
210
  - spec/telapi/conference_spec.rb
218
211
  - spec/telapi/configuration_spec.rb
219
212
  - spec/telapi/error_spec.rb
213
+ - spec/telapi/fax_spec.rb
220
214
  - spec/telapi/fraud_spec.rb
221
215
  - spec/telapi/inbound_xml_spec.rb
222
216
  - spec/telapi/incoming_phone_number_spec.rb
@@ -228,3 +222,4 @@ test_files:
228
222
  - spec/telapi/resource_collection_spec.rb
229
223
  - spec/telapi/resource_spec.rb
230
224
  - spec/telapi/transcription_spec.rb
225
+ - spec/telapi/usage_spec.rb