ledger_sync-quickbooks_online 0.4.0 → 1.0.1
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 +4 -4
- data/.github/workflows/codeql.yml +76 -0
- data/.github/workflows/gem-workflow.yml +31 -13
- data/Gemfile.lock +123 -114
- data/ledger_sync-quickbooks_online.gemspec +7 -6
- data/lib/ledger_sync/quickbooks_online/client.rb +13 -23
- data/lib/ledger_sync/quickbooks_online/department/deserializer.rb +2 -0
- data/lib/ledger_sync/quickbooks_online/oauth_client.rb +2 -2
- data/lib/ledger_sync/quickbooks_online/resources/department.rb +0 -2
- data/lib/ledger_sync/quickbooks_online/serialization/type/deserialize_transaction_reference_type.rb +2 -1
- data/lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb +4 -1
- data/lib/ledger_sync/quickbooks_online/version.rb +2 -2
- metadata +13 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9be11e34932f5f4e11b1275a9dee94b96128e9053499ac593e5e0b70509f765
|
4
|
+
data.tar.gz: 7441de3cd6261308325a63a292bdfca5710a5c447d3574d19b5fb574179814f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9945f09695368723a80726cd14b19b198e4978ee8fe8059752d8e85e72b7ca30706779545b8e54747e8ab43343edf64d7bc6f3859b1fb9ac0f11a787c44be72e
|
7
|
+
data.tar.gz: 371ed3fa83d066da7a11bd2f3d57b4d8df08ffce5a5ee67915e3782f66359db669e98ea7f2cb6bf3e846ae9a97e5ba3f521b3d47b5bb1ba5aa610f0da526d6c3
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
2
|
+
# to commit it to your repository.
|
3
|
+
#
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
5
|
+
# or to provide custom queries or build logic.
|
6
|
+
#
|
7
|
+
# ******** NOTE ********
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
10
|
+
# supported CodeQL languages.
|
11
|
+
#
|
12
|
+
name: "CodeQL"
|
13
|
+
|
14
|
+
on:
|
15
|
+
push:
|
16
|
+
branches: [ "master", develop ]
|
17
|
+
pull_request:
|
18
|
+
# The branches below must be a subset of the branches above
|
19
|
+
branches: [ "master" ]
|
20
|
+
schedule:
|
21
|
+
- cron: '37 23 * * 3'
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
analyze:
|
25
|
+
name: Analyze
|
26
|
+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
27
|
+
permissions:
|
28
|
+
actions: read
|
29
|
+
contents: read
|
30
|
+
security-events: write
|
31
|
+
|
32
|
+
strategy:
|
33
|
+
fail-fast: false
|
34
|
+
matrix:
|
35
|
+
language: [ 'ruby' ]
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
37
|
+
# Use only 'java' to analyze code written in Java, Kotlin or both
|
38
|
+
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
|
39
|
+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
40
|
+
|
41
|
+
steps:
|
42
|
+
- name: Checkout repository
|
43
|
+
uses: actions/checkout@v3
|
44
|
+
|
45
|
+
# Initializes the CodeQL tools for scanning.
|
46
|
+
- name: Initialize CodeQL
|
47
|
+
uses: github/codeql-action/init@v2
|
48
|
+
with:
|
49
|
+
languages: ${{ matrix.language }}
|
50
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
51
|
+
# By default, queries listed here will override any specified in a config file.
|
52
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
53
|
+
|
54
|
+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
55
|
+
# queries: security-extended,security-and-quality
|
56
|
+
|
57
|
+
|
58
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
|
59
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
60
|
+
- name: Autobuild
|
61
|
+
uses: github/codeql-action/autobuild@v2
|
62
|
+
|
63
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
64
|
+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
65
|
+
|
66
|
+
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
67
|
+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
68
|
+
|
69
|
+
# - run: |
|
70
|
+
# echo "Run, Build Application using script"
|
71
|
+
# ./location_of_script_within_repo/buildscript.sh
|
72
|
+
|
73
|
+
- name: Perform CodeQL Analysis
|
74
|
+
uses: github/codeql-action/analyze@v2
|
75
|
+
with:
|
76
|
+
category: "/language:${{matrix.language}}"
|
@@ -1,13 +1,18 @@
|
|
1
1
|
name: Test and Deploy
|
2
|
-
on:
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
pull_request:
|
5
|
+
release:
|
6
|
+
types: [created]
|
3
7
|
jobs:
|
4
8
|
rubocop:
|
5
9
|
strategy:
|
6
10
|
matrix:
|
7
|
-
|
8
|
-
|
11
|
+
os: [ubuntu-latest]
|
12
|
+
ruby-version: ['2.7', '3.0']
|
13
|
+
runs-on: ${{ matrix.os }}
|
9
14
|
steps:
|
10
|
-
- uses: actions/checkout@
|
15
|
+
- uses: actions/checkout@v3
|
11
16
|
with:
|
12
17
|
persist-credentials: false
|
13
18
|
fetch-depth: 0
|
@@ -16,14 +21,19 @@ jobs:
|
|
16
21
|
with:
|
17
22
|
ruby-version: ${{ matrix.ruby-version }}
|
18
23
|
bundler-cache: true
|
24
|
+
run: |
|
25
|
+
gem install bundler
|
26
|
+
bundle update
|
27
|
+
bundle install
|
19
28
|
- run: bundle exec rubocop
|
20
29
|
rspec:
|
21
30
|
strategy:
|
22
31
|
matrix:
|
23
|
-
|
24
|
-
|
32
|
+
os: [ubuntu-latest]
|
33
|
+
ruby-version: ['2.7', '3.0']
|
34
|
+
runs-on: ${{ matrix.os }}
|
25
35
|
steps:
|
26
|
-
- uses: actions/checkout@
|
36
|
+
- uses: actions/checkout@v3
|
27
37
|
with:
|
28
38
|
persist-credentials: false
|
29
39
|
fetch-depth: 0
|
@@ -32,24 +42,32 @@ jobs:
|
|
32
42
|
with:
|
33
43
|
ruby-version: ${{ matrix.ruby-version }}
|
34
44
|
bundler-cache: true
|
45
|
+
run: |
|
46
|
+
gem install bundler
|
47
|
+
bundle update
|
48
|
+
bundle install
|
35
49
|
- name: rspec and report to coveralls
|
36
|
-
env:
|
37
|
-
COVERALLS_REPO_TOKEN: ${{ github.event_name == 'push' && secrets.COVERALLS_REPO_TOKEN }}
|
38
50
|
run: bundle exec rspec --order rand
|
51
|
+
- name: Coveralls
|
52
|
+
uses: coverallsapp/github-action@master
|
53
|
+
with:
|
54
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
55
|
+
parallel: true
|
56
|
+
flag-name: run-${{ matrix.ruby-version }}
|
39
57
|
publish:
|
40
58
|
runs-on: ubuntu-latest
|
41
|
-
needs: [
|
42
|
-
if:
|
59
|
+
needs: ["rubocop", "rspec"]
|
60
|
+
if: github.event_name == 'release' && github.event.action == 'created'
|
43
61
|
steps:
|
44
62
|
- name: Checkout
|
45
|
-
uses: actions/checkout@
|
63
|
+
uses: actions/checkout@v3
|
46
64
|
with:
|
47
65
|
persist-credentials: false
|
48
66
|
fetch-depth: 0
|
49
67
|
- name: Ruby Setup and Bundle
|
50
68
|
uses: ruby/setup-ruby@v1
|
51
69
|
with:
|
52
|
-
ruby-version: 2.
|
70
|
+
ruby-version: 2.7.5
|
53
71
|
bundler-cache: true
|
54
72
|
- name: Publish to RubyGems
|
55
73
|
run: |
|
data/Gemfile.lock
CHANGED
@@ -1,116 +1,117 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ledger_sync-quickbooks_online (0.
|
4
|
+
ledger_sync-quickbooks_online (1.0.1)
|
5
5
|
dotenv
|
6
|
-
ledger_sync (>= 2.0.2)
|
6
|
+
ledger_sync (>= 2.0.2, <= 3.0)
|
7
7
|
oauth2
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
activemodel (
|
13
|
-
activesupport (=
|
14
|
-
activesupport (
|
12
|
+
activemodel (7.0.4.3)
|
13
|
+
activesupport (= 7.0.4.3)
|
14
|
+
activesupport (7.0.4.3)
|
15
15
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
16
16
|
i18n (>= 1.6, < 2)
|
17
17
|
minitest (>= 5.1)
|
18
18
|
tzinfo (~> 2.0)
|
19
|
-
|
20
|
-
|
21
|
-
public_suffix (>= 2.0.2, < 5.0)
|
19
|
+
addressable (2.8.3)
|
20
|
+
public_suffix (>= 2.0.2, < 6.0)
|
22
21
|
ast (2.4.2)
|
23
22
|
awesome_print (1.9.2)
|
24
23
|
bump (0.9.0)
|
25
24
|
byebug (11.1.3)
|
26
|
-
childprocess (4.
|
27
|
-
climate_control (1.0
|
25
|
+
childprocess (4.1.0)
|
26
|
+
climate_control (1.2.0)
|
28
27
|
colorize (0.8.1)
|
29
|
-
concurrent-ruby (1.
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
tins (~> 1.6)
|
28
|
+
concurrent-ruby (1.2.2)
|
29
|
+
coveralls_reborn (0.27.0)
|
30
|
+
simplecov (~> 0.22.0)
|
31
|
+
term-ansicolor (~> 1.7)
|
32
|
+
thor (~> 1.2)
|
33
|
+
tins (~> 1.32)
|
36
34
|
crack (0.4.5)
|
37
35
|
rexml
|
38
|
-
diff-lcs (1.
|
36
|
+
diff-lcs (1.5.0)
|
39
37
|
docile (1.4.0)
|
40
|
-
dotenv (2.
|
41
|
-
dry-configurable (0.
|
38
|
+
dotenv (2.8.1)
|
39
|
+
dry-configurable (1.0.1)
|
40
|
+
dry-core (~> 1.0, < 2)
|
41
|
+
zeitwerk (~> 2.6)
|
42
|
+
dry-core (1.0.0)
|
42
43
|
concurrent-ruby (~> 1.0)
|
43
|
-
|
44
|
-
dry-
|
44
|
+
zeitwerk (~> 2.6)
|
45
|
+
dry-inflector (1.0.0)
|
46
|
+
dry-initializer (3.1.1)
|
47
|
+
dry-logic (1.5.0)
|
45
48
|
concurrent-ruby (~> 1.0)
|
46
|
-
dry-
|
47
|
-
|
49
|
+
dry-core (~> 1.0, < 2)
|
50
|
+
zeitwerk (~> 2.6)
|
51
|
+
dry-schema (1.13.1)
|
48
52
|
concurrent-ruby (~> 1.0)
|
49
|
-
|
50
|
-
|
51
|
-
dry-initializer (3.0.4)
|
52
|
-
dry-logic (1.2.0)
|
53
|
-
concurrent-ruby (~> 1.0)
|
54
|
-
dry-core (~> 0.5, >= 0.5)
|
55
|
-
dry-schema (1.5.6)
|
56
|
-
concurrent-ruby (~> 1.0)
|
57
|
-
dry-configurable (~> 0.8, >= 0.8.3)
|
58
|
-
dry-core (~> 0.4)
|
59
|
-
dry-equalizer (~> 0.2)
|
53
|
+
dry-configurable (~> 1.0, >= 1.0.1)
|
54
|
+
dry-core (~> 1.0, < 2)
|
60
55
|
dry-initializer (~> 3.0)
|
61
|
-
dry-logic (
|
62
|
-
dry-types (
|
63
|
-
|
56
|
+
dry-logic (>= 1.4, < 2)
|
57
|
+
dry-types (>= 1.7, < 2)
|
58
|
+
zeitwerk (~> 2.6)
|
59
|
+
dry-types (1.7.1)
|
64
60
|
concurrent-ruby (~> 1.0)
|
65
|
-
dry-
|
66
|
-
dry-
|
67
|
-
dry-
|
68
|
-
|
69
|
-
dry-validation (1.
|
61
|
+
dry-core (~> 1.0)
|
62
|
+
dry-inflector (~> 1.0)
|
63
|
+
dry-logic (~> 1.4)
|
64
|
+
zeitwerk (~> 2.6)
|
65
|
+
dry-validation (1.10.0)
|
70
66
|
concurrent-ruby (~> 1.0)
|
71
|
-
dry-
|
72
|
-
dry-core (~> 0.4)
|
73
|
-
dry-equalizer (~> 0.2)
|
67
|
+
dry-core (~> 1.0, < 2)
|
74
68
|
dry-initializer (~> 3.0)
|
75
|
-
dry-schema (
|
69
|
+
dry-schema (>= 1.12, < 2)
|
70
|
+
zeitwerk (~> 2.6)
|
76
71
|
factory_bot (6.1.0)
|
77
72
|
activesupport (>= 5.0.0)
|
78
|
-
faraday (1.
|
73
|
+
faraday (1.10.3)
|
79
74
|
faraday-em_http (~> 1.0)
|
80
75
|
faraday-em_synchrony (~> 1.0)
|
81
76
|
faraday-excon (~> 1.1)
|
82
|
-
faraday-httpclient (~> 1.0
|
77
|
+
faraday-httpclient (~> 1.0)
|
78
|
+
faraday-multipart (~> 1.0)
|
83
79
|
faraday-net_http (~> 1.0)
|
84
|
-
faraday-net_http_persistent (~> 1.
|
80
|
+
faraday-net_http_persistent (~> 1.0)
|
85
81
|
faraday-patron (~> 1.0)
|
86
82
|
faraday-rack (~> 1.0)
|
87
|
-
|
83
|
+
faraday-retry (~> 1.0)
|
88
84
|
ruby2_keywords (>= 0.0.4)
|
89
|
-
faraday-detailed_logger (2.
|
90
|
-
faraday (>= 0.
|
85
|
+
faraday-detailed_logger (2.5.0)
|
86
|
+
faraday (>= 0.16, < 3)
|
91
87
|
faraday-em_http (1.0.0)
|
92
88
|
faraday-em_synchrony (1.0.0)
|
93
89
|
faraday-excon (1.1.0)
|
94
90
|
faraday-httpclient (1.0.1)
|
91
|
+
faraday-multipart (1.0.4)
|
92
|
+
multipart-post (~> 2)
|
95
93
|
faraday-net_http (1.0.1)
|
96
94
|
faraday-net_http_persistent (1.2.0)
|
97
95
|
faraday-patron (1.0.0)
|
98
96
|
faraday-rack (1.0.0)
|
99
|
-
|
97
|
+
faraday-retry (1.0.3)
|
98
|
+
faraday_middleware (1.2.0)
|
100
99
|
faraday (~> 1.0)
|
101
100
|
fingerprintable (1.2.1)
|
102
101
|
colorize
|
103
102
|
hashdiff (1.0.1)
|
104
|
-
|
103
|
+
hashie (5.0.0)
|
104
|
+
i18n (1.12.0)
|
105
105
|
concurrent-ruby (~> 1.0)
|
106
106
|
iniparse (1.5.0)
|
107
|
-
|
108
|
-
|
109
|
-
|
107
|
+
ipaddr (1.2.5)
|
108
|
+
json (2.6.3)
|
109
|
+
jwt (2.7.0)
|
110
|
+
ledger_sync (2.5.0)
|
110
111
|
activemodel
|
111
|
-
|
112
|
-
dry-schema
|
113
|
-
dry-validation
|
112
|
+
dotenv
|
113
|
+
dry-schema
|
114
|
+
dry-validation
|
114
115
|
faraday
|
115
116
|
faraday-detailed_logger
|
116
117
|
faraday_middleware
|
@@ -118,89 +119,97 @@ GEM
|
|
118
119
|
nokogiri
|
119
120
|
openssl (~> 2.2.0)
|
120
121
|
pd_ruby
|
121
|
-
rack (
|
122
|
+
rack (>= 2.2.3)
|
123
|
+
rainbow (~> 3.0)
|
122
124
|
resonad
|
123
125
|
simply_serializable (>= 1.5.1)
|
124
|
-
mini_portile2 (2.
|
125
|
-
minitest (5.
|
126
|
-
multi_json (1.15.0)
|
126
|
+
mini_portile2 (2.8.1)
|
127
|
+
minitest (5.18.0)
|
127
128
|
multi_xml (0.6.0)
|
128
|
-
multipart-post (2.
|
129
|
-
nokogiri (1.
|
130
|
-
mini_portile2 (~> 2.
|
129
|
+
multipart-post (2.3.0)
|
130
|
+
nokogiri (1.14.3)
|
131
|
+
mini_portile2 (~> 2.8.0)
|
131
132
|
racc (~> 1.4)
|
132
|
-
oauth2 (
|
133
|
-
faraday (>= 0.
|
133
|
+
oauth2 (2.0.9)
|
134
|
+
faraday (>= 0.17.3, < 3.0)
|
134
135
|
jwt (>= 1.0, < 3.0)
|
135
|
-
multi_json (~> 1.3)
|
136
136
|
multi_xml (~> 0.5)
|
137
|
-
rack (>= 1.2, <
|
138
|
-
|
137
|
+
rack (>= 1.2, < 4)
|
138
|
+
snaky_hash (~> 2.0)
|
139
|
+
version_gem (~> 1.1)
|
140
|
+
openssl (2.2.3)
|
141
|
+
ipaddr
|
139
142
|
overcommit (0.57.0)
|
140
143
|
childprocess (>= 0.6.3, < 5)
|
141
144
|
iniparse (~> 1.4)
|
142
|
-
parallel (1.
|
143
|
-
parser (3.
|
145
|
+
parallel (1.22.1)
|
146
|
+
parser (3.2.2.0)
|
144
147
|
ast (~> 2.4.1)
|
145
148
|
pd_ruby (0.2.3)
|
146
149
|
colorize
|
147
|
-
public_suffix (
|
148
|
-
racc (1.
|
149
|
-
rack (
|
150
|
-
rainbow (3.
|
151
|
-
rake (13.0.
|
152
|
-
regexp_parser (2.
|
150
|
+
public_suffix (5.0.1)
|
151
|
+
racc (1.6.2)
|
152
|
+
rack (3.0.7)
|
153
|
+
rainbow (3.1.1)
|
154
|
+
rake (13.0.6)
|
155
|
+
regexp_parser (2.7.0)
|
153
156
|
resonad (1.4.0)
|
154
157
|
rexml (3.2.5)
|
155
|
-
rspec (3.
|
156
|
-
rspec-core (~> 3.
|
157
|
-
rspec-expectations (~> 3.
|
158
|
-
rspec-mocks (~> 3.
|
159
|
-
rspec-core (3.
|
160
|
-
rspec-support (~> 3.
|
161
|
-
rspec-expectations (3.
|
158
|
+
rspec (3.12.0)
|
159
|
+
rspec-core (~> 3.12.0)
|
160
|
+
rspec-expectations (~> 3.12.0)
|
161
|
+
rspec-mocks (~> 3.12.0)
|
162
|
+
rspec-core (3.12.1)
|
163
|
+
rspec-support (~> 3.12.0)
|
164
|
+
rspec-expectations (3.12.2)
|
162
165
|
diff-lcs (>= 1.2.0, < 2.0)
|
163
|
-
rspec-support (~> 3.
|
164
|
-
rspec-mocks (3.
|
166
|
+
rspec-support (~> 3.12.0)
|
167
|
+
rspec-mocks (3.12.5)
|
165
168
|
diff-lcs (>= 1.2.0, < 2.0)
|
166
|
-
rspec-support (~> 3.
|
167
|
-
rspec-support (3.
|
168
|
-
rubocop (1.
|
169
|
+
rspec-support (~> 3.12.0)
|
170
|
+
rspec-support (3.12.0)
|
171
|
+
rubocop (1.49.0)
|
172
|
+
json (~> 2.3)
|
169
173
|
parallel (~> 1.10)
|
170
|
-
parser (>= 3.
|
174
|
+
parser (>= 3.2.0.0)
|
171
175
|
rainbow (>= 2.2.2, < 4.0)
|
172
176
|
regexp_parser (>= 1.8, < 3.0)
|
173
|
-
rexml
|
174
|
-
rubocop-ast (>= 1.
|
177
|
+
rexml (>= 3.2.5, < 4.0)
|
178
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
175
179
|
ruby-progressbar (~> 1.7)
|
176
|
-
unicode-display_width (>=
|
177
|
-
rubocop-ast (1.
|
178
|
-
parser (>= 3.
|
179
|
-
ruby-progressbar (1.
|
180
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
181
|
+
rubocop-ast (1.28.0)
|
182
|
+
parser (>= 3.2.1.0)
|
183
|
+
ruby-progressbar (1.13.0)
|
180
184
|
ruby2_keywords (0.0.5)
|
181
|
-
simplecov (0.
|
185
|
+
simplecov (0.22.0)
|
182
186
|
docile (~> 1.1)
|
183
|
-
|
184
|
-
|
185
|
-
simplecov-html (0.
|
187
|
+
simplecov-html (~> 0.11)
|
188
|
+
simplecov_json_formatter (~> 0.1)
|
189
|
+
simplecov-html (0.12.3)
|
186
190
|
simplecov-lcov (0.8.0)
|
191
|
+
simplecov_json_formatter (0.1.4)
|
187
192
|
simply_serializable (1.5.1)
|
188
193
|
fingerprintable (>= 1.2.1)
|
194
|
+
snaky_hash (2.0.1)
|
195
|
+
hashie
|
196
|
+
version_gem (~> 1.1, >= 1.1.1)
|
189
197
|
sync (0.5.0)
|
190
198
|
term-ansicolor (1.7.1)
|
191
199
|
tins (~> 1.0)
|
192
|
-
thor (1.1
|
193
|
-
tins (1.
|
200
|
+
thor (1.2.1)
|
201
|
+
tins (1.32.1)
|
194
202
|
sync
|
195
|
-
tzinfo (2.0.
|
203
|
+
tzinfo (2.0.6)
|
196
204
|
concurrent-ruby (~> 1.0)
|
197
|
-
unicode-display_width (2.
|
198
|
-
vcr (6.
|
199
|
-
|
200
|
-
|
205
|
+
unicode-display_width (2.4.2)
|
206
|
+
vcr (6.1.0)
|
207
|
+
version_gem (1.1.2)
|
208
|
+
webmock (3.18.1)
|
209
|
+
addressable (>= 2.8.0)
|
201
210
|
crack (>= 0.3.2)
|
202
211
|
hashdiff (>= 0.4.0, < 2.0.0)
|
203
|
-
zeitwerk (2.
|
212
|
+
zeitwerk (2.6.7)
|
204
213
|
|
205
214
|
PLATFORMS
|
206
215
|
ruby
|
@@ -211,7 +220,7 @@ DEPENDENCIES
|
|
211
220
|
bundler (~> 2.1)
|
212
221
|
byebug
|
213
222
|
climate_control
|
214
|
-
|
223
|
+
coveralls_reborn
|
215
224
|
factory_bot (~> 6.1.0)
|
216
225
|
ledger_sync-quickbooks_online!
|
217
226
|
overcommit (~> 0.57.0)
|
@@ -223,4 +232,4 @@ DEPENDENCIES
|
|
223
232
|
webmock
|
224
233
|
|
225
234
|
BUNDLED WITH
|
226
|
-
2.
|
235
|
+
2.4.22
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.required_ruby_version = '>= 2.5.8'
|
14
14
|
|
15
15
|
spec.summary = 'Sync common objects to accounting software.'
|
16
|
-
spec.description = 'LedgerSync is a simple library that allows you to sync common objects to popular accounting '\
|
16
|
+
spec.description = 'LedgerSync is a simple library that allows you to sync common objects to popular accounting ' \
|
17
17
|
'software like QuickBooks Online, QuickBooksOnline, NetSuite, etc.'
|
18
18
|
spec.homepage = 'https://www.ledgersync.dev'
|
19
19
|
|
@@ -29,19 +29,20 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_development_dependency('awesome_print', '>= 0')
|
30
30
|
spec.add_development_dependency('bump', '~> 0.9.0')
|
31
31
|
spec.add_development_dependency('bundler', '~> 2.1')
|
32
|
-
spec.add_development_dependency('byebug')
|
33
|
-
spec.add_development_dependency('climate_control')
|
34
|
-
spec.add_development_dependency('
|
32
|
+
spec.add_development_dependency('byebug', '>= 0')
|
33
|
+
spec.add_development_dependency('climate_control', '>= 0')
|
34
|
+
spec.add_development_dependency('coveralls_reborn', '>= 0')
|
35
35
|
spec.add_development_dependency('factory_bot', '~> 6.1.0')
|
36
36
|
spec.add_development_dependency('overcommit', '~> 0.57.0')
|
37
37
|
spec.add_development_dependency('rake', '~> 13.0')
|
38
38
|
spec.add_development_dependency('rspec', '~> 3.2')
|
39
39
|
spec.add_development_dependency('rubocop', '>= 0')
|
40
|
-
spec.add_development_dependency('simplecov-lcov')
|
40
|
+
spec.add_development_dependency('simplecov-lcov', '>= 0')
|
41
41
|
spec.add_development_dependency('vcr', '>= 0')
|
42
42
|
spec.add_development_dependency('webmock', '>= 0')
|
43
43
|
spec.add_runtime_dependency('dotenv')
|
44
|
-
spec.add_runtime_dependency('ledger_sync', '>= 2.0.2')
|
44
|
+
spec.add_runtime_dependency('ledger_sync', '>= 2.0.2', '<= 3.0')
|
45
45
|
# spec.add_runtime_dependency('nokogiri', '>= 0')
|
46
46
|
spec.add_runtime_dependency('oauth2', '>= 0')
|
47
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
47
48
|
end
|
@@ -28,26 +28,16 @@ module LedgerSync
|
|
28
28
|
:test,
|
29
29
|
:update_dotenv
|
30
30
|
|
31
|
-
def initialize(
|
32
|
-
access_token
|
33
|
-
client_id
|
34
|
-
client_secret
|
35
|
-
realm_id
|
36
|
-
refresh_token
|
37
|
-
expires_at: nil
|
38
|
-
refresh_token_expires_at: nil
|
39
|
-
test: false
|
40
|
-
update_dotenv: true
|
41
|
-
)
|
42
|
-
@access_token = access_token
|
43
|
-
@client_id = client_id
|
44
|
-
@client_secret = client_secret
|
45
|
-
@realm_id = realm_id
|
46
|
-
@refresh_token = refresh_token
|
47
|
-
@expires_at = expires_at
|
48
|
-
@refresh_token_expires_at = refresh_token_expires_at
|
49
|
-
@test = test
|
50
|
-
@update_dotenv = update_dotenv
|
31
|
+
def initialize(args = {})
|
32
|
+
@access_token = args.fetch(:access_token)
|
33
|
+
@client_id = args.fetch(:client_id)
|
34
|
+
@client_secret = args.fetch(:client_secret)
|
35
|
+
@realm_id = args.fetch(:realm_id)
|
36
|
+
@refresh_token = args.fetch(:refresh_token)
|
37
|
+
@expires_at = args.fetch(:expires_at, nil)
|
38
|
+
@refresh_token_expires_at = args.fetch(:refresh_token_expires_at, nil)
|
39
|
+
@test = args.fetch(:test, false)
|
40
|
+
@update_dotenv = args.fetch(:update_dotenv, true)
|
51
41
|
|
52
42
|
@previous_access_tokens = []
|
53
43
|
@previous_refresh_tokens = []
|
@@ -59,8 +49,8 @@ module LedgerSync
|
|
59
49
|
super()
|
60
50
|
end
|
61
51
|
|
62
|
-
def authorization_url(redirect_uri:)
|
63
|
-
oauth_client.authorization_url(redirect_uri: redirect_uri)
|
52
|
+
def authorization_url(redirect_uri:, state: SecureRandom.hex(12))
|
53
|
+
oauth_client.authorization_url(redirect_uri: redirect_uri, state: state)
|
64
54
|
end
|
65
55
|
|
66
56
|
def find(path:)
|
@@ -103,7 +93,7 @@ module LedgerSync
|
|
103
93
|
ledger_resource_type = self.class.ledger_resource_type_for(
|
104
94
|
resource_class: resource_class
|
105
95
|
).classify
|
106
|
-
full_query = "SELECT * FROM #{ledger_resource_type} WHERE #{query} STARTPOSITION #{offset} MAXRESULTS "\
|
96
|
+
full_query = "SELECT * FROM #{ledger_resource_type} WHERE #{query} STARTPOSITION #{offset} MAXRESULTS " \
|
107
97
|
"#{limit}"
|
108
98
|
url = "#{oauth_base_uri}/query?query=#{CGI.escape(full_query)}"
|
109
99
|
|
@@ -50,11 +50,11 @@ module LedgerSync
|
|
50
50
|
@client_secret = client_secret
|
51
51
|
end
|
52
52
|
|
53
|
-
def authorization_url(redirect_uri:)
|
53
|
+
def authorization_url(redirect_uri:, state: SecureRandom.hex(12))
|
54
54
|
client.auth_code.authorize_url(
|
55
55
|
redirect_uri: redirect_uri,
|
56
56
|
response_type: 'code',
|
57
|
-
state:
|
57
|
+
state: state,
|
58
58
|
scope: 'com.intuit.quickbooks.accounting'
|
59
59
|
)
|
60
60
|
end
|
data/lib/ledger_sync/quickbooks_online/serialization/type/deserialize_transaction_reference_type.rb
CHANGED
@@ -5,7 +5,8 @@ module LedgerSync
|
|
5
5
|
module Serialization
|
6
6
|
module Type
|
7
7
|
class DeserializeTransactionReferenceType < LedgerSync::Type::Value
|
8
|
-
def cast_value(
|
8
|
+
def cast_value(args = {})
|
9
|
+
value = args.fetch(:value)
|
9
10
|
return if value.nil?
|
10
11
|
|
11
12
|
raise "Unknown value type. Array expected. Given: #{value.class.name}" unless value.is_a?(Array)
|
data/lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
CHANGED
@@ -5,9 +5,12 @@ module LedgerSync
|
|
5
5
|
module Serialization
|
6
6
|
module Type
|
7
7
|
class SerializeTransactionReferenceType < LedgerSync::Type::Value
|
8
|
-
def cast_value(
|
8
|
+
def cast_value(args = {})
|
9
|
+
value = args.fetch(:value)
|
9
10
|
return if value.nil?
|
11
|
+
|
10
12
|
raise "List expected. Given: #{value.class.name}" unless value.is_a?(Array)
|
13
|
+
|
11
14
|
unless value.all?(LedgerSync::Resource)
|
12
15
|
raise "Resources expected. Given: #{value.map { |i| i.class.name }.join(', ')}"
|
13
16
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# :nocov:
|
4
4
|
module LedgerSync
|
5
5
|
module QuickBooksOnline
|
6
|
-
VERSION = '0.
|
6
|
+
VERSION = '1.0.1'
|
7
7
|
|
8
8
|
def self.version(args = {})
|
9
9
|
pre = args.fetch(:pre, false)
|
@@ -11,7 +11,7 @@ module LedgerSync
|
|
11
11
|
if !pre && (!ENV['TRAVIS'] || ENV.fetch('TRAVIS_TAG', '') != '')
|
12
12
|
VERSION
|
13
13
|
else
|
14
|
-
"#{VERSION}.pre.#{ENV
|
14
|
+
"#{VERSION}.pre.#{ENV.fetch('TRAVIS_BUILD_NUMBER', nil)}"
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ledger_sync-quickbooks_online
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Modern Treasury
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: coveralls_reborn
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -227,6 +227,9 @@ dependencies:
|
|
227
227
|
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: 2.0.2
|
230
|
+
- - "<="
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
version: '3.0'
|
230
233
|
type: :runtime
|
231
234
|
prerelease: false
|
232
235
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -234,6 +237,9 @@ dependencies:
|
|
234
237
|
- - ">="
|
235
238
|
- !ruby/object:Gem::Version
|
236
239
|
version: 2.0.2
|
240
|
+
- - "<="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '3.0'
|
237
243
|
- !ruby/object:Gem::Dependency
|
238
244
|
name: oauth2
|
239
245
|
requirement: !ruby/object:Gem::Requirement
|
@@ -258,6 +264,7 @@ extensions: []
|
|
258
264
|
extra_rdoc_files: []
|
259
265
|
files:
|
260
266
|
- ".env.test"
|
267
|
+
- ".github/workflows/codeql.yml"
|
261
268
|
- ".github/workflows/gem-workflow.yml"
|
262
269
|
- ".gitignore"
|
263
270
|
- ".overcommit.yml"
|
@@ -447,7 +454,8 @@ files:
|
|
447
454
|
- license.txt
|
448
455
|
homepage: https://www.ledgersync.dev
|
449
456
|
licenses: []
|
450
|
-
metadata:
|
457
|
+
metadata:
|
458
|
+
rubygems_mfa_required: 'true'
|
451
459
|
post_install_message:
|
452
460
|
rdoc_options: []
|
453
461
|
require_paths:
|
@@ -463,7 +471,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
463
471
|
- !ruby/object:Gem::Version
|
464
472
|
version: '0'
|
465
473
|
requirements: []
|
466
|
-
rubygems_version: 3.
|
474
|
+
rubygems_version: 3.2.33
|
467
475
|
signing_key:
|
468
476
|
specification_version: 4
|
469
477
|
summary: Sync common objects to accounting software.
|