column_api 0.0.3 → 0.0.4

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
  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