unit-ruby 0.1.4 → 0.2.0

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: 775bc7cc6ab257a7cdb6301183720658136fc15d97a484e071f38ccaf99f53ed
4
- data.tar.gz: d43a28ebaaafb1cb40b15c695fcdb384175b5eca6e1f5010b690fdaf345243f2
3
+ metadata.gz: 757733c93a8d4c1e620bb1ecd5593207572173fda4a27c366350a6dc8fc6507f
4
+ data.tar.gz: 4b56794d11b4706cc08b997be2cda10132e67cd70125c592be16f93e00d0a727
5
5
  SHA512:
6
- metadata.gz: 83b1ec0f1f87388fe6f4381952d6c988e0022ad75be7876fd8e82298418595125ae33bcced528d16511f0b67d2f26aa499cb426a321ea4e793a9598714feff9e
7
- data.tar.gz: 32797f1a06a231fad2e0baa50b7e303ef19cd2d912c465745274abc21583dccb1b7a61f2a911bb34f040ec26a7a032c43db1304ec5f17fdc83b37044d18a94ae
6
+ metadata.gz: dee301d80de736e5864ff137c3374bbce1250e7946dc2f3d2433aee89006976abc2e8bd310c31a4466fb92de3cc8f2631304172916634f3cfdcdad66979f5b05
7
+ data.tar.gz: cd7479a13fbc53233335ef99222a2e2a2587f1a8fa7cbdb8856606fab1d4e79093511cc925f799a50a0c49fc1cddda10c107e3055eefa254ea9c1090e016f82f
@@ -9,24 +9,27 @@ name: Ruby
9
9
 
10
10
  on:
11
11
  push:
12
- branches: [ main ]
12
+ branches: [main]
13
13
  pull_request:
14
- branches: [ main ]
14
+ branches: [main]
15
+
16
+ env:
17
+ UNIT_API_KEY: "${{secrets.UNIT_API_KEY}}"
18
+ UNIT_BASE_URL: "${{secrets.UNIT_BASE_URL}}"
15
19
 
16
20
  jobs:
17
21
  test:
18
-
19
22
  runs-on: ubuntu-latest
20
23
  strategy:
21
24
  matrix:
22
- ruby-version: ['2.6', '2.7', '3.0']
25
+ ruby-version: ["2.7", "3.0"]
23
26
 
24
27
  steps:
25
- - uses: actions/checkout@v2
26
- - name: Set up Ruby
27
- uses: ruby/setup-ruby@v1
28
- with:
29
- ruby-version: ${{ matrix.ruby-version }}
30
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
31
- - name: Run tests
32
- run: bundle exec rake
28
+ - uses: actions/checkout@v2
29
+ - name: Set up Ruby
30
+ uses: ruby/setup-ruby@v1
31
+ with:
32
+ ruby-version: ${{ matrix.ruby-version }}
33
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
34
+ - name: Run tests
35
+ run: bundle exec rake
data/.gitignore CHANGED
@@ -10,3 +10,4 @@
10
10
 
11
11
  # rspec failure tracking
12
12
  .rspec_status
13
+ .env
data/Gemfile.lock CHANGED
@@ -1,14 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- unit-ruby (0.1.4)
4
+ unit-ruby (0.2.0)
5
+ activesupport
5
6
  faraday (~> 1.8.0)
7
+ faraday_middleware (~> 1.0.0)
6
8
 
7
9
  GEM
8
10
  remote: https://rubygems.org/
9
11
  specs:
12
+ activesupport (6.1.4.1)
13
+ concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
10
18
  ast (2.4.2)
19
+ coderay (1.1.3)
20
+ concurrent-ruby (1.1.9)
11
21
  diff-lcs (1.5.0)
22
+ dotenv (2.7.6)
12
23
  faraday (1.8.0)
13
24
  faraday-em_http (~> 1.0)
14
25
  faraday-em_synchrony (~> 1.0)
@@ -28,10 +39,19 @@ GEM
28
39
  faraday-net_http_persistent (1.2.0)
29
40
  faraday-patron (1.0.0)
30
41
  faraday-rack (1.0.0)
42
+ faraday_middleware (1.0.0)
43
+ faraday (~> 1.0)
44
+ i18n (1.8.10)
45
+ concurrent-ruby (~> 1.0)
46
+ method_source (1.0.0)
47
+ minitest (5.14.4)
31
48
  multipart-post (2.1.1)
32
49
  parallel (1.21.0)
33
50
  parser (3.1.0.0)
34
51
  ast (~> 2.4.1)
52
+ pry (0.14.1)
53
+ coderay (~> 1.1)
54
+ method_source (~> 1.0)
35
55
  rainbow (3.1.1)
36
56
  rake (13.0.6)
37
57
  regexp_parser (2.2.0)
@@ -62,13 +82,18 @@ GEM
62
82
  parser (>= 3.0.1.1)
63
83
  ruby-progressbar (1.11.0)
64
84
  ruby2_keywords (0.0.5)
85
+ tzinfo (2.0.4)
86
+ concurrent-ruby (~> 1.0)
65
87
  unicode-display_width (2.1.0)
88
+ zeitwerk (2.4.2)
66
89
 
67
90
  PLATFORMS
68
91
  ruby
69
92
 
70
93
  DEPENDENCIES
71
94
  bundler (~> 1.17)
95
+ dotenv (~> 2.7.6)
96
+ pry
72
97
  rake (~> 13.0)
73
98
  rspec (~> 3.0)
74
99
  rubocop (~> 1.24.1)
@@ -0,0 +1,28 @@
1
+ module Unit
2
+ class AchPayment < APIResource
3
+ path '/payments'
4
+
5
+ attribute :amount, Types::Integer
6
+ attribute :direction, Types::String
7
+ attribute :counterparty, Types::Counterparty # For inline Counterparties
8
+ attribute :description, Types::String
9
+ attribute :addenda, Types::String
10
+ attribute :idempotency_key, Types::String # Optional
11
+ attribute :tags, Types::Hash # Optional
12
+ attribute :verify_counterparty_balance, Types::Hash # Optional
13
+
14
+ attribute :status, Types::String, readonly: true
15
+ attribute :settlement_date, Types::DateTime, readonly: true
16
+ attribute :created_at, Types::DateTime, readonly: true
17
+
18
+ belongs_to :account, class_name: 'Unit::DepositAccount'
19
+ belongs_to :customer, class_name: 'Unit::IndividualCustomer'
20
+
21
+ # TODO: For linked counterparties
22
+ # belongs_to :application, class_name: 'Unit::Counterparty'
23
+
24
+ include ResourceOperations::Find
25
+ include ResourceOperations::List
26
+ include ResourceOperations::Create
27
+ end
28
+ end
@@ -0,0 +1,35 @@
1
+ module Unit
2
+ module Types
3
+ class Counterparty
4
+ attr_reader :routing_number, :account_number, :account_type, :name
5
+
6
+ def initialize(routing_number:, account_number:, account_type:, name:)
7
+ @routing_number = routing_number
8
+ @account_number = account_number
9
+ @account_type = account_type
10
+ @name = name
11
+ end
12
+
13
+ def self.cast(val)
14
+ return val if val.is_a? self
15
+ return nil if val.nil?
16
+
17
+ new(
18
+ routing_number: val[:routing_number],
19
+ account_number: val[:account_number],
20
+ account_type: val[:account_type],
21
+ name: val[:name]
22
+ )
23
+ end
24
+
25
+ def as_json_api
26
+ {
27
+ routing_number: routing_number,
28
+ account_number: account_number,
29
+ account_type: account_type,
30
+ name: name
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
@@ -16,6 +16,8 @@ module Unit
16
16
  def as_json_api
17
17
  items
18
18
  end
19
+
20
+ delegate :[], to: :items
19
21
  end
20
22
  end
21
23
  end
@@ -1,3 +1,7 @@
1
+ require 'faraday'
2
+ require 'faraday_middleware'
3
+ require 'active_support/core_ext/hash'
4
+
1
5
  module Unit
2
6
  class Connection
3
7
  class << self
@@ -1,3 +1,3 @@
1
1
  module Unit
2
- VERSION = '0.1.4'
2
+ VERSION = '0.2.0'
3
3
  end
data/lib/unit-ruby.rb CHANGED
@@ -10,6 +10,7 @@ require 'unit-ruby/types/application_form_settings_override'
10
10
  require 'unit-ruby/types/array'
11
11
  require 'unit-ruby/types/boolean'
12
12
  require 'unit-ruby/types/coordinates'
13
+ require 'unit-ruby/types/counterparty'
13
14
  require 'unit-ruby/types/date_time'
14
15
  require 'unit-ruby/types/date'
15
16
  require 'unit-ruby/types/float'
@@ -19,6 +20,7 @@ require 'unit-ruby/types/integer'
19
20
  require 'unit-ruby/types/phone'
20
21
  require 'unit-ruby/types/string'
21
22
 
23
+ require 'unit-ruby/ach_payment'
22
24
  require 'unit-ruby/application_form'
23
25
  require 'unit-ruby/atm_location'
24
26
  require 'unit-ruby/deposit_account'
data/unit-ruby.gemspec CHANGED
@@ -34,9 +34,13 @@ Gem::Specification.new do |spec|
34
34
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
35
35
  spec.require_paths = ['lib']
36
36
 
37
+ spec.add_dependency 'activesupport'
37
38
  spec.add_dependency 'faraday', '~> 1.8.0'
39
+ spec.add_dependency 'faraday_middleware', '~> 1.0.0'
38
40
 
39
41
  spec.add_development_dependency 'bundler', '~> 1.17'
42
+ spec.add_development_dependency 'dotenv', '~> 2.7.6'
43
+ spec.add_development_dependency 'pry'
40
44
  spec.add_development_dependency 'rake', '~> 13.0'
41
45
  spec.add_development_dependency 'rspec', '~> 3.0'
42
46
  spec.add_development_dependency 'rubocop', '~> 1.24.1'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unit-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chloe Isacke
@@ -9,8 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-03-07 00:00:00.000000000 Z
12
+ date: 2022-03-15 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: faraday
16
30
  requirement: !ruby/object:Gem::Requirement
@@ -25,6 +39,20 @@ dependencies:
25
39
  - - "~>"
26
40
  - !ruby/object:Gem::Version
27
41
  version: 1.8.0
42
+ - !ruby/object:Gem::Dependency
43
+ name: faraday_middleware
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 1.0.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 1.0.0
28
56
  - !ruby/object:Gem::Dependency
29
57
  name: bundler
30
58
  requirement: !ruby/object:Gem::Requirement
@@ -39,6 +67,34 @@ dependencies:
39
67
  - - "~>"
40
68
  - !ruby/object:Gem::Version
41
69
  version: '1.17'
70
+ - !ruby/object:Gem::Dependency
71
+ name: dotenv
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 2.7.6
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 2.7.6
84
+ - !ruby/object:Gem::Dependency
85
+ name: pry
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
42
98
  - !ruby/object:Gem::Dependency
43
99
  name: rake
44
100
  requirement: !ruby/object:Gem::Requirement
@@ -104,6 +160,7 @@ files:
104
160
  - bin/console
105
161
  - bin/setup
106
162
  - lib/unit-ruby.rb
163
+ - lib/unit-ruby/ach_payment.rb
107
164
  - lib/unit-ruby/application_form.rb
108
165
  - lib/unit-ruby/atm_location.rb
109
166
  - lib/unit-ruby/deposit_account.rb
@@ -120,6 +177,7 @@ files:
120
177
  - lib/unit-ruby/types/array.rb
121
178
  - lib/unit-ruby/types/boolean.rb
122
179
  - lib/unit-ruby/types/coordinates.rb
180
+ - lib/unit-ruby/types/counterparty.rb
123
181
  - lib/unit-ruby/types/date.rb
124
182
  - lib/unit-ruby/types/date_time.rb
125
183
  - lib/unit-ruby/types/float.rb