ledger_sync-netsuite 0.1.1 → 0.3.3

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: 7bcf80a41574ebf9245acf177bfbdbe916a5ce9f390fcbb4f91cd000f625cfe4
4
- data.tar.gz: db169b40aaea8934ce37711ff7afc6b165863e28858cdacbdc462f0d941d7383
3
+ metadata.gz: ca12859d1008ded5f0d5a6222252544ae52a0b26bfcbcc99d508cdfa472e2be0
4
+ data.tar.gz: a512ba4cf254998f6df0b2e4253e30b68f10ec25833cc0bfd6a6f5d7653ea652
5
5
  SHA512:
6
- metadata.gz: b3997ff0e57bb2b5270b25f9ee98ae0f32a4fa626fa42a01e81ddf4cb16282fcdd67a361b58f4efd798455fe39ad751022681333035ac51fe62fa272eeea2aa5
7
- data.tar.gz: 69228e19197ea8ae308ee2fa495387409283430a115f615a4270435a8bcec0abd2957fd3cc819cdb577da370b08676aa8dc965e7b626dc4406a94644293c1bfe
6
+ metadata.gz: 77978d9fc3fdfff147fa5a2034856e268663c16e6d14909e7c0b0be2ed54258f40913273ec552fb24b99ca2d0caa3d3a925678e378776b3ade02939859a5f1ce
7
+ data.tar.gz: 81a21b2010ab5dbf24c2d39a715850af0a6b2f64d8c61ffc33bab86c7d130bc8dd6f770584a13d4cd5da6370e47d91dd3593dd4204f8b5b9a9f669ad4f5f8185
@@ -1,5 +1,9 @@
1
1
  name: Test and Deploy
2
- on: [push, pull_request]
2
+ on:
3
+ push:
4
+ pull_request:
5
+ release:
6
+ types: [created]
3
7
  jobs:
4
8
  rubocop:
5
9
  strategy:
@@ -39,7 +43,7 @@ jobs:
39
43
  publish:
40
44
  runs-on: ubuntu-latest
41
45
  needs: ['rubocop', 'rspec']
42
- if: startsWith(github.ref, 'refs/tags/')
46
+ if: github.event_name == 'release' && github.event.action == 'created'
43
47
  steps:
44
48
  - name: Checkout
45
49
  uses: actions/checkout@v2
@@ -49,7 +53,7 @@ jobs:
49
53
  - name: Ruby Setup and Bundle
50
54
  uses: ruby/setup-ruby@v1
51
55
  with:
52
- ruby-version: 2.6.6
56
+ ruby-version: 2.7.1
53
57
  bundler-cache: true
54
58
  - name: Publish to RubyGems
55
59
  run: |
data/Gemfile.lock CHANGED
@@ -1,41 +1,42 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ledger_sync-netsuite (0.1.1)
4
+ ledger_sync-netsuite (0.3.3)
5
5
  dotenv
6
- ledger_sync (= 1.8.0)
6
+ ledger_sync (>= 2.0.0)
7
7
  nokogiri
8
8
  oauth2
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activemodel (6.0.3.4)
14
- activesupport (= 6.0.3.4)
15
- activesupport (6.0.3.4)
13
+ activemodel (6.1.3.2)
14
+ activesupport (= 6.1.3.2)
15
+ activesupport (6.1.3.2)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- zeitwerk (~> 2.2, >= 2.2.2)
17
+ i18n (>= 1.6, < 2)
18
+ minitest (>= 5.1)
19
+ tzinfo (~> 2.0)
20
+ zeitwerk (~> 2.3)
21
21
  addressable (2.7.0)
22
22
  public_suffix (>= 2.0.2, < 5.0)
23
- ast (2.4.1)
24
- awesome_print (1.8.0)
23
+ ast (2.4.2)
24
+ awesome_print (1.9.2)
25
25
  bump (0.9.0)
26
26
  byebug (11.1.3)
27
- climate_control (0.2.0)
27
+ climate_control (1.0.1)
28
28
  colorize (0.8.1)
29
- concurrent-ruby (1.1.7)
29
+ concurrent-ruby (1.1.8)
30
30
  coveralls (0.8.23)
31
31
  json (>= 1.8, < 3)
32
32
  simplecov (~> 0.16.1)
33
33
  term-ansicolor (~> 1.3)
34
34
  thor (>= 0.19.4, < 2.0)
35
35
  tins (~> 1.6)
36
- crack (0.4.4)
36
+ crack (0.4.5)
37
+ rexml
37
38
  diff-lcs (1.4.4)
38
- docile (1.3.2)
39
+ docile (1.4.0)
39
40
  dotenv (2.7.6)
40
41
  dry-configurable (0.12.1)
41
42
  concurrent-ruby (~> 1.0)
@@ -43,12 +44,12 @@ GEM
43
44
  dry-container (0.7.2)
44
45
  concurrent-ruby (~> 1.0)
45
46
  dry-configurable (~> 0.1, >= 0.1.3)
46
- dry-core (0.5.0)
47
+ dry-core (0.6.0)
47
48
  concurrent-ruby (~> 1.0)
48
49
  dry-equalizer (0.3.0)
49
50
  dry-inflector (0.2.0)
50
51
  dry-initializer (3.0.4)
51
- dry-logic (1.1.0)
52
+ dry-logic (1.2.0)
52
53
  concurrent-ruby (~> 1.0)
53
54
  dry-core (~> 0.5, >= 0.5)
54
55
  dry-schema (1.5.6)
@@ -74,23 +75,31 @@ GEM
74
75
  dry-schema (~> 1.5, >= 1.5.2)
75
76
  factory_bot (6.1.0)
76
77
  activesupport (>= 5.0.0)
77
- faraday (1.3.0)
78
+ faraday (1.4.2)
79
+ faraday-em_http (~> 1.0)
80
+ faraday-em_synchrony (~> 1.0)
81
+ faraday-excon (~> 1.1)
78
82
  faraday-net_http (~> 1.0)
83
+ faraday-net_http_persistent (~> 1.1)
79
84
  multipart-post (>= 1.2, < 3)
80
- ruby2_keywords
85
+ ruby2_keywords (>= 0.0.4)
81
86
  faraday-detailed_logger (2.3.0)
82
87
  faraday (>= 0.8, < 2)
88
+ faraday-em_http (1.0.0)
89
+ faraday-em_synchrony (1.0.0)
90
+ faraday-excon (1.1.0)
83
91
  faraday-net_http (1.0.1)
92
+ faraday-net_http_persistent (1.1.0)
84
93
  faraday_middleware (1.0.0)
85
94
  faraday (~> 1.0)
86
95
  fingerprintable (1.2.1)
87
96
  colorize
88
97
  hashdiff (1.0.1)
89
- i18n (1.8.5)
98
+ i18n (1.8.10)
90
99
  concurrent-ruby (~> 1.0)
91
- json (2.3.1)
92
- jwt (2.2.2)
93
- ledger_sync (1.8.0)
100
+ json (2.5.1)
101
+ jwt (2.2.3)
102
+ ledger_sync (2.0.0)
94
103
  activemodel
95
104
  colorize
96
105
  dry-schema (~> 1.5.4)
@@ -105,12 +114,12 @@ GEM
105
114
  rack (~> 2.2.3)
106
115
  resonad
107
116
  simply_serializable (>= 1.5.1)
108
- mini_portile2 (2.5.0)
109
- minitest (5.14.2)
117
+ mini_portile2 (2.5.3)
118
+ minitest (5.14.4)
110
119
  multi_json (1.15.0)
111
120
  multi_xml (0.6.0)
112
121
  multipart-post (2.1.1)
113
- nokogiri (1.11.2)
122
+ nokogiri (1.11.7)
114
123
  mini_portile2 (~> 2.5.0)
115
124
  racc (~> 1.4)
116
125
  oauth2 (1.4.7)
@@ -120,8 +129,8 @@ GEM
120
129
  multi_xml (~> 0.5)
121
130
  rack (>= 1.2, < 3)
122
131
  openssl (2.2.0)
123
- parallel (1.19.2)
124
- parser (2.7.2.0)
132
+ parallel (1.20.1)
133
+ parser (3.0.1.1)
125
134
  ast (~> 2.4.1)
126
135
  pd_ruby (0.2.3)
127
136
  colorize
@@ -129,35 +138,35 @@ GEM
129
138
  racc (1.5.2)
130
139
  rack (2.2.3)
131
140
  rainbow (3.0.0)
132
- rake (13.0.1)
133
- regexp_parser (1.8.2)
141
+ rake (13.0.3)
142
+ regexp_parser (2.1.1)
134
143
  resonad (1.4.0)
135
- rexml (3.2.4)
144
+ rexml (3.2.5)
136
145
  rspec (3.10.0)
137
146
  rspec-core (~> 3.10.0)
138
147
  rspec-expectations (~> 3.10.0)
139
148
  rspec-mocks (~> 3.10.0)
140
- rspec-core (3.10.0)
149
+ rspec-core (3.10.1)
141
150
  rspec-support (~> 3.10.0)
142
- rspec-expectations (3.10.0)
151
+ rspec-expectations (3.10.1)
143
152
  diff-lcs (>= 1.2.0, < 2.0)
144
153
  rspec-support (~> 3.10.0)
145
- rspec-mocks (3.10.0)
154
+ rspec-mocks (3.10.2)
146
155
  diff-lcs (>= 1.2.0, < 2.0)
147
156
  rspec-support (~> 3.10.0)
148
- rspec-support (3.10.0)
149
- rubocop (1.2.0)
157
+ rspec-support (3.10.2)
158
+ rubocop (1.15.0)
150
159
  parallel (~> 1.10)
151
- parser (>= 2.7.1.5)
160
+ parser (>= 3.0.0.0)
152
161
  rainbow (>= 2.2.2, < 4.0)
153
- regexp_parser (>= 1.8)
162
+ regexp_parser (>= 1.8, < 3.0)
154
163
  rexml
155
- rubocop-ast (>= 1.0.1)
164
+ rubocop-ast (>= 1.5.0, < 2.0)
156
165
  ruby-progressbar (~> 1.7)
157
- unicode-display_width (>= 1.4.0, < 2.0)
158
- rubocop-ast (1.1.1)
159
- parser (>= 2.7.1.5)
160
- ruby-progressbar (1.10.1)
166
+ unicode-display_width (>= 1.4.0, < 3.0)
167
+ rubocop-ast (1.6.0)
168
+ parser (>= 3.0.1.1)
169
+ ruby-progressbar (1.11.0)
161
170
  ruby2_keywords (0.0.4)
162
171
  simplecov (0.16.1)
163
172
  docile (~> 1.1)
@@ -169,18 +178,17 @@ GEM
169
178
  sync (0.5.0)
170
179
  term-ansicolor (1.7.1)
171
180
  tins (~> 1.0)
172
- thor (1.0.1)
173
- thread_safe (0.3.6)
174
- tins (1.26.0)
181
+ thor (1.1.0)
182
+ tins (1.29.1)
175
183
  sync
176
- tzinfo (1.2.7)
177
- thread_safe (~> 0.1)
178
- unicode-display_width (1.7.0)
179
- webmock (3.9.4)
184
+ tzinfo (2.0.4)
185
+ concurrent-ruby (~> 1.0)
186
+ unicode-display_width (2.0.0)
187
+ webmock (3.13.0)
180
188
  addressable (>= 2.3.6)
181
189
  crack (>= 0.3.2)
182
190
  hashdiff (>= 0.4.0, < 2.0.0)
183
- zeitwerk (2.4.1)
191
+ zeitwerk (2.4.2)
184
192
 
185
193
  PLATFORMS
186
194
  ruby
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency('rubocop', '>= 0')
39
39
  spec.add_development_dependency('webmock', '>= 0')
40
40
  spec.add_runtime_dependency('dotenv')
41
- spec.add_runtime_dependency('ledger_sync', '1.8.0')
41
+ spec.add_runtime_dependency('ledger_sync', '>= 2.0.0')
42
42
  spec.add_runtime_dependency('nokogiri', '>= 0')
43
43
  spec.add_runtime_dependency('oauth2', '>= 0')
44
44
  end
@@ -3,6 +3,7 @@
3
3
  require_relative '../currency/deserializer'
4
4
  require_relative '../subsidiary/deserializer'
5
5
  require_relative '../journal_entry_line_item/deserializer'
6
+ require_relative '../ledger_class/deserializer'
6
7
 
7
8
  module LedgerSync
8
9
  module NetSuite
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative '../reference/serializer'
4
4
  require_relative '../journal_entry_line_item/serializer'
5
+ require_relative '../ledger_class/serializer'
5
6
 
6
7
  module LedgerSync
7
8
  module NetSuite
@@ -11,6 +11,11 @@ module LedgerSync
11
11
  attribute :credit
12
12
  attribute :debit
13
13
  attribute :memo
14
+ attribute :entity,
15
+ type: Type::DeserializerEntityType.new
16
+ references_one :ledger_class,
17
+ hash_attribute: :class,
18
+ deserializer: LedgerClass::Deserializer
14
19
  references_one :account
15
20
  end
16
21
  end
@@ -10,6 +10,11 @@ module LedgerSync
10
10
  attribute :credit
11
11
  attribute :debit
12
12
  attribute :memo
13
+ references_one :entity,
14
+ serializer: Reference::Serializer
15
+ references_one :class,
16
+ resource_attribute: :ledger_class,
17
+ serializer: Reference::Serializer
13
18
  references_one :account,
14
19
  serializer: Reference::Serializer
15
20
  end
@@ -55,14 +55,12 @@ module LedgerSync
55
55
  end
56
56
 
57
57
  def metadata_response
58
- @metadata_response = begin
59
- client.get(
60
- headers: {
61
- 'Accept' => 'application/swagger+json'
62
- },
63
- path: "#{BASE_PATH}?select=#{record}"
64
- )
65
- end
58
+ @metadata_response = client.get(
59
+ headers: {
60
+ 'Accept' => 'application/swagger+json'
61
+ },
62
+ path: "#{BASE_PATH}?select=#{record}"
63
+ )
66
64
  end
67
65
 
68
66
  def properties
@@ -1,13 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'account'
4
+ require_relative 'customer'
4
5
  require_relative 'department'
5
6
  require_relative 'ledger_class'
7
+ require_relative 'vendor'
6
8
 
7
9
  module LedgerSync
8
10
  module NetSuite
9
11
  class JournalEntryLineItem < NetSuite::Resource
10
12
  references_one :account, to: Account
13
+ references_one :entity, to: [Customer, Vendor]
14
+ references_one :ledger_class, to: LedgerClass
11
15
  attribute :line, type: Type::Integer
12
16
  attribute :credit, type: Type::Float
13
17
  attribute :debit, type: Type::Float
@@ -65,13 +65,11 @@ module LedgerSync
65
65
 
66
66
  # Ref: https://tools.ietf.org/html/rfc5849#section-3.4.1.3.2
67
67
  def signature_data_string
68
- @signature_data_string ||= begin
69
- [
70
- method,
71
- escape(url_without_params),
72
- escape(parameters_string)
73
- ].join('&')
74
- end
68
+ @signature_data_string ||= [
69
+ method,
70
+ escape(url_without_params),
71
+ escape(parameters_string)
72
+ ].join('&')
75
73
  end
76
74
 
77
75
  def signature_key
@@ -3,14 +3,14 @@
3
3
  # :nocov:
4
4
  module LedgerSync
5
5
  module NetSuite
6
- VERSION = '0.1.1'
6
+ VERSION = '0.3.3'
7
7
 
8
- def self.version(args = {})
9
- pre = ENV['PRE_RELEASE'] || args.fetch(:pre, false)
10
-
11
- return VERSION unless pre
12
-
13
- "#{VERSION}.pre.#{ENV['TRAVIS_BUILD_NUMBER']}"
8
+ def self.version
9
+ if ENV['PRE_RELEASE']
10
+ "#{VERSION}.pre.#{ENV['GITHUB_RUN_NUMBER']}"
11
+ else
12
+ VERSION
13
+ end
14
14
  end
15
15
  end
16
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ledger_sync-netsuite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Modern Treasury
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-07 00:00:00.000000000 Z
11
+ date: 2021-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -182,16 +182,16 @@ dependencies:
182
182
  name: ledger_sync
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 1.8.0
187
+ version: 2.0.0
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
- version: 1.8.0
194
+ version: 2.0.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: nokogiri
197
197
  requirement: !ruby/object:Gem::Requirement