column_api 0.0.4 → 0.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a503efefcfe39d720cbb939f82acfe1d564c6335746d516d75d96e7e79e35a6f
4
- data.tar.gz: 012c38bed66d9f244b61be505991595c1543d3958bac7b71ed99b1074a5a84ea
3
+ metadata.gz: d4741e3260516f50f6bcdde3d8de2e83266ee854f14546a49bd0288843e10e2c
4
+ data.tar.gz: 8f58d2b2a79f149c0fd01f3cbdeba18688337492bea8ee6f9b32a1fdcb26154f
5
5
  SHA512:
6
- metadata.gz: 9a905c02a3672a528bb39297ad1ca12d3e1969d610f2af95236c47a71fbfe1632600bcd4bfd54501d12916feb0cbd354c85e5f44d5e02a36dbb732505321064e
7
- data.tar.gz: 106db37b864694cc854e0e43ab3fc7816f0b42a3c718e70e7511b701627559529a0da2d711e38bf9fba3b929ec11ee650b29246838daf7c61bd5ece99e476374
6
+ metadata.gz: 38671e6d5a041b1e2aeec8fd504164cc083a05df565b9fd597372f1967655bb9d76a787ca2448eedc47d3e360ef350fb9f273a4b0b96f2fe52938c1c3e630fb8
7
+ data.tar.gz: 3e6ae4d0ddfd03ddddb620c0dc1e43484c88a486b6c1c670cc4e2af4eeb967aa66584f67ee6d752b674d8eccfdffe02c4a93d3f382af7b6cb07f2ee3525de981
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.0.6] - 2024-01-07
4
+
5
+ - Add Account Number endpoints
6
+ - Add ACH Return endpoints
7
+
8
+ ## [0.0.5] - 2024-01-04
9
+
10
+ - Add Wire Tranfer endpoints
11
+
3
12
  ## [0.0.4] - 2024-01-02
4
13
 
5
14
  - Add ACH Tranfer endpoints
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- column_api (0.0.4)
4
+ column_api (0.0.6)
5
5
  faraday (~> 2.8.1)
6
6
  faraday-parse_dates (~> 0.1.1)
7
7
 
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Gem Version](https://badge.fury.io/rb/column_api.svg)](https://badge.fury.io/rb/column_api) [![Maintainability](https://api.codeclimate.com/v1/badges/43aa9279fa11d33f6fa3/maintainability)](https://codeclimate.com/github/matiasleidemer/column_api/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/43aa9279fa11d33f6fa3/test_coverage)](https://codeclimate.com/github/matiasleidemer/column_api/test_coverage)
1
+ [![Maintainability](https://api.codeclimate.com/v1/badges/43aa9279fa11d33f6fa3/maintainability)](https://codeclimate.com/github/matiasleidemer/column_api/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/43aa9279fa11d33f6fa3/test_coverage)](https://codeclimate.com/github/matiasleidemer/column_api/test_coverage)
2
2
 
3
3
  # ColumnApi
4
4
 
@@ -9,7 +9,7 @@ Ruby bindings for [Column's API](https://column.com/docs/api).
9
9
  ## Installation
10
10
 
11
11
  ```ruby
12
- gem 'column_api', '~> 0.0.4'
12
+ gem 'column_api', '~> 0.0.6'
13
13
  ```
14
14
 
15
15
  ## Usage
@@ -68,6 +68,16 @@ client.bank_accounts.delete(bank_account_id:)
68
68
  client.bank_accounts.history(bank_account_id:, from_date: Date, to_date: Date)
69
69
  ```
70
70
 
71
+ ### Account Numbers
72
+
73
+ https://column.com/docs/api/#account-number/object
74
+
75
+ ```ruby
76
+ client.account_numbers.list(bank_account_id:, params: {})
77
+ client.account_numbers.retrieve(account_number_id:)
78
+ client.account_numbers.create(bank_account_id:, params: {})
79
+ ```
80
+
71
81
  ### ACH Transfers
72
82
 
73
83
  https://column.com/docs/api/#ach-transfer/object
@@ -80,6 +90,27 @@ client.ach_transfers.cancel(ach_transfer_id:)
80
90
  client.ach_transfers.reverse(ach_transfer_id:, reason:, description: "")
81
91
  ```
82
92
 
93
+ ### ACH Returns
94
+
95
+ https://column.com/docs/api/#ach-return/object
96
+
97
+ ```ruby
98
+ client.ach_returns.list(params = {})
99
+ client.ach_returns.retrieve(ach_transfer_id:)
100
+ client.ach_returns.create(ach_transfer_id:, params: {})
101
+ ```
102
+
103
+ ### Wire Transfers
104
+
105
+ https://column.com/docs/api/#wire-transfer/object
106
+
107
+ ```ruby
108
+ client.wire_transfers.list({})
109
+ client.wire_transfers.retrieve(wire_transfer_id:)
110
+ client.wire_transfers.create({})
111
+ client.wire_transfers.reverse(wire_transfer_id:, reason:, description: "")
112
+ ```
113
+
83
114
  ## Development
84
115
 
85
116
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -14,14 +14,26 @@ module ColumnApi
14
14
  AchTransferResource.new(self)
15
15
  end
16
16
 
17
- def entities
18
- EntityResource.new(self)
17
+ def ach_returns
18
+ AchReturnResource.new(self)
19
+ end
20
+
21
+ def account_numbers
22
+ AccountNumberResource.new(self)
19
23
  end
20
24
 
21
25
  def bank_accounts
22
26
  BankAccountResource.new(self)
23
27
  end
24
28
 
29
+ def entities
30
+ EntityResource.new(self)
31
+ end
32
+
33
+ def wire_transfers
34
+ WireTransferResource.new(self)
35
+ end
36
+
25
37
  def connection
26
38
  @connection ||= Faraday.new(BASE_URL) do |conn|
27
39
  conn.request :authorization, :basic, "", api_key
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AccountNumber < Object
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AchReturn < Object
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class WireTransfer < Object
5
+ end
6
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AccountNumberResource < Resource
5
+ def list(bank_account_id:, params: {})
6
+ response = get_request("bank-accounts/#{bank_account_id}/account-numbers", params: params).body
7
+ Collection.from_response(response, key: "account_numbers", type: AccountNumber)
8
+ end
9
+
10
+ def retrieve(account_number_id:)
11
+ AccountNumber.new get_request("account-numbers/#{account_number_id}").body
12
+ end
13
+
14
+ def create(bank_account_id:, params: {})
15
+ AccountNumber.new post_request("bank-accounts/#{bank_account_id}/account-numbers", body: params).body
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AchReturnResource < Resource
5
+ def list(params = {})
6
+ response = get_request("transfers/ach/returns", params: params).body
7
+ Collection.from_response(response, key: "ach_returns", type: AchReturn)
8
+ end
9
+
10
+ def retrieve(ach_transfer_id:)
11
+ AchReturn.new get_request("transfers/ach/#{ach_transfer_id}/return").body
12
+ end
13
+
14
+ def create(ach_transfer_id:, params: {})
15
+ AchReturn.new post_request("transfers/ach/#{ach_transfer_id}/return", body: params).body
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class WireTransferResource < Resource
5
+ def list(params = {})
6
+ response = get_request("transfers/wire", params: params).body
7
+ Collection.from_response(response, key: "transfers", type: WireTransfer)
8
+ end
9
+
10
+ def retrieve(wire_transfer_id:)
11
+ WireTransfer.new get_request("transfers/wire/#{wire_transfer_id}").body
12
+ end
13
+
14
+ def create(params)
15
+ WireTransfer.new post_request("transfers/wire", body: params).body
16
+ end
17
+
18
+ def reverse(wire_transfer_id:, reason:, description: "")
19
+ WireTransfer.new(
20
+ post_request(
21
+ "transfers/wire/#{wire_transfer_id}/reverse",
22
+ body: { reason: reason, description: description }
23
+ ).body
24
+ )
25
+ end
26
+ end
27
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ColumnApi
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.6"
5
5
  end
data/lib/column_api.rb CHANGED
@@ -16,12 +16,18 @@ module ColumnApi
16
16
 
17
17
  # Objects
18
18
  autoload :AchTransfer, "column_api/objects/ach_transfer"
19
+ autoload :AchReturn, "column_api/objects/ach_return"
20
+ autoload :AccountNumber, "column_api/objects/account_number"
19
21
  autoload :BankAccount, "column_api/objects/bank_account"
20
22
  autoload :BusinessEntity, "column_api/objects/business_entity"
21
23
  autoload :PersonEntity, "column_api/objects/person_entity"
24
+ autoload :WireTransfer, "column_api/objects/wire_transfer"
22
25
 
23
26
  # Resources
24
27
  autoload :AchTransferResource, "column_api/resources/ach_transfer_resource"
28
+ autoload :AchReturnResource, "column_api/resources/ach_return_resource"
29
+ autoload :AccountNumberResource, "column_api/resources/account_number_resource"
25
30
  autoload :BankAccountResource, "column_api/resources/bank_account_resource"
26
31
  autoload :EntityResource, "column_api/resources/entity_resource"
32
+ autoload :WireTransferResource, "column_api/resources/wire_transfer_resource"
27
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: column_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matias Leidemer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-02 00:00:00.000000000 Z
11
+ date: 2024-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -59,14 +59,20 @@ files:
59
59
  - lib/column_api/collection.rb
60
60
  - lib/column_api/errors.rb
61
61
  - lib/column_api/object.rb
62
+ - lib/column_api/objects/account_number.rb
63
+ - lib/column_api/objects/ach_return.rb
62
64
  - lib/column_api/objects/ach_transfer.rb
63
65
  - lib/column_api/objects/bank_account.rb
64
66
  - lib/column_api/objects/business_entity.rb
65
67
  - lib/column_api/objects/person_entity.rb
68
+ - lib/column_api/objects/wire_transfer.rb
66
69
  - lib/column_api/resource.rb
70
+ - lib/column_api/resources/account_number_resource.rb
71
+ - lib/column_api/resources/ach_return_resource.rb
67
72
  - lib/column_api/resources/ach_transfer_resource.rb
68
73
  - lib/column_api/resources/bank_account_resource.rb
69
74
  - lib/column_api/resources/entity_resource.rb
75
+ - lib/column_api/resources/wire_transfer_resource.rb
70
76
  - lib/column_api/version.rb
71
77
  - sig/column_api.rbs
72
78
  homepage: https://github.com/matiasleidemer/column_api
@@ -89,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
95
  - !ruby/object:Gem::Version
90
96
  version: '0'
91
97
  requirements: []
92
- rubygems_version: 3.4.6
98
+ rubygems_version: 3.4.10
93
99
  signing_key:
94
100
  specification_version: 4
95
101
  summary: Ruby bindings for Column API