quaderno 1.11.2 → 1.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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +53 -1
  4. data/VERSION +1 -1
  5. data/changelog.md +3 -0
  6. data/lib/quaderno-ruby/base.rb +12 -2
  7. data/lib/quaderno-ruby/behavior/crud.rb +56 -11
  8. data/lib/quaderno-ruby/behavior/deliver.rb +10 -2
  9. data/lib/quaderno-ruby/behavior/payment.rb +23 -4
  10. data/lib/quaderno-ruby/behavior/retrieve.rb +11 -2
  11. data/lib/quaderno-ruby/collection.rb +22 -0
  12. data/lib/quaderno-ruby/helpers/authentication.rb +26 -0
  13. data/lib/quaderno-ruby.rb +4 -1
  14. data/quaderno.gemspec +16 -5
  15. data/test/fixtures/quaderno_cassettes/all_contacts.yml +11 -282
  16. data/test/fixtures/quaderno_cassettes/all_contacts_by_access_token.yml +56 -0
  17. data/test/fixtures/quaderno_cassettes/all_contacts_by_authentication_token.yml +57 -0
  18. data/test/fixtures/quaderno_cassettes/all_estimates.yml +10 -14
  19. data/test/fixtures/quaderno_cassettes/all_expenses.yml +14 -47
  20. data/test/fixtures/quaderno_cassettes/all_invoices.yml +13 -2873
  21. data/test/fixtures/quaderno_cassettes/all_items.yml +8 -8
  22. data/test/fixtures/quaderno_cassettes/all_receipts.yml +11 -14
  23. data/test/fixtures/quaderno_cassettes/all_webhooks.yml +40 -36
  24. data/test/fixtures/quaderno_cassettes/create_estimate_on_downgraded_API.yml +46 -318
  25. data/test/fixtures/quaderno_cassettes/create_expense_on_downgraded_API.yml +125 -357
  26. data/test/fixtures/quaderno_cassettes/create_invoice_on_downgraded_API.yml +45 -318
  27. data/test/fixtures/quaderno_cassettes/create_receipt_on_downgraded_API.yml +56 -53
  28. data/test/fixtures/quaderno_cassettes/deleted_contact.yml +40 -592
  29. data/test/fixtures/quaderno_cassettes/deleted_contact_by_access_token.yml +199 -0
  30. data/test/fixtures/quaderno_cassettes/deleted_contact_by_authentication_token.yml +199 -0
  31. data/test/fixtures/quaderno_cassettes/deleted_estimate.yml +40 -334
  32. data/test/fixtures/quaderno_cassettes/deleted_expense.yml +43 -364
  33. data/test/fixtures/quaderno_cassettes/deleted_invoice.yml +44 -3199
  34. data/test/fixtures/quaderno_cassettes/deleted_item.yml +22 -22
  35. data/test/fixtures/quaderno_cassettes/deleted_receipt.yml +43 -42
  36. data/test/fixtures/quaderno_cassettes/deleted_webhook.yml +48 -44
  37. data/test/fixtures/quaderno_cassettes/delivered_estimate.yml +25 -32
  38. data/test/fixtures/quaderno_cassettes/delivered_invoice.yml +29 -2888
  39. data/test/fixtures/quaderno_cassettes/delivered_receipt.yml +29 -29
  40. data/test/fixtures/quaderno_cassettes/evidence_invoice.yml +19 -354
  41. data/test/fixtures/quaderno_cassettes/found_contact.yml +19 -291
  42. data/test/fixtures/quaderno_cassettes/found_contact_by_access_token.yml +99 -0
  43. data/test/fixtures/quaderno_cassettes/found_contact_by_authentication_token.yml +100 -0
  44. data/test/fixtures/quaderno_cassettes/found_estimate.yml +20 -24
  45. data/test/fixtures/quaderno_cassettes/found_expense.yml +24 -94
  46. data/test/fixtures/quaderno_cassettes/found_invoice.yml +22 -2886
  47. data/test/fixtures/quaderno_cassettes/found_item.yml +18 -16
  48. data/test/fixtures/quaderno_cassettes/found_receipt.yml +21 -24
  49. data/test/fixtures/quaderno_cassettes/found_webhook.yml +24 -22
  50. data/test/fixtures/quaderno_cassettes/new_contact.yml +9 -7
  51. data/test/fixtures/quaderno_cassettes/new_contact_by_access_token.yml +48 -0
  52. data/test/fixtures/quaderno_cassettes/new_contact_by_authentication_token.yml +48 -0
  53. data/test/fixtures/quaderno_cassettes/new_estimate.yml +29 -320
  54. data/test/fixtures/quaderno_cassettes/new_evidence.yml +10 -8
  55. data/test/fixtures/quaderno_cassettes/new_expense.yml +42 -363
  56. data/test/fixtures/quaderno_cassettes/new_invoice.yml +29 -324
  57. data/test/fixtures/quaderno_cassettes/new_item.yml +10 -8
  58. data/test/fixtures/quaderno_cassettes/new_receipt.yml +28 -24
  59. data/test/fixtures/quaderno_cassettes/new_webhook.yml +16 -14
  60. data/test/fixtures/quaderno_cassettes/paid_expense.yml +22 -52
  61. data/test/fixtures/quaderno_cassettes/paid_invoice.yml +22 -2879
  62. data/test/fixtures/quaderno_cassettes/rate_limit.yml +5 -5
  63. data/test/fixtures/quaderno_cassettes/unpay_an_expense.yml +29 -61
  64. data/test/fixtures/quaderno_cassettes/unpay_an_invoice.yml +28 -2888
  65. data/test/fixtures/quaderno_cassettes/updated_contact.yml +22 -292
  66. data/test/fixtures/quaderno_cassettes/updated_contact_by_access_token.yml +101 -0
  67. data/test/fixtures/quaderno_cassettes/updated_contact_by_authentication_token.yml +102 -0
  68. data/test/fixtures/quaderno_cassettes/updated_estimate.yml +44 -353
  69. data/test/fixtures/quaderno_cassettes/updated_expense.yml +43 -346
  70. data/test/fixtures/quaderno_cassettes/updated_invoice.yml +43 -361
  71. data/test/fixtures/quaderno_cassettes/updated_item.yml +21 -17
  72. data/test/fixtures/quaderno_cassettes/updated_receipt.yml +47 -41
  73. data/test/fixtures/quaderno_cassettes/updated_webhook.yml +35 -31
  74. data/test/helper.rb +2 -1
  75. data/test/unit/test_quaderno_contacts.rb +1 -1
  76. data/test/unit/test_quaderno_contacts_thread_safe.rb +104 -0
  77. data/test/unit/test_quaderno_expenses.rb +5 -5
  78. metadata +15 -4
  79. data/test/fixtures/quaderno_cassettes/calculate_tax.yml +0 -85
  80. data/test/fixtures/quaderno_cassettes/wrong_token.yml +0 -36
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quaderno
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.2
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recrea
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-14 00:00:00.000000000 Z
11
+ date: 2017-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -74,6 +74,7 @@ files:
74
74
  - lib/quaderno-ruby/behavior/deliver.rb
75
75
  - lib/quaderno-ruby/behavior/payment.rb
76
76
  - lib/quaderno-ruby/behavior/retrieve.rb
77
+ - lib/quaderno-ruby/collection.rb
77
78
  - lib/quaderno-ruby/contact.rb
78
79
  - lib/quaderno-ruby/credit.rb
79
80
  - lib/quaderno-ruby/document_item.rb
@@ -81,6 +82,7 @@ files:
81
82
  - lib/quaderno-ruby/evidence.rb
82
83
  - lib/quaderno-ruby/exceptions/exceptions.rb
83
84
  - lib/quaderno-ruby/expense.rb
85
+ - lib/quaderno-ruby/helpers/authentication.rb
84
86
  - lib/quaderno-ruby/invoice.rb
85
87
  - lib/quaderno-ruby/item.rb
86
88
  - lib/quaderno-ruby/payment.rb
@@ -91,18 +93,21 @@ files:
91
93
  - quaderno.gemspec
92
94
  - test/fixtures/quaderno_cassettes/.DS_Store
93
95
  - test/fixtures/quaderno_cassettes/all_contacts.yml
96
+ - test/fixtures/quaderno_cassettes/all_contacts_by_access_token.yml
97
+ - test/fixtures/quaderno_cassettes/all_contacts_by_authentication_token.yml
94
98
  - test/fixtures/quaderno_cassettes/all_estimates.yml
95
99
  - test/fixtures/quaderno_cassettes/all_expenses.yml
96
100
  - test/fixtures/quaderno_cassettes/all_invoices.yml
97
101
  - test/fixtures/quaderno_cassettes/all_items.yml
98
102
  - test/fixtures/quaderno_cassettes/all_receipts.yml
99
103
  - test/fixtures/quaderno_cassettes/all_webhooks.yml
100
- - test/fixtures/quaderno_cassettes/calculate_tax.yml
101
104
  - test/fixtures/quaderno_cassettes/create_estimate_on_downgraded_API.yml
102
105
  - test/fixtures/quaderno_cassettes/create_expense_on_downgraded_API.yml
103
106
  - test/fixtures/quaderno_cassettes/create_invoice_on_downgraded_API.yml
104
107
  - test/fixtures/quaderno_cassettes/create_receipt_on_downgraded_API.yml
105
108
  - test/fixtures/quaderno_cassettes/deleted_contact.yml
109
+ - test/fixtures/quaderno_cassettes/deleted_contact_by_access_token.yml
110
+ - test/fixtures/quaderno_cassettes/deleted_contact_by_authentication_token.yml
106
111
  - test/fixtures/quaderno_cassettes/deleted_estimate.yml
107
112
  - test/fixtures/quaderno_cassettes/deleted_expense.yml
108
113
  - test/fixtures/quaderno_cassettes/deleted_invoice.yml
@@ -114,6 +119,8 @@ files:
114
119
  - test/fixtures/quaderno_cassettes/delivered_receipt.yml
115
120
  - test/fixtures/quaderno_cassettes/evidence_invoice.yml
116
121
  - test/fixtures/quaderno_cassettes/found_contact.yml
122
+ - test/fixtures/quaderno_cassettes/found_contact_by_access_token.yml
123
+ - test/fixtures/quaderno_cassettes/found_contact_by_authentication_token.yml
117
124
  - test/fixtures/quaderno_cassettes/found_estimate.yml
118
125
  - test/fixtures/quaderno_cassettes/found_expense.yml
119
126
  - test/fixtures/quaderno_cassettes/found_invoice.yml
@@ -121,6 +128,8 @@ files:
121
128
  - test/fixtures/quaderno_cassettes/found_receipt.yml
122
129
  - test/fixtures/quaderno_cassettes/found_webhook.yml
123
130
  - test/fixtures/quaderno_cassettes/new_contact.yml
131
+ - test/fixtures/quaderno_cassettes/new_contact_by_access_token.yml
132
+ - test/fixtures/quaderno_cassettes/new_contact_by_authentication_token.yml
124
133
  - test/fixtures/quaderno_cassettes/new_estimate.yml
125
134
  - test/fixtures/quaderno_cassettes/new_evidence.yml
126
135
  - test/fixtures/quaderno_cassettes/new_expense.yml
@@ -134,6 +143,8 @@ files:
134
143
  - test/fixtures/quaderno_cassettes/unpay_an_expense.yml
135
144
  - test/fixtures/quaderno_cassettes/unpay_an_invoice.yml
136
145
  - test/fixtures/quaderno_cassettes/updated_contact.yml
146
+ - test/fixtures/quaderno_cassettes/updated_contact_by_access_token.yml
147
+ - test/fixtures/quaderno_cassettes/updated_contact_by_authentication_token.yml
137
148
  - test/fixtures/quaderno_cassettes/updated_estimate.yml
138
149
  - test/fixtures/quaderno_cassettes/updated_expense.yml
139
150
  - test/fixtures/quaderno_cassettes/updated_invoice.yml
@@ -142,9 +153,9 @@ files:
142
153
  - test/fixtures/quaderno_cassettes/updated_webhook.yml
143
154
  - test/fixtures/quaderno_cassettes/validate_invalid_VAT_number.yml
144
155
  - test/fixtures/quaderno_cassettes/validate_valid_VAT_number.yml
145
- - test/fixtures/quaderno_cassettes/wrong_token.yml
146
156
  - test/helper.rb
147
157
  - test/unit/test_quaderno_contacts.rb
158
+ - test/unit/test_quaderno_contacts_thread_safe.rb
148
159
  - test/unit/test_quaderno_estimates.rb
149
160
  - test/unit/test_quaderno_evidences.rb
150
161
  - test/unit/test_quaderno_expenses.rb
@@ -1,85 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/taxes/calculate.json?country=ES&postal_code=08080
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- authorization:
11
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
12
- response:
13
- status:
14
- code: 200
15
- message: OK
16
- headers:
17
- x-frame-options:
18
- - ALLOWALL
19
- x-ratelimit-limit:
20
- - '2000'
21
- x-ratelimit-reset:
22
- - '1'
23
- x-ratelimit-remaining:
24
- - '88'
25
- content-type:
26
- - application/json; charset=utf-8
27
- etag:
28
- - '"f296f1067b6655473bbfc04913d2a531"'
29
- cache-control:
30
- - max-age=0, private, must-revalidate
31
- x-request-id:
32
- - ead16521-21c7-4972-a9a6-971887664731
33
- x-runtime:
34
- - '0.224638'
35
- connection:
36
- - close
37
- server:
38
- - thin
39
- body:
40
- encoding: UTF-8
41
- string: '{"name":"IVA","rate":21.0,"country":"ES","notes":null}'
42
- http_version: '1.1'
43
- recorded_at: Thu, 23 Jun 2016 11:28:23 GMT
44
- - request:
45
- method: get
46
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/taxes/calculate.json?country=ES&postal_code=35007
47
- body:
48
- encoding: US-ASCII
49
- string: ''
50
- headers:
51
- authorization:
52
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
53
- response:
54
- status:
55
- code: 200
56
- message: OK
57
- headers:
58
- x-frame-options:
59
- - ALLOWALL
60
- x-ratelimit-limit:
61
- - '2000'
62
- x-ratelimit-reset:
63
- - '1'
64
- x-ratelimit-remaining:
65
- - '87'
66
- content-type:
67
- - application/json; charset=utf-8
68
- etag:
69
- - '"efcc87b7e1c672ccb82f88969f3ee97a"'
70
- cache-control:
71
- - max-age=0, private, must-revalidate
72
- x-request-id:
73
- - 5e3cfdff-e027-4fb5-942e-6d1e1144d4ff
74
- x-runtime:
75
- - '0.210198'
76
- connection:
77
- - close
78
- server:
79
- - thin
80
- body:
81
- encoding: UTF-8
82
- string: '{"name":"IVA","rate":0.0,"country":"ES","notes":null}'
83
- http_version: '1.1'
84
- recorded_at: Thu, 23 Jun 2016 11:28:23 GMT
85
- recorded_with: VCR 2.9.2
@@ -1,36 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://7h15154f4k370k3n@development.lvh.me:3000/api/taxes/calculate.json?country=ES&postal_code=08080
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- authorization:
11
- - Basic N2gxNTE1NGY0azM3MGszbjo=
12
- response:
13
- status:
14
- code: 401
15
- message: Unauthorized
16
- headers:
17
- x-frame-options:
18
- - ALLOWALL
19
- content-type:
20
- - application/json; charset=utf-8
21
- cache-control:
22
- - no-cache
23
- x-request-id:
24
- - 97610b4b-4ca4-4c71-84db-ce9eb7daf230
25
- x-runtime:
26
- - '0.058704'
27
- connection:
28
- - close
29
- server:
30
- - thin
31
- body:
32
- encoding: UTF-8
33
- string: '{"error":"Wrong API key or the user does not exist."}'
34
- http_version: '1.1'
35
- recorded_at: Thu, 23 Jun 2016 11:28:24 GMT
36
- recorded_with: VCR 2.9.2