moneybird-client 0.12.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 +7 -0
- data/.codeclimate.yml +26 -0
- data/.forgejo/workflows/release.yml +56 -0
- data/.forgejo/workflows/ruby.yml +37 -0
- data/.gitignore +10 -0
- data/.kick +17 -0
- data/.rspec +2 -0
- data/.rubocop.yml +1156 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +11 -0
- data/LICENSE.txt +21 -0
- data/README.md +110 -0
- data/Rakefile +11 -0
- data/bin/console +13 -0
- data/bin/setup +8 -0
- data/lib/moneybird/client.rb +80 -0
- data/lib/moneybird/http_error/authorization_required.rb +8 -0
- data/lib/moneybird/http_error/bad_request.rb +8 -0
- data/lib/moneybird/http_error/forbidden.rb +8 -0
- data/lib/moneybird/http_error/internal_server_error.rb +8 -0
- data/lib/moneybird/http_error/method_not_allowed.rb +8 -0
- data/lib/moneybird/http_error/not_accepted.rb +8 -0
- data/lib/moneybird/http_error/not_found.rb +8 -0
- data/lib/moneybird/http_error/payment_required.rb +8 -0
- data/lib/moneybird/http_error/too_many_requests.rb +8 -0
- data/lib/moneybird/http_error/unprocessable_entity.rb +8 -0
- data/lib/moneybird/middleware/error_handling.rb +29 -0
- data/lib/moneybird/middleware/pagination/links.rb +19 -0
- data/lib/moneybird/middleware/pagination.rb +31 -0
- data/lib/moneybird/oauth.rb +91 -0
- data/lib/moneybird/resource/administration.rb +101 -0
- data/lib/moneybird/resource/contact.rb +75 -0
- data/lib/moneybird/resource/custom_field.rb +18 -0
- data/lib/moneybird/resource/document_style.rb +35 -0
- data/lib/moneybird/resource/documents/general_document.rb +27 -0
- data/lib/moneybird/resource/documents/general_journal_document.rb +28 -0
- data/lib/moneybird/resource/documents/purchase_invoice.rb +57 -0
- data/lib/moneybird/resource/documents/receipt.rb +57 -0
- data/lib/moneybird/resource/documents/typeless_document.rb +28 -0
- data/lib/moneybird/resource/estimate.rb +64 -0
- data/lib/moneybird/resource/external_sales_invoice.rb +61 -0
- data/lib/moneybird/resource/financial_account.rb +23 -0
- data/lib/moneybird/resource/financial_mutation.rb +39 -0
- data/lib/moneybird/resource/generic/event.rb +19 -0
- data/lib/moneybird/resource/generic/note.rb +25 -0
- data/lib/moneybird/resource/identity.rb +31 -0
- data/lib/moneybird/resource/invoice/details.rb +29 -0
- data/lib/moneybird/resource/invoice/payment.rb +26 -0
- data/lib/moneybird/resource/ledger_account.rb +19 -0
- data/lib/moneybird/resource/product.rb +21 -0
- data/lib/moneybird/resource/recurring_sales_invoice.rb +62 -0
- data/lib/moneybird/resource/sales_invoice.rb +98 -0
- data/lib/moneybird/resource/synchronization.rb +15 -0
- data/lib/moneybird/resource/tax_rate.rb +21 -0
- data/lib/moneybird/resource/webhook.rb +24 -0
- data/lib/moneybird/resource/workflow.rb +24 -0
- data/lib/moneybird/resource.rb +126 -0
- data/lib/moneybird/service/administration.rb +29 -0
- data/lib/moneybird/service/contact.rb +27 -0
- data/lib/moneybird/service/custom_field.rb +19 -0
- data/lib/moneybird/service/document_style.rb +19 -0
- data/lib/moneybird/service/documents/general_document.rb +23 -0
- data/lib/moneybird/service/documents/general_journal_document.rb +23 -0
- data/lib/moneybird/service/documents/purchase_invoice.rb +23 -0
- data/lib/moneybird/service/documents/receipt.rb +23 -0
- data/lib/moneybird/service/documents/typeless_document.rb +23 -0
- data/lib/moneybird/service/estimate.rb +23 -0
- data/lib/moneybird/service/external_sales_invoice.rb +22 -0
- data/lib/moneybird/service/financial_account.rb +19 -0
- data/lib/moneybird/service/financial_mutation.rb +24 -0
- data/lib/moneybird/service/identity.rb +22 -0
- data/lib/moneybird/service/ledger_account.rb +22 -0
- data/lib/moneybird/service/payment.rb +21 -0
- data/lib/moneybird/service/product.rb +22 -0
- data/lib/moneybird/service/recurring_sales_invoice.rb +23 -0
- data/lib/moneybird/service/sales_invoice.rb +26 -0
- data/lib/moneybird/service/tax_rate.rb +19 -0
- data/lib/moneybird/service/webhook.rb +21 -0
- data/lib/moneybird/service/workflow.rb +19 -0
- data/lib/moneybird/token.rb +20 -0
- data/lib/moneybird/traits/administration_service.rb +16 -0
- data/lib/moneybird/traits/delete.rb +12 -0
- data/lib/moneybird/traits/download_pdf.rb +11 -0
- data/lib/moneybird/traits/find.rb +11 -0
- data/lib/moneybird/traits/find_all.rb +51 -0
- data/lib/moneybird/traits/mark_as_uncollectible.rb +17 -0
- data/lib/moneybird/traits/save.rb +26 -0
- data/lib/moneybird/traits/send_invoice.rb +17 -0
- data/lib/moneybird/traits/service.rb +15 -0
- data/lib/moneybird/traits/synchronization.rb +13 -0
- data/lib/moneybird/version.rb +5 -0
- data/lib/moneybird/webhook.rb +31 -0
- data/lib/moneybird.rb +115 -0
- data/moneybird.gemspec +37 -0
- metadata +235 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: e4097570c41bf52d470a8e72fa08fd8b7de0b23cf37a7a99f21b6489a0ba8ea7
|
|
4
|
+
data.tar.gz: 1de781cf1f61a57cdd09c3c17f8a7200ac2f6f6252f45f83b5255382da1c990c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 93350597b1a2e20c1b4f5bbb0f49064154da6aff49c4d2b9b3faa54687fc12d9f7f0ea5624bae1c8bb84f7d328d885e3418358620612b96d3f0a28f2f7b8f50a
|
|
7
|
+
data.tar.gz: 363aba51551a10a2c2930cc431f70086d5c8c1a8f52a1463fffd69c497d406ab29e8140238e1f259d6481d69c425d06893b863de58741a6a1749d3b330dc291c
|
data/.codeclimate.yml
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
engines:
|
|
3
|
+
duplication:
|
|
4
|
+
enabled: true
|
|
5
|
+
config:
|
|
6
|
+
languages:
|
|
7
|
+
- ruby
|
|
8
|
+
- javascript
|
|
9
|
+
- python
|
|
10
|
+
- php
|
|
11
|
+
fixme:
|
|
12
|
+
enabled: true
|
|
13
|
+
rubocop:
|
|
14
|
+
enabled: true
|
|
15
|
+
ratings:
|
|
16
|
+
paths:
|
|
17
|
+
- "**.inc"
|
|
18
|
+
- "**.js"
|
|
19
|
+
- "**.jsx"
|
|
20
|
+
- "**.module"
|
|
21
|
+
- "**.php"
|
|
22
|
+
- "**.py"
|
|
23
|
+
- "**.rb"
|
|
24
|
+
exclude_paths:
|
|
25
|
+
- spec/
|
|
26
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
name: Release Gem
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
runs-on: deploy
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: https://code.forgejo.org/actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Set up Ruby
|
|
19
|
+
uses: https://github.com/ruby/setup-ruby@v1
|
|
20
|
+
with:
|
|
21
|
+
ruby-version: '3.4'
|
|
22
|
+
|
|
23
|
+
- name: Verify tag matches gem version
|
|
24
|
+
env:
|
|
25
|
+
REF_NAME: ${{ forge.ref_name }}
|
|
26
|
+
run: |
|
|
27
|
+
version="$(ruby -I lib -e 'require "moneybird/version"; puts Moneybird::VERSION')"
|
|
28
|
+
if [ "${REF_NAME#v}" != "$version" ]; then
|
|
29
|
+
echo "tag ${REF_NAME} does not match gem version ${version}"
|
|
30
|
+
exit 1
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
- name: Install dependencies
|
|
34
|
+
run: bundle install --jobs 4 --retry 3
|
|
35
|
+
|
|
36
|
+
- name: Run tests
|
|
37
|
+
run: bundle exec rake
|
|
38
|
+
|
|
39
|
+
- name: Build gem
|
|
40
|
+
run: gem build moneybird.gemspec
|
|
41
|
+
|
|
42
|
+
- name: Configure RubyGems credentials
|
|
43
|
+
env:
|
|
44
|
+
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
|
45
|
+
run: |
|
|
46
|
+
mkdir -p ~/.gem
|
|
47
|
+
cat > ~/.gem/credentials <<EOF
|
|
48
|
+
---
|
|
49
|
+
:rubygems_api_key: ${RUBYGEMS_API_KEY}
|
|
50
|
+
EOF
|
|
51
|
+
chmod 0600 ~/.gem/credentials
|
|
52
|
+
|
|
53
|
+
- name: Publish gem
|
|
54
|
+
run: |
|
|
55
|
+
version="$(ruby -I lib -e 'require "moneybird/version"; puts Moneybird::VERSION')"
|
|
56
|
+
gem push "moneybird-client-${version}.gem"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: Ruby
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ['**']
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
runs-on: checks
|
|
11
|
+
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
ruby_version: [3.1, 3.2, 3.3, 3.4]
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: https://data.forgejo.org/actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Set up Ruby
|
|
20
|
+
uses: https://github.com/ruby/setup-ruby@v1
|
|
21
|
+
with:
|
|
22
|
+
ruby-version: ${{ matrix.ruby_version }}
|
|
23
|
+
|
|
24
|
+
- name: Exclude coverage group
|
|
25
|
+
if: matrix.ruby_version != '3.4'
|
|
26
|
+
run: bundle config set without coverage
|
|
27
|
+
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: |
|
|
30
|
+
gem install bundler
|
|
31
|
+
bundle install --jobs 4 --retry 3
|
|
32
|
+
|
|
33
|
+
- name: Build and test with Rake
|
|
34
|
+
env:
|
|
35
|
+
CI: true
|
|
36
|
+
COVERAGE: ${{ matrix.ruby_version == '3.4' && 'true' || '' }}
|
|
37
|
+
run: bundle exec rake
|
data/.gitignore
ADDED
data/.kick
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require 'set'
|
|
2
|
+
|
|
3
|
+
process do |file, flags|
|
|
4
|
+
test_files = Set.new
|
|
5
|
+
case file
|
|
6
|
+
when %r(^spec/.*_spec.rb$)
|
|
7
|
+
test_files << file
|
|
8
|
+
when %r(^lib/(.*).rb)
|
|
9
|
+
test_files << 'spec/lib/' + $1 + '_spec.rb'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
test_files = test_files.select { |filename| File.exist?(filename) }
|
|
13
|
+
|
|
14
|
+
unless test_files.empty?
|
|
15
|
+
watcher.execute("rake test TEST=#{test_files.to_a.join(' ')}")
|
|
16
|
+
end
|
|
17
|
+
end
|
data/.rspec
ADDED