capital_one 0.1.0 → 0.2.0

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: aa8bdefb2ec0e1cbb42ae29b7c16a9a0e5797267
4
- data.tar.gz: 352fe4394dd839a985f051b4ccbd351c8e7129ae
3
+ metadata.gz: 37266853addb740e2d6e646c3f97aad6e51d7d43
4
+ data.tar.gz: ce2878b48b6a415b71071b810fdfc73c1b062c2c
5
5
  SHA512:
6
- metadata.gz: 1500cda5cd763356625a5c8f0090b0cefa7be14a9053bb67715c33ee84f8aa58aaef5022d998f31fbb72c37222e6a7306aec5f72fc8ba548a6b6289f657de989
7
- data.tar.gz: 681c0156b3d3bcc8e8e5e1d73fc4e02244a4ecef426195a1f20294ab0c33eb46c764dfa6a0f10261ad1179d1e27993e2f7baed35d449b90213c99b22eb1f3aa8
6
+ metadata.gz: 81a3b93e75eafa60d15067953c6254b13b81b944e17ff5a2f1bb765be72111428e1118971347fd03c9bf4515427f82b6a9762c5e63fa5d74a9b841c1e76a37c2
7
+ data.tar.gz: eb62295f194a01999924776dc1d2e238af96e833f284815fe0ff8724601490e67fa0394006b523afaf1a468718425d548f8a7b4467e2e66ab9d9956b67ddf30e
data/lib/capital_one.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  =begin
2
2
 
3
+ ==Capital One API Gem
4
+
3
5
  This is a gem to wrap the Capital One public API.
4
6
  Visit api.reimaginebanking.com for more details.
5
7
 
@@ -25,13 +27,29 @@ require 'capital_one/bill'
25
27
  require 'capital_one/branch'
26
28
  require 'capital_one/customer'
27
29
  require 'capital_one/transaction'
30
+ require 'capital_one/withdrawal'
31
+ require 'capital_one/deposit'
28
32
 
29
33
  =begin
30
34
 
35
+ ==Important Info
36
+
31
37
  Depending on the access level/type of API key supplied, some of
32
38
  these methods will return 403 error codes(forbidden). Enterprise level
33
39
  API keys have access to any/all of the GET requests, but nothing else.
34
40
  Customer level API keys have access to GET, POST, PUT, and DELETE, but only
35
41
  for valid accounts which are associated with the customer API key.
36
42
 
43
+ Additionally, some of the GET requests will change in functionality depending on the
44
+ type of key used. For example, the getAll method in the Customer class returns all customers if
45
+ the enterprise API key is used. If the customer API key is used, it will only return the customers that
46
+ the key is associated with.
47
+
48
+ For the purposes of this gem, any ID parameters Strings that are 24 hex characters long. Below is an example:
49
+ 5326c07ba520d1066c9ac52b
50
+
51
+ You can see the API that this gem wraps at api.reimaginebanking.com
52
+
53
+
54
+
37
55
  =end
@@ -13,6 +13,9 @@ class Account
13
13
  end
14
14
 
15
15
  # *** GET ***
16
+ # = getAll
17
+ # Returns an array of hashes getting all the customers.
18
+ #Each index in the array is the hash of an individual customer.
16
19
 
17
20
  def self.getAll
18
21
  url = "#{self.urlWithEntity}?&key=#{self.apiKey}"
@@ -20,23 +23,32 @@ class Account
20
23
  data = JSON.parse(resp.body)
21
24
  end
22
25
 
23
- #Gets all accounts of a given type.
24
- #Possible arguments are: Savings, Credit Card, or Checking.
25
- #tested, credit card doesn't work, returns array of hashes.
26
+ #== getAllByType
27
+ #Gets all accounts of a given type.
28
+ #=Parameters:
29
+ #Accepts a string of the account type. 3 possbilities: Credit Card, Savings, Checking.
30
+ #Returns an array of hashes with the accounts.
31
+
26
32
  def self.getAllByType(type)
27
33
  url = "#{self.urlWithEntity}?type=#{type}&key=#{self.apiKey}"
28
34
  resp = Net::HTTP.get_response(URI.parse(url))
29
35
  data = JSON.parse(resp.body)
30
36
  end
37
+
38
+ #== getOne
31
39
  #Returns the account specified by it's account ID.
32
- #tested - returns a hash with the account info.
40
+ #=Parameters:
41
+ #Accepts a string of the account ID.
42
+ #Returns a hash with the account info.
33
43
  def self.getOne(id)
34
44
  url = "#{self.urlWithEntity}/#{id}?key=#{self.apiKey}"
35
45
  resp = Net::HTTP.get_response(URI.parse(url))
36
46
  data = JSON.parse(resp.body)
37
47
  end
38
- #Gets all accounts associated with a given customer ID.
39
- #tested - returns an array of hashes.
48
+ #== getAllByCustomerId
49
+ #Returns all accounts associated with a given customer ID
50
+ #as an array of hashes.
51
+
40
52
  def self.getAllByCustomerId(customerId)
41
53
  url = "#{self.url}/customers/#{customerId}/accounts?key=#{self.apiKey}"
42
54
  resp = Net::HTTP.get_response(URI.parse(url))
@@ -45,8 +57,10 @@ class Account
45
57
 
46
58
 
47
59
  # *** PUT ***
48
-
49
- #updates an account's nickname by id with given json data.
60
+ #==updateAccount
61
+ #Updates an account's nickname.
62
+ #Parameters: AccountID, AccountHash
63
+ #Returns the http response code.
50
64
  def self.updateAccount(accountId, account)
51
65
  url = "#{self.urlWithEntity}/#{accountId}?key=#{self.apiKey}"
52
66
  uri = URI.parse(url)
@@ -60,8 +74,10 @@ class Account
60
74
 
61
75
 
62
76
  # *** POST ***
63
-
64
- #creates a new account
77
+ #==createAccount
78
+ #Creates a new account
79
+ #Parameters: CustomerID, accountHash
80
+ #Returns the http response code.
65
81
  def self.createAccount(custID, account)
66
82
  accountToCreate = account.to_json
67
83
  url = "#{self.url}/customers/#{custID}/accounts?key=#{self.apiKey}"
@@ -75,8 +91,10 @@ class Account
75
91
 
76
92
 
77
93
  # *** DELETE ***
78
-
79
- #delete a given account with some ID
94
+ #==deleteAccount
95
+ #delete a given account by accountId.
96
+ #Parameters: AccountId.
97
+ #Returns the http response code.
80
98
  def self.deleteAccount(accountId)
81
99
  url = "#{self.urlWithEntity}/#{accountId}?key=#{self.apiKey}"
82
100
  uri = URI.parse(url)
@@ -13,12 +13,27 @@ class Atm
13
13
  end
14
14
 
15
15
  # *** GET ***
16
+ #==getAll
17
+ #Returns all ATMs as an array of hashes.
18
+
16
19
  def self.getAll
17
20
  url = "#{self.urlWithEntity}?key=#{self.apiKey}"
18
21
  resp = Net::HTTP.get_response(URI.parse(url))
19
22
  data = JSON.parse(resp.body)
20
23
  end
24
+
25
+ #==getAllByLocation
26
+ # Get all ATMs withing a certain radius of a geocoordinate
27
+ # Returns an array of hashes within the radius of the geocoordinate. Each hash has an ATM.
28
+ def self.getAllByLocation(lat, lng, rad)
29
+ url = "#{self.urlWithEntity}?lat=#{lat}&lng=#{lng}&rad=#{rad}&key=#{self.apiKey}"
30
+ resp = Net::HTTP.get_response(URI.parse(url))
31
+ data = JSON.parse(resp.body)
32
+ end
21
33
 
34
+ #==getOne
35
+ #Parameters: ATMid
36
+ #Returns the ATM that has the given ID.
22
37
  def self.getOne(id)
23
38
  url = "#{self.urlWithEntity}/#{id}?key=#{self.apiKey}"
24
39
  resp = Net::HTTP.get_response(URI.parse(url))
@@ -18,29 +18,39 @@ class Bill
18
18
 
19
19
  # *** GET ***
20
20
 
21
- #tested -returns array of hashes
21
+ #==getAllByCustomerId
22
22
  # Get all bills for a specific customer
23
+ #Parameters: customerId
24
+ #Returns the customer as a hash array.
23
25
  def self.getAllByCustomerId(customerId)
24
26
  url = "#{self.customerBaseUrl}/#{customerId}/bills?key=#{self.apiKey}"
25
27
  response = Net::HTTP.get_response(URI.parse(url))
26
28
  return JSON.parse(response.body)
27
29
  end
28
- #tested - returns array of hashes
29
- # Get a specific bill
30
+
31
+ #==getOneByCustomerIdBillId
32
+ # Get a specific bill from a specific customer.
33
+ #Parameters: customerId, BillId
34
+ #Returns the specified bill as a hash array
30
35
  def self.getOneByCustomerIdBillId(customerId, billId)
31
36
  url = "#{self.customerBaseUrl}/#{customerId}/bills/#{billId}?key=#{self.apiKey}"
32
37
  resp = Net::HTTP.get_response(URI.parse(url))
33
38
  data = JSON.parse(resp.body)
34
39
  end
35
- #tested - returns an array of hashes with the bills for that account in it.
40
+
41
+ #==getAllByAccountId
36
42
  #Get all bills for a specific account
43
+ #Parameters: accountId
44
+ #Returns an array of hashes containing the bills.
37
45
  def self.getAllByAccountId(accountId)
38
46
  url = "#{self.accountBaseUrl}/#{accountId}/bills?key=#{self.apiKey}"
39
47
  response = Net::HTTP.get_response(URI.parse(url))
40
48
  return JSON.parse(response.body)
41
49
  end
42
-
43
- #get a specific bill from a specific account
50
+ #==getOneByAccountIdBillId
51
+ #Get a specific bill from a specific account
52
+ #Parameters: AccountId, BillId
53
+ #Returns a hash array with the bill.
44
54
  def self.getOneByAccountIdBillId(accountId, billId)
45
55
  url ="#{self.accountBaseUrl}/#{accountId}/bills/#{billId}?key=#{self.apiKey}"
46
56
  response = Net::HTTP.get_response(URI.parse(url))
@@ -48,8 +58,20 @@ class Bill
48
58
  end
49
59
 
50
60
  # *** POST ***
61
+ #==updateBill
62
+ #Updates an account's nickname by id with given json data.
63
+ #Parameters: AccountId, BillId, BillJson
64
+ #Json format is as follows:
65
+ # {
66
+ # "status": "",
67
+ # "payee": "",
68
+ # "nickname": "",
69
+ # "payment_date": "",
70
+ # "recurring_date": 0,
71
+ # "payment_amount": 0
72
+ # }
73
+ #Returns http response code.
51
74
 
52
- #updates an account's nickname by id with given json data.
53
75
  def self.updateBill(accountId, billId, bill)
54
76
  url = "#{self.accountBaseUrl}/#{accountId}/bills/#{billId}?key=#{self.apiKey}"
55
77
  uri = URI.parse(url)
@@ -62,8 +84,19 @@ class Bill
62
84
  end
63
85
 
64
86
  # *** POST ***
65
-
87
+ #==createBill
66
88
  #create a new bill on an associated account ID
89
+ #Parameters: AccountId, BillJson
90
+ #Json is as follows:
91
+ # {
92
+ # "status": "",
93
+ # "payee": "",
94
+ # "nickname": "",
95
+ # "payment_date": "",
96
+ # "recurring_date": 0,
97
+ # "payment_amount": 0
98
+ # }
99
+ #Returns http response code.
67
100
  def self.createBill(accountId, bill)
68
101
  url = "#{self.accountBaseUrl}/#{accountId}/bills?key=#{self.apiKey}"
69
102
  uri = URI.parse(url)
@@ -76,8 +109,10 @@ class Bill
76
109
 
77
110
 
78
111
  # *** DELETE ***
79
-
80
- #delete a bill by id from a given account
112
+ #==deleteBill
113
+ #delete a bill by id from a given account.
114
+ #Parameters: Accountid, billid.
115
+ #Returns http response code.
81
116
  def self.deleteBill(accountId, billId)
82
117
  url = "#{self.accountBaseUrl}/#{accountId}/bills/#{billId}?key=#{self.apiKey}"
83
118
  uri = URI.parse(url)
@@ -13,18 +13,19 @@ class Branch
13
13
  end
14
14
 
15
15
  # *** GET ***
16
-
16
+ #==getAll
17
17
  # Get all the branches
18
- #tested - returns an array of hashes. Each hash is a branch.
18
+ #Returns an array of hashes. Each hash is a branch.
19
19
  def self.getAll
20
20
  url = "#{self.urlWithEntity}?key=#{self.apiKey}"
21
21
  resp = Net::HTTP.get_response(URI.parse(url))
22
22
  data = JSON.parse(resp.body)
23
-
24
23
  end
25
-
26
- # Get a branch by it's id
27
- #tested - returns a hash with the specified branch.
24
+
25
+ #==getOne
26
+ #Get a branch by it's id
27
+ #Parameters: BranchId
28
+ #Returns a hash with the specified branch.
28
29
  def self.getOne(id)
29
30
  url = "#{self.urlWithEntity}/#{id}?key=#{self.apiKey}"
30
31
  resp = Net::HTTP.get_response(URI.parse(url))
@@ -17,16 +17,19 @@ class Customer
17
17
  end
18
18
 
19
19
  # *** GET ***
20
-
21
- #Returns all customers that the API key used has access to.
22
- #tested - Returns an array of hashes.
20
+ #==getAll
21
+ #Gets all customers the API key has acccess to.
22
+ #Returns an array of hashes.
23
23
  def self.getAll
24
24
  url = "#{self.urlWithEntity}?key=#{self.apiKey}"
25
25
  resp = Net::HTTP.get_response(URI.parse(url))
26
26
  data = JSON.parse(resp.body)
27
27
  return data
28
28
  end
29
+
30
+ #==getOne
29
31
  #Gets the specified customer's information.
32
+ #Parameters
30
33
  #tested - Returns a hash.
31
34
  def self.getOne(custId)
32
35
  url = "#{self.urlWithEntity}/#{custId}?key=#{self.apiKey}"
@@ -34,8 +37,10 @@ class Customer
34
37
  data = JSON.parse(resp.body)
35
38
  end
36
39
 
40
+ #==getOneByAccountId
37
41
  #Get the customer for the given account.
38
- #tested - Returns a hash with the specified customer data.
42
+ #Parameters: AccountId
43
+ #Returns a hash with the specified customer data.
39
44
  def self.getOneByAccountId(accID)
40
45
  url = "#{self.urlWithAcctEntity}/#{accID}/customer?key=#{self.apiKey}"
41
46
  resp = Net::HTTP.get_response(URI.parse(url))
@@ -44,7 +49,20 @@ class Customer
44
49
 
45
50
 
46
51
  # *** PUT ***
47
-
52
+ #==updateCustomer
53
+ #Updates a customer by id with given json data.
54
+ #Parameters: CustomerId, CustomerJson.
55
+ #Json is as follows:
56
+ # {
57
+ # "address": {
58
+ # "street_number": "",
59
+ # "street_name": "",
60
+ # "city": "",
61
+ # "state": "",
62
+ # "zip": ""
63
+ # }
64
+ # }
65
+ #Returns http response code.
48
66
  def self.updateCustomer(custID, customer)
49
67
  url = "#{self.urlWithEntity}/#{custID}?key=#{self.apiKey}"
50
68
  uri = URI.parse(url)
@@ -0,0 +1,77 @@
1
+ class Deposit
2
+
3
+ def self.urlWithEntity
4
+ return Config.baseUrl + "/accounts"
5
+ end
6
+
7
+ def self.url
8
+ return Config.baseUrl
9
+ end
10
+
11
+ def self.apiKey
12
+ return Config.apiKey
13
+ end
14
+
15
+
16
+ # *** GET ***
17
+ #==getAllByAccountId
18
+ #Get all deposits for a specific account
19
+ #Returns an array of hashes.
20
+ #Parameters: AccountID
21
+ #Returns an array of hashes containing the deposits for that account.
22
+ def self.getAllByAccountId(accID)
23
+ url = "#{self.urlWithEntity}/#{accID}/deposits?key=#{self.apiKey}"
24
+ resp = Net::HTTP.get_response(URI.parse(url))
25
+ data = JSON.parse(resp.body)
26
+ return data
27
+ end
28
+
29
+ #==getOneByAccountIdDepositId
30
+ # Get a specific deposit from a specific account.
31
+ #Parameters: AccountID, DepositID
32
+ # Returns a hash with the specified deposit
33
+
34
+ def self.getOneByAccountIdDepositId(accID, depositID)
35
+ url = "#{self.urlWithEntity}/#{accID}/deposits/#{depositID}?key=#{self.apiKey}"
36
+ resp = Net::HTTP.get_response(URI.parse(url))
37
+ data = JSON.parse(resp.body)
38
+ end
39
+
40
+
41
+ # *** POST ***
42
+
43
+ # Create a new deposit into an account
44
+ #==createDeposit
45
+ #Creates a new deposit.
46
+ #Parameters: toAccountId, hashWithDepositData
47
+ #Returns http response code.
48
+ def self.createDeposit(toAcc, json)
49
+ url = "#{self.urlWithEntity}/#{toAcc}/deposits?key=#{self.apiKey}"
50
+ uri = URI.parse(url)
51
+ http = Net::HTTP.new(uri.host, uri.port)
52
+ request = Net::HTTP::Post.new(uri.request_uri, initheader = {'Content-Type' => 'application/json'})
53
+ request.body = json
54
+ resp = http.request(request)
55
+ data = JSON.parse(resp.body)
56
+ end
57
+
58
+
59
+ # *** DELETE ***
60
+
61
+ #==deleteDeposit
62
+ #Deletes a specified deposit from a specified account.
63
+ #Parameters: accountID, depositID
64
+ #Returns http response code.
65
+ #=Note:
66
+ #This does not actually delete the deposit from the database, it only sets it's
67
+ #status to 'cancelled'
68
+ def self.deleteDeposit(accID, depositID)
69
+ url = "#{self.urlWithEntity}/#{accID}/deposits/#{depositID}?key=#{self.apiKey}"
70
+ uri = URI.parse(url)
71
+ http = Net::HTTP.new(uri.host, uri.port)
72
+ key="?key=#{self.apiKey}"
73
+ request = Net::HTTP::Delete.new(uri.path+key)
74
+ resp = http.request(request)
75
+ data = JSON.parse(resp.body)
76
+ end
77
+ end
@@ -14,9 +14,11 @@ class Transaction
14
14
 
15
15
 
16
16
  # *** GET ***
17
-
18
- # Get all transactions for a specific account
19
- #tested - Returns an array of hashes.
17
+ #==getAllByAccountId
18
+ #Get all transactions for a specific account where that account is the payer or payee
19
+ #Returns an array of hashes.
20
+ #Parameters: AccountID
21
+ #Returns an array of hashes containing the transactions for that account where that account is the payer or payee.
20
22
  def self.getAllByAccountId(accID)
21
23
  url = "#{self.urlWithEntity}/#{accID}/transactions?key=#{self.apiKey}"
22
24
  resp = Net::HTTP.get_response(URI.parse(url))
@@ -24,8 +26,37 @@ class Transaction
24
26
  return data
25
27
  end
26
28
 
27
- # Get a specific transaction
28
- # tested - Returns a hash with the specified transaction
29
+ # *** GET ***
30
+ #==getAllByAccountIdPayer
31
+ #Get all transactions for a specific account where that account is the payer
32
+ #Returns an array of hashes.
33
+ #Parameters: AccountID
34
+ #Returns an array of hashes containing the transactions for that account where that account is the payer.
35
+ def self.getAllByAccountIdPayer(accID)
36
+ url = "#{self.urlWithEntity}/#{accID}/transactions?type=payer&key=#{self.apiKey}"
37
+ resp = Net::HTTP.get_response(URI.parse(url))
38
+ data = JSON.parse(resp.body)
39
+ return data
40
+ end
41
+
42
+ # *** GET ***
43
+ #==getAllByAccountIdPayee
44
+ #Get all transactions for a specific account where that account is the payee
45
+ #Returns an array of hashes.
46
+ #Parameters: AccountID
47
+ #Returns an array of hashes containing the transactions for that account where that account is the payee.
48
+ def self.getAllByAccountIdPayee(accID)
49
+ url = "#{self.urlWithEntity}/#{accID}/transactions?type=payee&key=#{self.apiKey}"
50
+ resp = Net::HTTP.get_response(URI.parse(url))
51
+ data = JSON.parse(resp.body)
52
+ return data
53
+ end
54
+
55
+ #==getOneByAccountIdTransactionId
56
+ # Get a specific transaction from a specific account.
57
+ #Parameters: AccountID, TransactionId
58
+ # Returns a hash with the specified transaction
59
+
29
60
  def self.getOneByAccountIdTransactionId(accID, tranID)
30
61
  url = "#{self.urlWithEntity}/#{accID}/transactions/#{tranID}?key=#{self.apiKey}"
31
62
  resp = Net::HTTP.get_response(URI.parse(url))
@@ -36,6 +67,10 @@ class Transaction
36
67
  # *** POST ***
37
68
 
38
69
  # Create a new transaction between 2 accounts
70
+ #==createTransaction
71
+ #Creates a new transaction.
72
+ #Parameters: toAccountId, hashWithTransacionData
73
+ #Returns http response code.
39
74
  def self.createTransaction(toAcc, json)
40
75
  url = "#{self.urlWithEntity}/#{toAcc}/transactions?key=#{self.apiKey}"
41
76
  uri = URI.parse(url)
@@ -49,6 +84,13 @@ class Transaction
49
84
 
50
85
  # *** DELETE ***
51
86
 
87
+ #==deleteTransaction
88
+ #Deletes a specified transaction from a specified account.
89
+ #Parameters: AccountID, TransactionID
90
+ #Returns http response code.
91
+ #=Note:
92
+ #This does not actually delete the transaction from the database, it only sets it's
93
+ #status to 'cancelled'
52
94
  def self.deleteTransaction(accID, transID)
53
95
  url = "#{self.urlWithEntity}/#{accID}/transactions/#{transID}?key=#{self.apiKey}"
54
96
  uri = URI.parse(url)
@@ -56,6 +98,5 @@ class Transaction
56
98
  key="?key=#{self.apiKey}"
57
99
  request = Net::HTTP::Delete.new(uri.path+key)
58
100
  resp = http.request(request)
59
- #data = JSON.parse(resp.body)
60
101
  end
61
102
  end
@@ -0,0 +1,76 @@
1
+ class Withdrawal
2
+
3
+ def self.urlWithEntity
4
+ return Config.baseUrl + "/accounts"
5
+ end
6
+
7
+ def self.url
8
+ return Config.baseUrl
9
+ end
10
+
11
+ def self.apiKey
12
+ return Config.apiKey
13
+ end
14
+
15
+
16
+ # *** GET ***
17
+ #==getAllByAccountId
18
+ #Get all withdrawals for a specific account
19
+ #Returns an array of hashes.
20
+ #Parameters: AccountID
21
+ #Returns an array of hashes containing the withdrawals for that account.
22
+ def self.getAllByAccountId(accID)
23
+ url = "#{self.urlWithEntity}/#{accID}/withdrawals?key=#{self.apiKey}"
24
+ resp = Net::HTTP.get_response(URI.parse(url))
25
+ data = JSON.parse(resp.body)
26
+ return data
27
+ end
28
+
29
+ #==getOneByAccountIdWithdrawalId
30
+ # Get a specific withdrawal from a specific account.
31
+ #Parameters: accountID, withdrawalID
32
+ # Returns a hash with the specified withdrawal
33
+
34
+ def self.getOneByAccountIdWithdrawalId(accID, withdrawalID)
35
+ url = "#{self.urlWithEntity}/#{accID}/withdrawals/#{withdrawalID}?key=#{self.apiKey}"
36
+ resp = Net::HTTP.get_response(URI.parse(url))
37
+ data = JSON.parse(resp.body)
38
+ end
39
+
40
+
41
+ # *** POST ***
42
+
43
+ # Create a new withdrawal into an account
44
+ #==createWithdrawal
45
+ #Creates a new withdrawal.
46
+ #Parameters: toAccountId, hashWithWithdrawalData
47
+ #Returns http response code.
48
+ def self.createWithdrawal(toAcc, json)
49
+ url = "#{self.urlWithEntity}/#{toAcc}/withdrawals?key=#{self.apiKey}"
50
+ uri = URI.parse(url)
51
+ http = Net::HTTP.new(uri.host, uri.port)
52
+ request = Net::HTTP::Post.new(uri.request_uri, initheader = {'Content-Type' => 'application/json'})
53
+ request.body = json
54
+ resp = http.request(request)
55
+ data = JSON.parse(resp.body)
56
+ end
57
+
58
+
59
+ # *** DELETE ***
60
+
61
+ #==deleteWithdrawal
62
+ #Deletes a specified withdrawal from a specified account.
63
+ #Parameters: accountID, withdrawalID
64
+ #Returns http response code.
65
+ #=Note:
66
+ #This does not actually delete the withdrawal from the database, it only sets it's
67
+ #status to 'cancelled'
68
+ def self.deleteWithdrawal(accID, withdrawalID)
69
+ url = "#{self.urlWithEntity}/#{accID}/withdrawals/#{withdrawalID}?key=#{self.apiKey}"
70
+ uri = URI.parse(url)
71
+ http = Net::HTTP.new(uri.host, uri.port)
72
+ key="?key=#{self.apiKey}"
73
+ request = Net::HTTP::Delete.new(uri.path+key)
74
+ resp = http.request(request)
75
+ end
76
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capital_one
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Besong
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2015-04-10 00:00:00.000000000 Z
12
+ date: 2015-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -123,14 +123,15 @@ files:
123
123
  - lib/capital_one/bill.rb
124
124
  - lib/capital_one/branch.rb
125
125
  - lib/capital_one/customer.rb
126
+ - lib/capital_one/deposit.rb
126
127
  - lib/capital_one/transaction.rb
127
128
  - lib/capital_one/version.rb
129
+ - lib/capital_one/withdrawal.rb
128
130
  homepage: https://github.com/Shwheelz/capital_one
129
131
  licenses:
130
132
  - MIT
131
133
  metadata:
132
- allowed_push_host: 'TODO: Set to ''http://mygemserver.com'' to prevent pushes to
133
- rubygems.org, or delete to allow pushes to any server.'
134
+ allowed_push_host: https://rubygems.org
134
135
  post_install_message:
135
136
  rdoc_options: []
136
137
  require_paths:
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  version: '0'
148
149
  requirements: []
149
150
  rubyforge_project:
150
- rubygems_version: 2.0.14
151
+ rubygems_version: 2.4.5
151
152
  signing_key:
152
153
  specification_version: 4
153
154
  summary: Connects to the Capital One API