column_api 0.0.3 → 0.0.4

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: 1f6201925587745962ca88d181952fb299995347b0bcc66581ea2d39ecccdbc6
4
- data.tar.gz: 9053f946825a96523e0d86867ded80df66d59b6c69254d814cd24bb135367820
3
+ metadata.gz: a503efefcfe39d720cbb939f82acfe1d564c6335746d516d75d96e7e79e35a6f
4
+ data.tar.gz: 012c38bed66d9f244b61be505991595c1543d3958bac7b71ed99b1074a5a84ea
5
5
  SHA512:
6
- metadata.gz: 4125ef91a2a974c38c935b2665bf1fb8af9e0e151bd42595e3cdb3bba7aa67e951b4c00a3b91a8a9321d3adfe49b635d3701840d178df7a5315f8174db36bcb5
7
- data.tar.gz: ce6defb6e864690523b481813a1d0c1c0e0be8447712b73ad5c6548f294d8c3d519519b9626eb68176d4ba025165007bafa82e38ccbe83742eda70b20dd4ef75
6
+ metadata.gz: 9a905c02a3672a528bb39297ad1ca12d3e1969d610f2af95236c47a71fbfe1632600bcd4bfd54501d12916feb0cbd354c85e5f44d5e02a36dbb732505321064e
7
+ data.tar.gz: 106db37b864694cc854e0e43ab3fc7816f0b42a3c718e70e7511b701627559529a0da2d711e38bf9fba3b929ec11ee650b29246838daf7c61bd5ece99e476374
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.0.4] - 2024-01-02
4
+
5
+ - Add ACH Tranfer endpoints
6
+
3
7
  ## [0.0.3] - 2024-01-02
4
8
 
5
9
  - Add Bank Account endpoints
data/Gemfile CHANGED
@@ -12,3 +12,6 @@ gem "rspec", "~> 3.0"
12
12
  gem "rubocop", "~> 1.21"
13
13
 
14
14
  gem "webmock", "~> 3.19", ">= 3.19.1"
15
+
16
+ gem "simplecov", "~> 0.22", require: false, group: :test
17
+ gem "simplecov_json_formatter"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- column_api (0.0.3)
4
+ column_api (0.0.4)
5
5
  faraday (~> 2.8.1)
6
6
  faraday-parse_dates (~> 0.1.1)
7
7
 
@@ -15,6 +15,7 @@ GEM
15
15
  crack (0.4.5)
16
16
  rexml
17
17
  diff-lcs (1.5.0)
18
+ docile (1.4.0)
18
19
  faraday (2.8.1)
19
20
  base64
20
21
  faraday-net_http (>= 2.0, < 3.1)
@@ -63,6 +64,12 @@ GEM
63
64
  parser (>= 3.2.1.0)
64
65
  ruby-progressbar (1.13.0)
65
66
  ruby2_keywords (0.0.5)
67
+ simplecov (0.22.0)
68
+ docile (~> 1.1)
69
+ simplecov-html (~> 0.11)
70
+ simplecov_json_formatter (~> 0.1)
71
+ simplecov-html (0.12.3)
72
+ simplecov_json_formatter (0.1.4)
66
73
  unicode-display_width (2.5.0)
67
74
  webmock (3.19.1)
68
75
  addressable (>= 2.8.0)
@@ -78,6 +85,8 @@ DEPENDENCIES
78
85
  rake (~> 13.0)
79
86
  rspec (~> 3.0)
80
87
  rubocop (~> 1.21)
88
+ simplecov (~> 0.22)
89
+ simplecov_json_formatter
81
90
  webmock (~> 3.19, >= 3.19.1)
82
91
 
83
92
  BUNDLED WITH
data/README.md CHANGED
@@ -1,15 +1,15 @@
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)
2
+
1
3
  # ColumnApi
2
4
 
3
5
  _This gem is under development and the API is unstable._
4
6
 
5
- [![Gem Version](https://badge.fury.io/rb/column_api.svg)](https://badge.fury.io/rb/column_api)
6
-
7
7
  Ruby bindings for [Column's API](https://column.com/docs/api).
8
8
 
9
9
  ## Installation
10
10
 
11
11
  ```ruby
12
- gem 'column_api', '~> 0.0.3'
12
+ gem 'column_api', '~> 0.0.4'
13
13
  ```
14
14
 
15
15
  ## Usage
@@ -46,26 +46,38 @@ https://column.com/docs/api/#entity/object
46
46
 
47
47
  ```ruby
48
48
  client.entities.list({})
49
- client.entities.retrieve(entity_id: "ID")
49
+ client.entities.retrieve(entity_id:)
50
50
  client.entities.create_person({})
51
51
  client.entities.create_business({})
52
52
  client.entities.update_person(entity_id:, params: {})
53
53
  client.entities.update_business(entity_id:, params: {})
54
- client.entities.delete(entity_id: "ID")
55
- client.entities.submit_document(entity_id: "ID", params: {})
54
+ client.entities.delete(entity_id:)
55
+ client.entities.submit_document(entity_id:, params: {})
56
56
  ```
57
57
 
58
- ### BankAccounts
58
+ ### Bank Accounts
59
59
 
60
60
  https://column.com/docs/api/#bank-account/object
61
61
 
62
62
  ```ruby
63
63
  client.bank_accounts.list({})
64
- client.bank_accounts.retrieve(bank_account_id: "ID")
64
+ client.bank_accounts.retrieve(bank_account_id:)
65
65
  client.bank_accounts.create({})
66
- client.bank_accounts.update(bank_account_id: "ID", params: {})
67
- client.bank_accounts.delete(bank_account_id: "ID")
68
- client.bank_accounts.history(bank_account_id: "ID", from_date: Date, to_date: Date)
66
+ client.bank_accounts.update(bank_account_id:, params: {})
67
+ client.bank_accounts.delete(bank_account_id:)
68
+ client.bank_accounts.history(bank_account_id:, from_date: Date, to_date: Date)
69
+ ```
70
+
71
+ ### ACH Transfers
72
+
73
+ https://column.com/docs/api/#ach-transfer/object
74
+
75
+ ```ruby
76
+ client.ach_transfers.list({})
77
+ client.ach_transfers.retrieve(ach_transfer_id:)
78
+ client.ach_transfers.create({})
79
+ client.ach_transfers.cancel(ach_transfer_id:)
80
+ client.ach_transfers.reverse(ach_transfer_id:, reason:, description: "")
69
81
  ```
70
82
 
71
83
  ## Development
@@ -10,6 +10,10 @@ module ColumnApi
10
10
  @adapter = adapter
11
11
  end
12
12
 
13
+ def ach_transfers
14
+ AchTransferResource.new(self)
15
+ end
16
+
13
17
  def entities
14
18
  EntityResource.new(self)
15
19
  end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AchTransfer < Object
5
+ end
6
+ end
@@ -14,7 +14,7 @@ module ColumnApi
14
14
  handle_response client.connection.get(url, params, headers)
15
15
  end
16
16
 
17
- def post_request(url, body:, headers: {})
17
+ def post_request(url, body: {}, headers: {})
18
18
  handle_response client.connection.post(url, body, headers)
19
19
  end
20
20
 
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AchTransferResource < Resource
5
+ def list(params = {})
6
+ response = get_request("transfers/ach", params: params).body
7
+ Collection.from_response(response, key: "transfers", type: AchTransfer)
8
+ end
9
+
10
+ def retrieve(ach_transfer_id:)
11
+ AchTransfer.new get_request("transfers/ach/#{ach_transfer_id}").body
12
+ end
13
+
14
+ def create(params)
15
+ AchTransfer.new post_request("transfers/ach", body: params).body
16
+ end
17
+
18
+ def cancel(ach_transfer_id:)
19
+ AchTransfer.new post_request("transfers/ach/#{ach_transfer_id}/cancel").body
20
+ end
21
+
22
+ def reverse(ach_transfer_id:, reason:, description: "")
23
+ AchTransfer.new(
24
+ post_request("transfers/ach/#{ach_transfer_id}/reverse",
25
+ body: { reason: reason, description: description }).body
26
+ )
27
+ end
28
+ end
29
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ColumnApi
4
- VERSION = "0.0.3"
4
+ VERSION = "0.0.4"
5
5
  end
data/lib/column_api.rb CHANGED
@@ -15,11 +15,13 @@ module ColumnApi
15
15
  autoload :Resource, "column_api/resource"
16
16
 
17
17
  # Objects
18
+ autoload :AchTransfer, "column_api/objects/ach_transfer"
18
19
  autoload :BankAccount, "column_api/objects/bank_account"
19
20
  autoload :BusinessEntity, "column_api/objects/business_entity"
20
21
  autoload :PersonEntity, "column_api/objects/person_entity"
21
22
 
22
23
  # Resources
24
+ autoload :AchTransferResource, "column_api/resources/ach_transfer_resource"
23
25
  autoload :BankAccountResource, "column_api/resources/bank_account_resource"
24
26
  autoload :EntityResource, "column_api/resources/entity_resource"
25
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: column_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matias Leidemer
@@ -59,10 +59,12 @@ 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/ach_transfer.rb
62
63
  - lib/column_api/objects/bank_account.rb
63
64
  - lib/column_api/objects/business_entity.rb
64
65
  - lib/column_api/objects/person_entity.rb
65
66
  - lib/column_api/resource.rb
67
+ - lib/column_api/resources/ach_transfer_resource.rb
66
68
  - lib/column_api/resources/bank_account_resource.rb
67
69
  - lib/column_api/resources/entity_resource.rb
68
70
  - lib/column_api/version.rb