moneybird 0.9.2 → 0.9.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 +4 -4
- data/.gitignore +1 -0
- data/lib/moneybird.rb +9 -17
- data/lib/moneybird/client.rb +39 -34
- data/lib/moneybird/http_error/authorization_required.rb +6 -0
- data/lib/moneybird/http_error/bad_request.rb +6 -0
- data/lib/moneybird/http_error/forbidden.rb +6 -0
- data/lib/moneybird/http_error/internal_server_error.rb +6 -0
- data/lib/moneybird/http_error/method_not_allowed.rb +6 -0
- data/lib/moneybird/http_error/not_accepted.rb +6 -0
- data/lib/moneybird/http_error/not_found.rb +6 -0
- data/lib/moneybird/http_error/payment_required.rb +6 -0
- data/lib/moneybird/http_error/too_many_requests.rb +6 -0
- data/lib/moneybird/http_error/unprocessable_entity.rb +6 -0
- data/lib/moneybird/middleware/error_handling.rb +25 -0
- data/lib/moneybird/middleware/pagination.rb +29 -0
- data/lib/moneybird/middleware/pagination/links.rb +17 -0
- data/lib/moneybird/resource.rb +0 -1
- data/lib/moneybird/resource/administration.rb +20 -0
- data/lib/moneybird/resource/contact.rb +30 -29
- data/lib/moneybird/resource/documents/general_document.rb +25 -0
- data/lib/moneybird/resource/documents/general_journal_document.rb +26 -0
- data/lib/moneybird/resource/documents/purchase_invoice.rb +49 -0
- data/lib/moneybird/resource/documents/receipt.rb +35 -0
- data/lib/moneybird/resource/documents/typeless_document.rb +26 -0
- data/lib/moneybird/resource/estimate.rb +24 -23
- data/lib/moneybird/resource/financial_mutation.rb +14 -12
- data/lib/moneybird/resource/purchase_invoice.rb +1 -0
- data/lib/moneybird/resource/sales_invoice.rb +1 -0
- data/lib/moneybird/resource/synchronization.rb +13 -0
- data/lib/moneybird/service/administration.rb +6 -4
- data/lib/moneybird/service/contact.rb +7 -8
- data/lib/moneybird/service/document_style.rb +2 -0
- data/lib/moneybird/service/documents/general_document.rb +21 -0
- data/lib/moneybird/service/documents/general_journal_document.rb +21 -0
- data/lib/moneybird/service/documents/purchase_invoice.rb +21 -0
- data/lib/moneybird/service/documents/receipt.rb +21 -0
- data/lib/moneybird/service/documents/typeless_document.rb +21 -0
- data/lib/moneybird/service/estimate.rb +3 -0
- data/lib/moneybird/service/financial_account.rb +2 -0
- data/lib/moneybird/service/financial_mutation.rb +3 -0
- data/lib/moneybird/service/identity.rb +2 -0
- data/lib/moneybird/service/ledger_account.rb +2 -0
- data/lib/moneybird/service/product.rb +2 -0
- data/lib/moneybird/service/purchase_invoice.rb +2 -0
- data/lib/moneybird/service/recurring_sales_invoice.rb +3 -0
- data/lib/moneybird/service/sales_invoice.rb +3 -0
- data/lib/moneybird/service/tax_rate.rb +2 -0
- data/lib/moneybird/service/webhook.rb +2 -0
- data/lib/moneybird/service/workflow.rb +2 -0
- data/lib/moneybird/traits/delete.rb +0 -6
- data/lib/moneybird/traits/find.rb +1 -7
- data/lib/moneybird/traits/find_all.rb +33 -7
- data/lib/moneybird/traits/save.rb +10 -27
- data/lib/moneybird/traits/service.rb +1 -3
- data/lib/moneybird/traits/synchronization.rb +11 -0
- data/lib/moneybird/version.rb +1 -1
- data/moneybird.gemspec +3 -1
- metadata +69 -2
@@ -0,0 +1,26 @@
|
|
1
|
+
module Moneybird::Resource::Documents
|
2
|
+
class GeneralJournalDocument
|
3
|
+
include Moneybird::Resource
|
4
|
+
extend Moneybird::Resource::ClassMethods
|
5
|
+
|
6
|
+
has_attributes %i(
|
7
|
+
id
|
8
|
+
administration_id
|
9
|
+
contact
|
10
|
+
contact_id
|
11
|
+
reference
|
12
|
+
date
|
13
|
+
due_date
|
14
|
+
entry_number
|
15
|
+
state
|
16
|
+
exchange_rate
|
17
|
+
created_at
|
18
|
+
updated_at
|
19
|
+
version
|
20
|
+
notes
|
21
|
+
attachments
|
22
|
+
events
|
23
|
+
general_journal_document_entries
|
24
|
+
)
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Moneybird::Resource::Documents
|
2
|
+
class PurchaseInvoice
|
3
|
+
include Moneybird::Resource
|
4
|
+
extend Moneybird::Resource::ClassMethods
|
5
|
+
|
6
|
+
has_attributes %i(
|
7
|
+
id
|
8
|
+
administration_id
|
9
|
+
contact
|
10
|
+
contact_id
|
11
|
+
reference
|
12
|
+
date
|
13
|
+
due_date
|
14
|
+
entry_number
|
15
|
+
state
|
16
|
+
exchange_rate
|
17
|
+
created_at
|
18
|
+
updated_at
|
19
|
+
version
|
20
|
+
notes
|
21
|
+
attachments
|
22
|
+
events
|
23
|
+
currency
|
24
|
+
revenue_invoice
|
25
|
+
prices_are_incl_tax
|
26
|
+
origin
|
27
|
+
paid_at
|
28
|
+
tax_number
|
29
|
+
total_price_excl_tax
|
30
|
+
total_price_excl_tax_base
|
31
|
+
total_price_incl_tax
|
32
|
+
total_price_incl_tax_base
|
33
|
+
details
|
34
|
+
payments
|
35
|
+
currency
|
36
|
+
revenue_invoice
|
37
|
+
prices_are_incl_tax
|
38
|
+
origin
|
39
|
+
paid_at
|
40
|
+
tax_number
|
41
|
+
total_price_excl_tax
|
42
|
+
total_price_excl_tax_base
|
43
|
+
total_price_incl_tax
|
44
|
+
total_price_incl_tax_base
|
45
|
+
details
|
46
|
+
payments
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Moneybird::Resource::Documents
|
2
|
+
class Receipt
|
3
|
+
include Moneybird::Resource
|
4
|
+
extend Moneybird::Resource::ClassMethods
|
5
|
+
|
6
|
+
has_attributes %i(
|
7
|
+
id
|
8
|
+
administration_id
|
9
|
+
currency
|
10
|
+
revenue_invoice
|
11
|
+
prices_are_incl_tax
|
12
|
+
origin
|
13
|
+
paid_at
|
14
|
+
tax_number
|
15
|
+
total_price_excl_tax
|
16
|
+
total_price_excl_tax_base
|
17
|
+
total_price_incl_tax
|
18
|
+
total_price_incl_tax_base
|
19
|
+
details
|
20
|
+
payments
|
21
|
+
currency
|
22
|
+
revenue_invoice
|
23
|
+
prices_are_incl_tax
|
24
|
+
origin
|
25
|
+
paid_at
|
26
|
+
tax_number
|
27
|
+
total_price_excl_tax
|
28
|
+
total_price_excl_tax_base
|
29
|
+
total_price_incl_tax
|
30
|
+
total_price_incl_tax_base
|
31
|
+
details
|
32
|
+
payments
|
33
|
+
)
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Moneybird::Resource::Documents
|
2
|
+
class TypelessDocument
|
3
|
+
include Moneybird::Resource
|
4
|
+
extend Moneybird::Resource::ClassMethods
|
5
|
+
|
6
|
+
has_attributes %i(
|
7
|
+
id
|
8
|
+
administration_id
|
9
|
+
contact
|
10
|
+
contact_id
|
11
|
+
reference
|
12
|
+
date
|
13
|
+
due_date
|
14
|
+
entry_number
|
15
|
+
state
|
16
|
+
exchange_rate
|
17
|
+
created_at
|
18
|
+
updated_at
|
19
|
+
version
|
20
|
+
notes
|
21
|
+
attachments
|
22
|
+
events
|
23
|
+
origin
|
24
|
+
)
|
25
|
+
end
|
26
|
+
end
|
@@ -4,46 +4,47 @@ module Moneybird::Resource
|
|
4
4
|
extend Moneybird::Resource::ClassMethods
|
5
5
|
|
6
6
|
has_attributes %i(
|
7
|
-
|
7
|
+
accepted_at
|
8
8
|
administration_id
|
9
|
-
|
9
|
+
archived_at
|
10
|
+
attachments
|
10
11
|
contact
|
12
|
+
contact_id
|
13
|
+
created_at
|
14
|
+
currency
|
15
|
+
custom_fields
|
11
16
|
details
|
17
|
+
discount
|
18
|
+
document_style_id
|
12
19
|
draft_id
|
20
|
+
due_date
|
21
|
+
estimate_date
|
13
22
|
estimate_id
|
14
|
-
|
15
|
-
|
23
|
+
events
|
24
|
+
exchange_rate
|
25
|
+
id
|
16
26
|
identity_id
|
17
|
-
state
|
18
|
-
estimate_date
|
19
|
-
due_date
|
20
|
-
reference
|
21
27
|
language
|
22
|
-
|
23
|
-
exchange_rate
|
24
|
-
discount
|
28
|
+
notes
|
25
29
|
original_estimate_id
|
30
|
+
post_text
|
31
|
+
pre_text
|
32
|
+
reference
|
33
|
+
rejected_at
|
34
|
+
sent_at
|
26
35
|
show_tax
|
27
36
|
sign_online
|
28
|
-
|
29
|
-
accepted_at
|
30
|
-
rejected_at
|
31
|
-
archived_at
|
32
|
-
created_at
|
33
|
-
updated_at
|
37
|
+
state
|
34
38
|
tax_totals
|
35
39
|
total_discount
|
36
|
-
pre_text
|
37
|
-
post_text
|
38
40
|
total_price_excl_tax
|
39
41
|
total_price_excl_tax_base
|
40
42
|
total_price_incl_tax
|
41
43
|
total_price_incl_tax_base
|
44
|
+
updated_at
|
42
45
|
url
|
43
|
-
|
44
|
-
|
45
|
-
attachments
|
46
|
-
events
|
46
|
+
version
|
47
|
+
workflow_id
|
47
48
|
)
|
48
49
|
|
49
50
|
def notes=(notes)
|
@@ -4,27 +4,29 @@ module Moneybird::Resource
|
|
4
4
|
extend Moneybird::Resource::ClassMethods
|
5
5
|
|
6
6
|
has_attributes %i(
|
7
|
-
|
7
|
+
account_servicer_transaction_id
|
8
8
|
administration_id
|
9
9
|
amount
|
10
|
+
amount_open
|
11
|
+
batch_reference
|
10
12
|
code
|
11
|
-
date
|
12
|
-
message
|
13
13
|
contra_account_name
|
14
14
|
contra_account_number
|
15
|
-
|
16
|
-
amount_open
|
17
|
-
sepa_fields
|
18
|
-
batch_reference
|
19
|
-
financial_account_id
|
15
|
+
created_at
|
20
16
|
currency
|
21
|
-
|
17
|
+
date
|
18
|
+
financial_account_id
|
22
19
|
financial_statement_id
|
23
|
-
|
24
|
-
payments
|
20
|
+
id
|
25
21
|
ledger_account_bookings
|
26
|
-
|
22
|
+
message
|
23
|
+
original_amount
|
24
|
+
payments
|
25
|
+
processed_at
|
26
|
+
sepa_fields
|
27
|
+
state
|
27
28
|
updated_at
|
29
|
+
version
|
28
30
|
)
|
29
31
|
end
|
30
32
|
end
|
@@ -9,14 +9,16 @@ module Moneybird::Service
|
|
9
9
|
@client = client
|
10
10
|
end
|
11
11
|
|
12
|
-
def resource_class
|
13
|
-
Moneybird::Resource::Administration
|
14
|
-
end
|
15
|
-
|
16
12
|
def find(id)
|
17
13
|
all.find{ |administration| administration.id.to_i == id }
|
18
14
|
end
|
19
15
|
|
16
|
+
private
|
17
|
+
|
18
|
+
def resource_class
|
19
|
+
Moneybird::Resource::Administration
|
20
|
+
end
|
21
|
+
|
20
22
|
def path
|
21
23
|
'/administrations'
|
22
24
|
end
|
@@ -6,6 +6,13 @@ module Moneybird::Service
|
|
6
6
|
include Moneybird::Traits::FindAll
|
7
7
|
include Moneybird::Traits::Save
|
8
8
|
include Moneybird::Traits::Delete
|
9
|
+
include Moneybird::Traits::Synchronization
|
10
|
+
|
11
|
+
def find_by_customer_id(customer_id)
|
12
|
+
build client.get("#{path}/customer_id/#{customer_id}")
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
9
16
|
|
10
17
|
def resource_class
|
11
18
|
Moneybird::Resource::Contact
|
@@ -14,13 +21,5 @@ module Moneybird::Service
|
|
14
21
|
def path
|
15
22
|
"#{administration_id}/contacts"
|
16
23
|
end
|
17
|
-
|
18
|
-
def find_by_customer_id(customer_id)
|
19
|
-
result = client.get("#{path}/customer_id/#{customer_id}")
|
20
|
-
|
21
|
-
if result.status.to_i == GET_SUCCESS_CODE
|
22
|
-
build(JSON.parse(result.body))
|
23
|
-
end
|
24
|
-
end
|
25
24
|
end
|
26
25
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Moneybird::Service::Document
|
2
|
+
class GeneralDocument
|
3
|
+
include Moneybird::Traits::AdministrationService
|
4
|
+
include Moneybird::Traits::Service
|
5
|
+
include Moneybird::Traits::Find
|
6
|
+
include Moneybird::Traits::FindAll
|
7
|
+
include Moneybird::Traits::Save
|
8
|
+
include Moneybird::Traits::Delete
|
9
|
+
include Moneybird::Traits::Synchronization
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def resource_class
|
14
|
+
Moneybird::Resource::Documents::GeneralDocument
|
15
|
+
end
|
16
|
+
|
17
|
+
def path
|
18
|
+
"#{administration_id}/documents/general_documents"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Moneybird::Service::Document
|
2
|
+
class GeneralJournalDocument
|
3
|
+
include Moneybird::Traits::AdministrationService
|
4
|
+
include Moneybird::Traits::Service
|
5
|
+
include Moneybird::Traits::Find
|
6
|
+
include Moneybird::Traits::FindAll
|
7
|
+
include Moneybird::Traits::Save
|
8
|
+
include Moneybird::Traits::Delete
|
9
|
+
include Moneybird::Traits::Synchronization
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def resource_class
|
14
|
+
Moneybird::Resource::Documents::GeneralJournalDocument
|
15
|
+
end
|
16
|
+
|
17
|
+
def path
|
18
|
+
"#{administration_id}/documents/general_journal_documents"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Moneybird::Service::Document
|
2
|
+
class PurchaseInvoice
|
3
|
+
include Moneybird::Traits::AdministrationService
|
4
|
+
include Moneybird::Traits::Service
|
5
|
+
include Moneybird::Traits::Find
|
6
|
+
include Moneybird::Traits::FindAll
|
7
|
+
include Moneybird::Traits::Save
|
8
|
+
include Moneybird::Traits::Delete
|
9
|
+
include Moneybird::Traits::Synchronization
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def resource_class
|
14
|
+
Moneybird::Resource::Documents::Receipt
|
15
|
+
end
|
16
|
+
|
17
|
+
def path
|
18
|
+
"#{administration_id}/documents/purchase_invoices"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Moneybird::Service::Document
|
2
|
+
class Receipt
|
3
|
+
include Moneybird::Traits::AdministrationService
|
4
|
+
include Moneybird::Traits::Service
|
5
|
+
include Moneybird::Traits::Find
|
6
|
+
include Moneybird::Traits::FindAll
|
7
|
+
include Moneybird::Traits::Save
|
8
|
+
include Moneybird::Traits::Delete
|
9
|
+
include Moneybird::Traits::Synchronization
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def resource_class
|
14
|
+
Moneybird::Resource::Documents::Receipt
|
15
|
+
end
|
16
|
+
|
17
|
+
def path
|
18
|
+
"#{administration_id}/documents/receipts"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Moneybird::Service::Document
|
2
|
+
class TypelessDocument
|
3
|
+
include Moneybird::Traits::AdministrationService
|
4
|
+
include Moneybird::Traits::Service
|
5
|
+
include Moneybird::Traits::Find
|
6
|
+
include Moneybird::Traits::FindAll
|
7
|
+
include Moneybird::Traits::Save
|
8
|
+
include Moneybird::Traits::Delete
|
9
|
+
include Moneybird::Traits::Synchronization
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def resource_class
|
14
|
+
Moneybird::Resource::Documents::TypelessDocument
|
15
|
+
end
|
16
|
+
|
17
|
+
def path
|
18
|
+
"#{administration_id}/documents/typeless_documents"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|