column_api 0.0.3 → 0.0.5

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