column_api 0.0.3 → 0.0.5

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: 67e78b0248fa68ac54ee20d847e31aa561ccc0238245d76ac3d29566ec419cf7
4
+ data.tar.gz: 32119ffa7562a3274f2ad7e253e422626bf1999e8665154b0d3d530fc8501ef3
5
5
  SHA512:
6
- metadata.gz: 4125ef91a2a974c38c935b2665bf1fb8af9e0e151bd42595e3cdb3bba7aa67e951b4c00a3b91a8a9321d3adfe49b635d3701840d178df7a5315f8174db36bcb5
7
- data.tar.gz: ce6defb6e864690523b481813a1d0c1c0e0be8447712b73ad5c6548f294d8c3d519519b9626eb68176d4ba025165007bafa82e38ccbe83742eda70b20dd4ef75
6
+ metadata.gz: 78787416ab312d71a750a6a336f8a7a86cc7320330da3167503d367dde6130d7ab6c61b67d55fbe5bb96a4490c3e4500178311e710c3f598313182b8f6f8fee0
7
+ data.tar.gz: dce011363e8959ae8e2c353b316ec06b6aca9914110675cdb8de0af83ff4e666c50f78ea3e2c11632b6cf925a76e4bae0f67b45787e2d13fc724e3e9b465e3ba
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.0.5] - 2024-01-04
4
+
5
+ - Add Wire Tranfer endpoints
6
+
7
+ ## [0.0.4] - 2024-01-02
8
+
9
+ - Add ACH Tranfer endpoints
10
+
3
11
  ## [0.0.3] - 2024-01-02
4
12
 
5
13
  - 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.5)
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
+ [![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.5'
13
13
  ```
14
14
 
15
15
  ## Usage
@@ -46,26 +46,49 @@ 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: "")
81
+ ```
82
+
83
+ ### Wire Transfers
84
+
85
+ https://column.com/docs/api/#wire-transfer/object
86
+
87
+ ```ruby
88
+ client.wire_transfers.list({})
89
+ client.wire_transfers.retrieve(wire_transfer_id:)
90
+ client.wire_transfers.create({})
91
+ client.wire_transfers.reverse(wire_transfer_id:, reason:, description: "")
69
92
  ```
70
93
 
71
94
  ## Development
@@ -10,14 +10,22 @@ module ColumnApi
10
10
  @adapter = adapter
11
11
  end
12
12
 
13
- def entities
14
- EntityResource.new(self)
13
+ def ach_transfers
14
+ AchTransferResource.new(self)
15
15
  end
16
16
 
17
17
  def bank_accounts
18
18
  BankAccountResource.new(self)
19
19
  end
20
20
 
21
+ def entities
22
+ EntityResource.new(self)
23
+ end
24
+
25
+ def wire_transfers
26
+ WireTransferResource.new(self)
27
+ end
28
+
21
29
  def connection
22
30
  @connection ||= Faraday.new(BASE_URL) do |conn|
23
31
  conn.request :authorization, :basic, "", api_key
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ColumnApi
4
+ class AchTransfer < 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
@@ -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
@@ -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.3"
4
+ VERSION = "0.0.5"
5
5
  end
data/lib/column_api.rb CHANGED
@@ -15,11 +15,15 @@ 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"
22
+ autoload :WireTransfer, "column_api/objects/wire_transfer"
21
23
 
22
24
  # Resources
25
+ autoload :AchTransferResource, "column_api/resources/ach_transfer_resource"
23
26
  autoload :BankAccountResource, "column_api/resources/bank_account_resource"
24
27
  autoload :EntityResource, "column_api/resources/entity_resource"
28
+ autoload :WireTransferResource, "column_api/resources/wire_transfer_resource"
25
29
  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.3
4
+ version: 0.0.5
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-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -59,12 +59,16 @@ 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
66
+ - lib/column_api/objects/wire_transfer.rb
65
67
  - lib/column_api/resource.rb
68
+ - lib/column_api/resources/ach_transfer_resource.rb
66
69
  - lib/column_api/resources/bank_account_resource.rb
67
70
  - lib/column_api/resources/entity_resource.rb
71
+ - lib/column_api/resources/wire_transfer_resource.rb
68
72
  - lib/column_api/version.rb
69
73
  - sig/column_api.rbs
70
74
  homepage: https://github.com/matiasleidemer/column_api
@@ -87,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
91
  - !ruby/object:Gem::Version
88
92
  version: '0'
89
93
  requirements: []
90
- rubygems_version: 3.4.6
94
+ rubygems_version: 3.4.10
91
95
  signing_key:
92
96
  specification_version: 4
93
97
  summary: Ruby bindings for Column API