quaderno 1.13.2 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +56 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +2 -15
  6. data/README.md +120 -42
  7. data/Rakefile +4 -50
  8. data/changelog.md +67 -41
  9. data/lib/quaderno-ruby.rb +5 -5
  10. data/lib/quaderno-ruby/base.rb +112 -107
  11. data/lib/quaderno-ruby/behavior/block.rb +20 -19
  12. data/lib/quaderno-ruby/behavior/crud.rb +108 -95
  13. data/lib/quaderno-ruby/behavior/deliver.rb +20 -18
  14. data/lib/quaderno-ruby/behavior/payment.rb +38 -34
  15. data/lib/quaderno-ruby/behavior/retrieve.rb +26 -25
  16. data/lib/quaderno-ruby/checkout_session.rb +4 -0
  17. data/lib/quaderno-ruby/collection.rb +1 -0
  18. data/lib/quaderno-ruby/contact.rb +6 -8
  19. data/lib/quaderno-ruby/credit.rb +10 -12
  20. data/lib/quaderno-ruby/document_item.rb +1 -3
  21. data/lib/quaderno-ruby/estimate.rb +5 -7
  22. data/lib/quaderno-ruby/evidence.rb +5 -7
  23. data/lib/quaderno-ruby/exceptions/exceptions.rb +50 -44
  24. data/lib/quaderno-ruby/expense.rb +6 -8
  25. data/lib/quaderno-ruby/helpers/authentication.rb +16 -18
  26. data/lib/quaderno-ruby/helpers/rate_limit.rb +12 -0
  27. data/lib/quaderno-ruby/income.rb +8 -10
  28. data/lib/quaderno-ruby/invoice.rb +9 -11
  29. data/lib/quaderno-ruby/item.rb +3 -6
  30. data/lib/quaderno-ruby/payment.rb +2 -3
  31. data/lib/quaderno-ruby/receipt.rb +6 -8
  32. data/lib/quaderno-ruby/recurring.rb +4 -7
  33. data/lib/quaderno-ruby/report.rb +67 -29
  34. data/lib/quaderno-ruby/tax.rb +51 -46
  35. data/lib/quaderno-ruby/version.rb +3 -0
  36. data/lib/quaderno-ruby/webhook.rb +3 -5
  37. data/quaderno.gemspec +28 -148
  38. metadata +92 -92
  39. data/Gemfile.lock +0 -91
  40. data/VERSION +0 -1
  41. data/test/fixtures/quaderno_cassettes/.DS_Store +0 -0
  42. data/test/fixtures/quaderno_cassettes/all_contacts.yml +0 -52
  43. data/test/fixtures/quaderno_cassettes/all_contacts_by_access_token.yml +0 -56
  44. data/test/fixtures/quaderno_cassettes/all_contacts_by_authentication_token.yml +0 -57
  45. data/test/fixtures/quaderno_cassettes/all_estimates.yml +0 -52
  46. data/test/fixtures/quaderno_cassettes/all_expenses.yml +0 -55
  47. data/test/fixtures/quaderno_cassettes/all_invoices.yml +0 -56
  48. data/test/fixtures/quaderno_cassettes/all_items.yml +0 -46
  49. data/test/fixtures/quaderno_cassettes/all_receipts.yml +0 -53
  50. data/test/fixtures/quaderno_cassettes/all_webhooks.yml +0 -214
  51. data/test/fixtures/quaderno_cassettes/create_estimate_on_downgraded_API.yml +0 -156
  52. data/test/fixtures/quaderno_cassettes/create_expense_on_downgraded_API.yml +0 -278
  53. data/test/fixtures/quaderno_cassettes/create_invoice_on_downgraded_API.yml +0 -159
  54. data/test/fixtures/quaderno_cassettes/create_receipt_on_downgraded_API.yml +0 -196
  55. data/test/fixtures/quaderno_cassettes/deleted_contact.yml +0 -187
  56. data/test/fixtures/quaderno_cassettes/deleted_contact_by_access_token.yml +0 -199
  57. data/test/fixtures/quaderno_cassettes/deleted_contact_by_authentication_token.yml +0 -199
  58. data/test/fixtures/quaderno_cassettes/deleted_estimate.yml +0 -187
  59. data/test/fixtures/quaderno_cassettes/deleted_expense.yml +0 -189
  60. data/test/fixtures/quaderno_cassettes/deleted_invoice.yml +0 -190
  61. data/test/fixtures/quaderno_cassettes/deleted_item.yml +0 -128
  62. data/test/fixtures/quaderno_cassettes/deleted_receipt.yml +0 -223
  63. data/test/fixtures/quaderno_cassettes/deleted_webhook.yml +0 -257
  64. data/test/fixtures/quaderno_cassettes/delivered_estimate.yml +0 -136
  65. data/test/fixtures/quaderno_cassettes/delivered_invoice.yml +0 -143
  66. data/test/fixtures/quaderno_cassettes/delivered_receipt.yml +0 -140
  67. data/test/fixtures/quaderno_cassettes/evidence_invoice.yml +0 -98
  68. data/test/fixtures/quaderno_cassettes/found_contact.yml +0 -95
  69. data/test/fixtures/quaderno_cassettes/found_contact_by_access_token.yml +0 -99
  70. data/test/fixtures/quaderno_cassettes/found_contact_by_authentication_token.yml +0 -100
  71. data/test/fixtures/quaderno_cassettes/found_estimate.yml +0 -97
  72. data/test/fixtures/quaderno_cassettes/found_expense.yml +0 -99
  73. data/test/fixtures/quaderno_cassettes/found_invoice.yml +0 -100
  74. data/test/fixtures/quaderno_cassettes/found_item.yml +0 -91
  75. data/test/fixtures/quaderno_cassettes/found_receipt.yml +0 -98
  76. data/test/fixtures/quaderno_cassettes/found_webhook.yml +0 -130
  77. data/test/fixtures/quaderno_cassettes/new_contact.yml +0 -48
  78. data/test/fixtures/quaderno_cassettes/new_contact_by_access_token.yml +0 -48
  79. data/test/fixtures/quaderno_cassettes/new_contact_by_authentication_token.yml +0 -48
  80. data/test/fixtures/quaderno_cassettes/new_estimate.yml +0 -137
  81. data/test/fixtures/quaderno_cassettes/new_evidence.yml +0 -48
  82. data/test/fixtures/quaderno_cassettes/new_expense.yml +0 -189
  83. data/test/fixtures/quaderno_cassettes/new_invoice.yml +0 -137
  84. data/test/fixtures/quaderno_cassettes/new_item.yml +0 -48
  85. data/test/fixtures/quaderno_cassettes/new_receipt.yml +0 -173
  86. data/test/fixtures/quaderno_cassettes/new_webhook.yml +0 -87
  87. data/test/fixtures/quaderno_cassettes/paid_expense.yml +0 -98
  88. data/test/fixtures/quaderno_cassettes/paid_invoice.yml +0 -99
  89. data/test/fixtures/quaderno_cassettes/rate_limit.yml +0 -46
  90. data/test/fixtures/quaderno_cassettes/unpay_an_expense.yml +0 -138
  91. data/test/fixtures/quaderno_cassettes/unpay_an_invoice.yml +0 -138
  92. data/test/fixtures/quaderno_cassettes/updated_contact.yml +0 -97
  93. data/test/fixtures/quaderno_cassettes/updated_contact_by_access_token.yml +0 -101
  94. data/test/fixtures/quaderno_cassettes/updated_contact_by_authentication_token.yml +0 -102
  95. data/test/fixtures/quaderno_cassettes/updated_estimate.yml +0 -185
  96. data/test/fixtures/quaderno_cassettes/updated_expense.yml +0 -184
  97. data/test/fixtures/quaderno_cassettes/updated_invoice.yml +0 -184
  98. data/test/fixtures/quaderno_cassettes/updated_item.yml +0 -93
  99. data/test/fixtures/quaderno_cassettes/updated_receipt.yml +0 -220
  100. data/test/fixtures/quaderno_cassettes/updated_webhook.yml +0 -175
  101. data/test/fixtures/quaderno_cassettes/validate_invalid_VAT_number.yml +0 -44
  102. data/test/fixtures/quaderno_cassettes/validate_valid_VAT_number.yml +0 -44
  103. data/test/helper.rb +0 -32
  104. data/test/unit/test_quaderno_contacts.rb +0 -83
  105. data/test/unit/test_quaderno_contacts_thread_safe.rb +0 -104
  106. data/test/unit/test_quaderno_estimates.rb +0 -155
  107. data/test/unit/test_quaderno_evidences.rb +0 -41
  108. data/test/unit/test_quaderno_expenses.rb +0 -162
  109. data/test/unit/test_quaderno_invoices.rb +0 -177
  110. data/test/unit/test_quaderno_items.rb +0 -84
  111. data/test/unit/test_quaderno_receipts.rb +0 -156
  112. data/test/unit/test_quaderno_tax.rb +0 -46
  113. data/test/unit/test_quaderno_webhooks.rb +0 -93
@@ -1,189 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/contacts.json?
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- accept:
11
- - application/json
12
- authorization:
13
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- x-frame-options:
20
- - ALLOWALL
21
- x-ratelimit-limit:
22
- - '2000'
23
- x-ratelimit-reset:
24
- - '1'
25
- x-ratelimit-remaining:
26
- - '94'
27
- x-pages-currentpage:
28
- - '1'
29
- x-pages-totalpages:
30
- - '1'
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - '"9f61db3c521dbbd6fa0aec27f6813410"'
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 53a9ce47-0b32-4fc7-b50d-d420299f6649
39
- x-runtime:
40
- - '1.089348'
41
- connection:
42
- - close
43
- server:
44
- - thin
45
- body:
46
- encoding: UTF-8
47
- string: '[{"id":44,"kind":"company","created_at":1496660076,"full_name":"Albus
48
- Dumbledoge","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"BE","phone_1":null,"phone_2":null,"fax":null,"email":"john@recrea.es","web":null,"discount":null,"tax_id":null,"vat_number":null,"language":"DE","notes":null,"processor_id":"cst_yBHtjcSFhR","secure_id":"51ed8dd564d46a3e8f6550686dea84750c5d4b80","permalink":"http://development.lvh.me:3000/billing/51ed8dd564d46a3e8f6550686dea84750c5d4b80","url":"http://development.lvh.me:3000/api/contacts/44"},{"id":42,"kind":"person","created_at":1495535760,"first_name":"Cidi","last_name":"Campidocti","full_name":"Cidi
49
- Campidocti","street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":null,"web":null,"discount":null,"tax_id":"","vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"7e17fe690137a91f7d1b8c1602fb7667ab981b00","permalink":"http://development.lvh.me:3000/billing/7e17fe690137a91f7d1b8c1602fb7667ab981b00","url":"http://development.lvh.me:3000/api/contacts/42"},{"id":43,"kind":"company","created_at":1496653655,"full_name":"Test_OCP","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":"dont@stop.believing","web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"processor_id":"tr_VpKBExBQxU","secure_id":"240d872343b09c0e4f095cfd6484c6eabc74c6eb","permalink":"http://development.lvh.me:3000/billing/240d872343b09c0e4f095cfd6484c6eabc74c6eb","url":"http://development.lvh.me:3000/api/contacts/43"},{"id":45,"kind":"company","created_at":1497013162,"full_name":"Test_Skynet","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":"my_little@po.ny","web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"0c102e324af99ba80911b5040f8c3ac253c76890","permalink":"http://development.lvh.me:3000/billing/0c102e324af99ba80911b5040f8c3ac253c76890","url":"http://development.lvh.me:3000/api/contacts/45"},{"id":47,"kind":"company","created_at":1497013255,"full_name":"Test_Skynet","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":"my_little@po.ny","web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"e09d2dd3b8781a417a0ee1b43bdb5499a8e925a7","permalink":"http://development.lvh.me:3000/billing/e09d2dd3b8781a417a0ee1b43bdb5499a8e925a7","url":"http://development.lvh.me:3000/api/contacts/47"}]'
50
- http_version: '1.1'
51
- recorded_at: Mon, 12 Jun 2017 11:38:16 GMT
52
- - request:
53
- method: post
54
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses.json
55
- body:
56
- encoding: UTF-8
57
- string: '{"contact_id":44,"contact_name":"Albus Dumbledoge","currency":"EUR","items_attributes":[{"description":"Aircraft","quantity":"1.0","unit_price":"0.0"}],"tags":"tnt","payment_details":"","notes":""}'
58
- headers:
59
- accept:
60
- - application/json
61
- content-type:
62
- - application/json
63
- authorization:
64
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
65
- response:
66
- status:
67
- code: 201
68
- message: Created
69
- headers:
70
- x-frame-options:
71
- - ALLOWALL
72
- x-ratelimit-limit:
73
- - '2000'
74
- x-ratelimit-reset:
75
- - '0'
76
- x-ratelimit-remaining:
77
- - '93'
78
- content-type:
79
- - application/json; charset=utf-8
80
- etag:
81
- - '"950abc714029cdae9b2cb4b0ef4db8c3"'
82
- cache-control:
83
- - max-age=0, private, must-revalidate
84
- x-request-id:
85
- - 8be23e48-baa0-4c9d-863b-fdc42b6c0414
86
- x-runtime:
87
- - '3.862263'
88
- connection:
89
- - close
90
- server:
91
- - thin
92
- body:
93
- encoding: UTF-8
94
- string: '{"id":189,"blocked":false,"issue_date":"2017-06-12","created_at":1497267497,"contact":{"id":44,"full_name":"Albus
95
- Dumbledoge"},"country":"BE","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"currency":"EUR","subject":null,"items":[{"id":190,"description":"Aircraft","quantity":"1.0","unit_price_cents":"0.0","discount_rate":"0.0","tax_1_name":null,"tax_1_rate":null,"tax_2_name":null,"tax_2_rate":null,"reference":null,"subtotal_cents":"0.0","discount_cents":"0.0","gross_amount_cents":"0.0"}],"subtotal_cents":"0.0","discount_cents":"0.0","taxes":[],"extract":{"total_cents":0},"payments":[],"notes":null,"state":"outstanding","tag_list":[],"url":"http://development.lvh.me:3000/api/expenses/189.json","custom_metadata":{}}'
96
- http_version: '1.1'
97
- recorded_at: Mon, 12 Jun 2017 11:38:20 GMT
98
- - request:
99
- method: delete
100
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses/189.json
101
- body:
102
- encoding: US-ASCII
103
- string: ''
104
- headers:
105
- accept:
106
- - application/json
107
- authorization:
108
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
109
- response:
110
- status:
111
- code: 204
112
- message: No Content
113
- headers:
114
- x-frame-options:
115
- - ALLOWALL
116
- x-ratelimit-limit:
117
- - '2000'
118
- x-ratelimit-reset:
119
- - '15'
120
- x-ratelimit-remaining:
121
- - '100'
122
- cache-control:
123
- - no-cache
124
- x-request-id:
125
- - 76aa60b4-285c-499a-89f1-0aa4b28c0aae
126
- x-runtime:
127
- - '2.204985'
128
- connection:
129
- - close
130
- server:
131
- - thin
132
- body:
133
- encoding: US-ASCII
134
- string: ''
135
- http_version: '1.1'
136
- recorded_at: Mon, 12 Jun 2017 11:38:22 GMT
137
- - request:
138
- method: get
139
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses.json?
140
- body:
141
- encoding: US-ASCII
142
- string: ''
143
- headers:
144
- accept:
145
- - application/json
146
- authorization:
147
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
148
- response:
149
- status:
150
- code: 200
151
- message: OK
152
- headers:
153
- x-frame-options:
154
- - ALLOWALL
155
- x-ratelimit-limit:
156
- - '2000'
157
- x-ratelimit-reset:
158
- - '15'
159
- x-ratelimit-remaining:
160
- - '99'
161
- x-pages-currentpage:
162
- - '1'
163
- x-pages-totalpages:
164
- - '1'
165
- content-type:
166
- - application/json; charset=utf-8
167
- etag:
168
- - '"1096b389a8934c3608b59ed5c52ff5c1"'
169
- cache-control:
170
- - max-age=0, private, must-revalidate
171
- x-request-id:
172
- - 9f5b3587-5b5b-45b3-b777-991d77f874b3
173
- x-runtime:
174
- - '3.321785'
175
- connection:
176
- - close
177
- server:
178
- - thin
179
- body:
180
- encoding: UTF-8
181
- string: '[{"id":184,"blocked":false,"issue_date":"2017-06-12","created_at":1497266330,"contact":{"id":44,"full_name":"Albus
182
- Dumbledoge"},"country":"BE","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"currency":"EUR","subject":null,"items":[{"id":185,"description":"Aircraft","quantity":"1.0","unit_price_cents":"0.0","discount_rate":"0.0","tax_1_name":null,"tax_1_rate":null,"tax_2_name":null,"tax_2_rate":null,"reference":null,"subtotal_cents":"0.0","discount_cents":"0.0","gross_amount_cents":"0.0"}],"subtotal_cents":"0.0","discount_cents":"0.0","taxes":[],"extract":{"total_cents":0},"payments":[{"id":40,"date":"2017-06-12","payment_method":"cash","amount_cents":1000000,"url":"http://development.lvh.me:3000/api/expenses/184/payments/40.json"},{"id":41,"date":"2017-06-12","payment_method":"cash","amount_cents":1000000,"url":"http://development.lvh.me:3000/api/expenses/184/payments/41.json"},{"id":42,"date":"2017-06-12","payment_method":"cash","amount_cents":1000000,"url":"http://development.lvh.me:3000/api/expenses/184/payments/42.json"}],"notes":null,"state":"paid","tag_list":[],"url":"http://development.lvh.me:3000/api/expenses/184.json","custom_metadata":{}},{"id":137,"blocked":true,"issue_date":"2017-05-29","created_at":1496060112,"contact":{"id":42,"full_name":"Cidi
183
- Campidocti"},"country":"ES","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"currency":"EUR","subject":null,"items":[{"id":138,"description":"asdasd","quantity":"1.0","unit_price_cents":"0.0","discount_rate":"0.0","tax_1_name":"","tax_1_rate":null,"tax_2_name":"","tax_2_rate":null,"reference":"","subtotal_cents":"0.0","discount_cents":"0.0","gross_amount_cents":"0.0"}],"subtotal_cents":"0.0","discount_cents":"0.0","taxes":[],"extract":{"total_cents":0},"payments":[],"notes":null,"state":"paid","tag_list":["dundundugan","rap"],"url":"http://development.lvh.me:3000/api/expenses/137.json","custom_metadata":{}},{"id":135,"blocked":false,"issue_date":"2017-05-26","created_at":1495789529,"contact":{"id":42,"full_name":"Cidi
184
- Campidocti"},"country":"ES","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"currency":"EUR","subject":null,"items":[{"id":136,"description":"Dreamhack
185
- valencia","quantity":"1.0","unit_price_cents":"23000.0","discount_rate":"0.0","tax_1_name":"","tax_1_rate":null,"tax_2_name":"","tax_2_rate":null,"reference":"","subtotal_cents":"23000.0","discount_cents":"0.0","gross_amount_cents":"23000.0"}],"subtotal_cents":"23000.0","discount_cents":"0.0","taxes":[],"extract":{"total_cents":23000},"payments":[{"id":7,"date":"2017-05-31","payment_method":"credit_card","amount_cents":23000,"url":"http://development.lvh.me:3000/api/expenses/135/payments/7.json"}],"notes":null,"state":"paid","tag_list":["balls"],"url":"http://development.lvh.me:3000/api/expenses/135.json","custom_metadata":{}},{"id":134,"blocked":false,"issue_date":"2017-05-26","created_at":1495789490,"contact":{"id":42,"full_name":"Cidi
186
- Campidocti"},"country":"ES","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"currency":"EUR","subject":null,"items":[{"id":135,"description":"Something","quantity":"1.0","unit_price_cents":"1000.0","discount_rate":"0.0","tax_1_name":"","tax_1_rate":null,"tax_2_name":"","tax_2_rate":null,"reference":"","subtotal_cents":"1000.0","discount_cents":"0.0","gross_amount_cents":"1000.0"}],"subtotal_cents":"1000.0","discount_cents":"0.0","taxes":[],"extract":{"total_cents":1000},"payments":[{"id":4,"date":"2017-05-31","payment_method":"credit_card","amount_cents":1000,"url":"http://development.lvh.me:3000/api/expenses/134/payments/4.json"}],"notes":null,"state":"paid","tag_list":["rap","god"],"url":"http://development.lvh.me:3000/api/expenses/134.json","custom_metadata":{}}]'
187
- http_version: '1.1'
188
- recorded_at: Mon, 12 Jun 2017 11:38:25 GMT
189
- recorded_with: VCR 2.9.2
@@ -1,190 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/contacts.json?
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- accept:
11
- - application/json
12
- authorization:
13
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- x-frame-options:
20
- - ALLOWALL
21
- x-ratelimit-limit:
22
- - '2000'
23
- x-ratelimit-reset:
24
- - '5'
25
- x-ratelimit-remaining:
26
- - '95'
27
- x-pages-currentpage:
28
- - '1'
29
- x-pages-totalpages:
30
- - '1'
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - '"9f61db3c521dbbd6fa0aec27f6813410"'
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 2402eba1-9697-4581-9d66-5dc7fd441502
39
- x-runtime:
40
- - '1.062896'
41
- connection:
42
- - close
43
- server:
44
- - thin
45
- body:
46
- encoding: UTF-8
47
- string: '[{"id":44,"kind":"company","created_at":1496660076,"full_name":"Albus
48
- Dumbledoge","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"BE","phone_1":null,"phone_2":null,"fax":null,"email":"john@recrea.es","web":null,"discount":null,"tax_id":null,"vat_number":null,"language":"DE","notes":null,"processor_id":"cst_yBHtjcSFhR","secure_id":"51ed8dd564d46a3e8f6550686dea84750c5d4b80","permalink":"http://development.lvh.me:3000/billing/51ed8dd564d46a3e8f6550686dea84750c5d4b80","url":"http://development.lvh.me:3000/api/contacts/44"},{"id":42,"kind":"person","created_at":1495535760,"first_name":"Cidi","last_name":"Campidocti","full_name":"Cidi
49
- Campidocti","street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":null,"web":null,"discount":null,"tax_id":"","vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"7e17fe690137a91f7d1b8c1602fb7667ab981b00","permalink":"http://development.lvh.me:3000/billing/7e17fe690137a91f7d1b8c1602fb7667ab981b00","url":"http://development.lvh.me:3000/api/contacts/42"},{"id":43,"kind":"company","created_at":1496653655,"full_name":"Test_OCP","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":"dont@stop.believing","web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"processor_id":"tr_VpKBExBQxU","secure_id":"240d872343b09c0e4f095cfd6484c6eabc74c6eb","permalink":"http://development.lvh.me:3000/billing/240d872343b09c0e4f095cfd6484c6eabc74c6eb","url":"http://development.lvh.me:3000/api/contacts/43"},{"id":45,"kind":"company","created_at":1497013162,"full_name":"Test_Skynet","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":"my_little@po.ny","web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"0c102e324af99ba80911b5040f8c3ac253c76890","permalink":"http://development.lvh.me:3000/billing/0c102e324af99ba80911b5040f8c3ac253c76890","url":"http://development.lvh.me:3000/api/contacts/45"},{"id":47,"kind":"company","created_at":1497013255,"full_name":"Test_Skynet","contact_name":null,"street_line_1":null,"street_line_2":null,"postal_code":null,"city":null,"region":null,"country":"ES","phone_1":null,"phone_2":null,"fax":null,"email":"my_little@po.ny","web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"e09d2dd3b8781a417a0ee1b43bdb5499a8e925a7","permalink":"http://development.lvh.me:3000/billing/e09d2dd3b8781a417a0ee1b43bdb5499a8e925a7","url":"http://development.lvh.me:3000/api/contacts/47"}]'
50
- http_version: '1.1'
51
- recorded_at: Mon, 12 Jun 2017 11:44:19 GMT
52
- - request:
53
- method: post
54
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/invoices.json
55
- body:
56
- encoding: UTF-8
57
- string: '{"contact_id":44,"contact_name":"Albus Dumbledoge","currency":"EUR","items_attributes":[{"description":"Aircraft","quantity":"1.0","unit_price":"0.0"}],"tags":"tnt","payment_details":"","notes":""}'
58
- headers:
59
- accept:
60
- - application/json
61
- content-type:
62
- - application/json
63
- authorization:
64
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
65
- response:
66
- status:
67
- code: 201
68
- message: Created
69
- headers:
70
- x-frame-options:
71
- - ALLOWALL
72
- x-ratelimit-limit:
73
- - '2000'
74
- x-ratelimit-reset:
75
- - '4'
76
- x-ratelimit-remaining:
77
- - '94'
78
- content-type:
79
- - application/json; charset=utf-8
80
- etag:
81
- - '"0109060fb4cfe72d8e2fb9ae1c50a7a0"'
82
- cache-control:
83
- - max-age=0, private, must-revalidate
84
- x-request-id:
85
- - 500064c3-abd3-4a25-af69-3e0d030f7261
86
- x-runtime:
87
- - '4.699887'
88
- connection:
89
- - close
90
- server:
91
- - thin
92
- body:
93
- encoding: UTF-8
94
- string: '{"id":194,"blocked":false,"number":"0006","issue_date":"2017-06-12","created_at":1497267861,"contact":{"id":44,"full_name":"Albus
95
- Dumbledoge"},"country":"BE","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"due_date":null,"currency":"EUR","subject":null,"items":[{"id":195,"description":"Aircraft","quantity":"1.0","unit_price_cents":"0.0","discount_rate":"0.0","tax_1_name":null,"tax_1_rate":null,"tax_2_name":null,"tax_2_rate":null,"reference":null,"subtotal_cents":"0.0","discount_cents":"0.0","gross_amount_cents":"0.0"}],"subtotal_cents":"0.0","discount_cents":"0.0","taxes":[],"total_cents":0,"payments":[],"payment_details":null,"notes":null,"state":"outstanding","tag_list":[],"secure_id":"d1f58877c3e8565e812ede965de01143a8b65073","permalink":"http://development.lvh.me:3000/invoice/d1f58877c3e8565e812ede965de01143a8b65073","pdf":"http://development.lvh.me:3000/invoice/d1f58877c3e8565e812ede965de01143a8b65073.pdf","url":"http://development.lvh.me:3000/api/invoices/194.json","processor":null,"processor_id":null,"custom_metadata":{}}'
96
- http_version: '1.1'
97
- recorded_at: Mon, 12 Jun 2017 11:44:24 GMT
98
- - request:
99
- method: delete
100
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/invoices/194.json
101
- body:
102
- encoding: US-ASCII
103
- string: ''
104
- headers:
105
- accept:
106
- - application/json
107
- authorization:
108
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
109
- response:
110
- status:
111
- code: 204
112
- message: No Content
113
- headers:
114
- x-frame-options:
115
- - ALLOWALL
116
- x-ratelimit-limit:
117
- - '2000'
118
- x-ratelimit-reset:
119
- - '15'
120
- x-ratelimit-remaining:
121
- - '100'
122
- cache-control:
123
- - no-cache
124
- x-request-id:
125
- - 9982304c-bf36-40c3-a550-f53b20ae4a45
126
- x-runtime:
127
- - '2.314321'
128
- connection:
129
- - close
130
- server:
131
- - thin
132
- body:
133
- encoding: US-ASCII
134
- string: ''
135
- http_version: '1.1'
136
- recorded_at: Mon, 12 Jun 2017 11:44:26 GMT
137
- - request:
138
- method: get
139
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/invoices.json?
140
- body:
141
- encoding: US-ASCII
142
- string: ''
143
- headers:
144
- accept:
145
- - application/json
146
- authorization:
147
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
148
- response:
149
- status:
150
- code: 200
151
- message: OK
152
- headers:
153
- x-frame-options:
154
- - ALLOWALL
155
- x-ratelimit-limit:
156
- - '2000'
157
- x-ratelimit-reset:
158
- - '15'
159
- x-ratelimit-remaining:
160
- - '99'
161
- x-pages-currentpage:
162
- - '1'
163
- x-pages-totalpages:
164
- - '1'
165
- content-type:
166
- - application/json; charset=utf-8
167
- etag:
168
- - '"47582ab138340fc16e49091c677bd6a5"'
169
- cache-control:
170
- - max-age=0, private, must-revalidate
171
- x-request-id:
172
- - 0cb31478-3919-4ec4-a334-5ebd9268bc48
173
- x-runtime:
174
- - '4.189029'
175
- connection:
176
- - close
177
- server:
178
- - thin
179
- body:
180
- encoding: UTF-8
181
- string: '[{"id":180,"blocked":false,"number":"0005","issue_date":"2017-06-09","created_at":1497013624,"contact":{"id":44,"full_name":"Albus
182
- Dumbledoge"},"country":"BE","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"due_date":null,"currency":"EUR","subject":null,"items":[{"id":181,"description":"Aircraft","quantity":"1.0","unit_price_cents":"0.0","discount_rate":"0.0","tax_1_name":null,"tax_1_rate":null,"tax_2_name":null,"tax_2_rate":null,"reference":null,"subtotal_cents":"0.0","discount_cents":"0.0","gross_amount_cents":"0.0"}],"subtotal_cents":"0.0","discount_cents":"0.0","taxes":[],"total_cents":0,"payments":[{"id":45,"date":"2017-06-12","payment_method":"cash","amount_cents":10000000000,"url":"http://development.lvh.me:3000/api/invoices/180/payments/45.json"}],"payment_details":null,"notes":null,"state":"paid","tag_list":[],"secure_id":"8ba033c910a376319e4b383de66d6934abcfe6a4","permalink":"http://development.lvh.me:3000/invoice/8ba033c910a376319e4b383de66d6934abcfe6a4","pdf":"http://development.lvh.me:3000/invoice/8ba033c910a376319e4b383de66d6934abcfe6a4.pdf","url":"http://development.lvh.me:3000/api/invoices/180.json","processor":null,"processor_id":null,"custom_metadata":{}},{"id":167,"blocked":true,"number":"0004","issue_date":"2017-06-07","created_at":1496825417,"contact":{"id":43,"full_name":"Test_OCP"},"country":"ES","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"due_date":null,"currency":"EUR","subject":null,"items":[{"id":168,"description":"Something","quantity":"1.0","unit_price_cents":"1212.0","discount_rate":"0.0","tax_1_name":"IVA","tax_1_rate":21.0,"tax_2_name":"","tax_2_rate":null,"reference":null,"subtotal_cents":"1212.0","discount_cents":"0.0","gross_amount_cents":"1212.0"}],"subtotal_cents":"1212.0","discount_cents":"0.0","taxes":[{"label":"IVA
183
- (21.00%)","amount_cents":254}],"total_cents":1466,"payments":[{"id":36,"date":"2017-06-07","payment_method":"wire_transfer","amount_cents":1466,"url":"http://development.lvh.me:3000/api/invoices/167/payments/36.json"}],"payment_details":null,"notes":null,"state":"paid","tag_list":[],"secure_id":"5ee4e6d22a4d8b6798a9df315395fe05a5efb80a","permalink":"http://development.lvh.me:3000/invoice/5ee4e6d22a4d8b6798a9df315395fe05a5efb80a","pdf":"http://development.lvh.me:3000/invoice/5ee4e6d22a4d8b6798a9df315395fe05a5efb80a.pdf","url":"http://development.lvh.me:3000/api/invoices/167.json","processor":null,"processor_id":null,"custom_metadata":{}},{"id":168,"blocked":false,"number":"0003","issue_date":"2017-06-07","created_at":1496825418,"contact":{"id":43,"full_name":"Test_OCP"},"country":"ES","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"due_date":null,"currency":"EUR","subject":null,"items":[{"id":169,"description":"Something","quantity":"1.0","unit_price_cents":"671.0","discount_rate":"0.0","tax_1_name":"IVA","tax_1_rate":21.0,"tax_2_name":"","tax_2_rate":null,"reference":null,"subtotal_cents":"671.0","discount_cents":"0.0","gross_amount_cents":"671.0"}],"subtotal_cents":"671.0","discount_cents":"0.0","taxes":[{"label":"IVA
184
- (21.00%)","amount_cents":141}],"total_cents":812,"payments":[],"payment_details":null,"notes":null,"state":"outstanding","tag_list":[],"secure_id":"e93f8543031ccee4aa6933b7418dbe8736ec4306","permalink":"http://development.lvh.me:3000/invoice/e93f8543031ccee4aa6933b7418dbe8736ec4306","pdf":"http://development.lvh.me:3000/invoice/e93f8543031ccee4aa6933b7418dbe8736ec4306.pdf","url":"http://development.lvh.me:3000/api/invoices/168.json","processor":null,"processor_id":null,"custom_metadata":{}},{"id":169,"blocked":false,"number":"0002","issue_date":"2017-06-07","created_at":1496825419,"contact":{"id":42,"full_name":"Cidi
185
- Campidocti"},"country":"ES","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"due_date":null,"currency":"EUR","subject":null,"items":[{"id":170,"description":"Something","quantity":"1.0","unit_price_cents":"2008.0","discount_rate":"0.0","tax_1_name":"IVA","tax_1_rate":21.0,"tax_2_name":"","tax_2_rate":null,"reference":null,"subtotal_cents":"2008.0","discount_cents":"0.0","gross_amount_cents":"2008.0"}],"subtotal_cents":"2008.0","discount_cents":"0.0","taxes":[{"label":"IVA
186
- (21.00%)","amount_cents":422}],"total_cents":2430,"payments":[{"id":38,"date":"2017-06-07","payment_method":"wire_transfer","amount_cents":2430,"url":"http://development.lvh.me:3000/api/invoices/169/payments/38.json"}],"payment_details":null,"notes":null,"state":"paid","tag_list":[],"secure_id":"45652c45cc01d96ac603b0484e4e00754ba091c8","permalink":"http://development.lvh.me:3000/invoice/45652c45cc01d96ac603b0484e4e00754ba091c8","pdf":"http://development.lvh.me:3000/invoice/45652c45cc01d96ac603b0484e4e00754ba091c8.pdf","url":"http://development.lvh.me:3000/api/invoices/169.json","processor":null,"processor_id":null,"custom_metadata":{}},{"id":170,"blocked":false,"number":"0001","issue_date":"2017-06-07","created_at":1496825420,"contact":{"id":44,"full_name":"Albus
187
- Dumbledoge"},"country":"BE","street_line_1":null,"street_line_2":null,"city":null,"region":null,"postal_code":null,"po_number":null,"due_date":null,"currency":"EUR","subject":null,"items":[{"id":171,"description":"Something","quantity":"1.0","unit_price_cents":"1340.0","discount_rate":"0.0","tax_1_name":"","tax_1_rate":null,"tax_2_name":"","tax_2_rate":null,"reference":null,"subtotal_cents":"1340.0","discount_cents":"0.0","gross_amount_cents":"1340.0"}],"subtotal_cents":"1340.0","discount_cents":"0.0","taxes":[],"total_cents":1340,"payments":[{"id":39,"date":"2017-06-07","payment_method":"wire_transfer","amount_cents":1340,"url":"http://development.lvh.me:3000/api/invoices/170/payments/39.json"}],"payment_details":null,"notes":null,"state":"paid","tag_list":[],"secure_id":"696d7d7e402f544a839e84f3328801547f6c7c12","permalink":"http://development.lvh.me:3000/invoice/696d7d7e402f544a839e84f3328801547f6c7c12","pdf":"http://development.lvh.me:3000/invoice/696d7d7e402f544a839e84f3328801547f6c7c12.pdf","url":"http://development.lvh.me:3000/api/invoices/170.json","processor":"stripe","processor_id":"ch_1234","custom_metadata":{}}]'
188
- http_version: '1.1'
189
- recorded_at: Mon, 12 Jun 2017 11:44:31 GMT
190
- recorded_with: VCR 2.9.2
@@ -1,128 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/items.json?
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- accept:
11
- - application/json
12
- authorization:
13
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- x-frame-options:
20
- - ALLOWALL
21
- x-ratelimit-limit:
22
- - '2000'
23
- x-ratelimit-reset:
24
- - '15'
25
- x-ratelimit-remaining:
26
- - '99'
27
- content-type:
28
- - application/json; charset=utf-8
29
- etag:
30
- - '"f91316e7f780493dafbffc5affac5ef5"'
31
- cache-control:
32
- - max-age=0, private, must-revalidate
33
- x-request-id:
34
- - e0541210-c4f1-4f14-a3bf-8d2db1b12f0f
35
- x-runtime:
36
- - '0.982967'
37
- connection:
38
- - close
39
- server:
40
- - thin
41
- body:
42
- encoding: UTF-8
43
- string: '[{"id":1,"code":"12345","name":"6","unit_cost":"10.0","stock":null,"tax_class":"standard","url":"http://development.lvh.me:3000/api/items/1"},{"id":2,"code":"000000","name":"Test_Skynet","unit_cost":"21.0","stock":null,"tax_class":"eservice","url":"http://development.lvh.me:3000/api/items/2"}]'
44
- http_version: '1.1'
45
- recorded_at: Mon, 12 Jun 2017 11:45:34 GMT
46
- - request:
47
- method: delete
48
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/items/2.json
49
- body:
50
- encoding: US-ASCII
51
- string: ''
52
- headers:
53
- accept:
54
- - application/json
55
- authorization:
56
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
57
- response:
58
- status:
59
- code: 204
60
- message: No Content
61
- headers:
62
- x-frame-options:
63
- - ALLOWALL
64
- x-ratelimit-limit:
65
- - '2000'
66
- x-ratelimit-reset:
67
- - '14'
68
- x-ratelimit-remaining:
69
- - '98'
70
- cache-control:
71
- - no-cache
72
- x-request-id:
73
- - b02b174b-6cef-42b9-9a03-125a496d48ad
74
- x-runtime:
75
- - '0.771036'
76
- connection:
77
- - close
78
- server:
79
- - thin
80
- body:
81
- encoding: US-ASCII
82
- string: ''
83
- http_version: '1.1'
84
- recorded_at: Mon, 12 Jun 2017 11:45:34 GMT
85
- - request:
86
- method: get
87
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/items.json?
88
- body:
89
- encoding: US-ASCII
90
- string: ''
91
- headers:
92
- accept:
93
- - application/json
94
- authorization:
95
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
96
- response:
97
- status:
98
- code: 200
99
- message: OK
100
- headers:
101
- x-frame-options:
102
- - ALLOWALL
103
- x-ratelimit-limit:
104
- - '2000'
105
- x-ratelimit-reset:
106
- - '11'
107
- x-ratelimit-remaining:
108
- - '97'
109
- content-type:
110
- - application/json; charset=utf-8
111
- etag:
112
- - '"d5fb0568852b913d126a096f525890b5"'
113
- cache-control:
114
- - max-age=0, private, must-revalidate
115
- x-request-id:
116
- - 66f021ff-bed9-41a6-a7e1-4c5593578ef7
117
- x-runtime:
118
- - '2.202393'
119
- connection:
120
- - close
121
- server:
122
- - thin
123
- body:
124
- encoding: UTF-8
125
- string: '[{"id":1,"code":"12345","name":"6","unit_cost":"10.0","stock":null,"tax_class":"standard","url":"http://development.lvh.me:3000/api/items/1"}]'
126
- http_version: '1.1'
127
- recorded_at: Mon, 12 Jun 2017 11:45:37 GMT
128
- recorded_with: VCR 2.9.2