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,223 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/contacts.json
6
- body:
7
- encoding: UTF-8
8
- string: '{"first_name":"Test customer"}'
9
- headers:
10
- accept:
11
- - application/json
12
- content-type:
13
- - application/json
14
- authorization:
15
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
16
- response:
17
- status:
18
- code: 201
19
- message: Created
20
- headers:
21
- x-frame-options:
22
- - ALLOWALL
23
- x-ratelimit-limit:
24
- - '2000'
25
- x-ratelimit-reset:
26
- - '4'
27
- x-ratelimit-remaining:
28
- - '96'
29
- content-type:
30
- - application/json; charset=utf-8
31
- etag:
32
- - '"00e9b556a65a3fe049e04c6e0cc45cf9"'
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- x-request-id:
36
- - 28d558d4-7134-4c59-9e8b-4144547b1c5b
37
- x-runtime:
38
- - '1.447786'
39
- connection:
40
- - close
41
- server:
42
- - thin
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":52,"kind":"company","created_at":1497268157,"full_name":"Test
46
- customer","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":null,"web":null,"discount":null,"tax_id":null,"vat_number":null,"bank_account":null,"language":"ES","notes":null,"secure_id":"e72cf732a53d6cd1f45ad096edd602758b6691a3","permalink":"http://development.lvh.me:3000/billing/e72cf732a53d6cd1f45ad096edd602758b6691a3","url":"http://development.lvh.me:3000/api/contacts/52"}'
47
- http_version: '1.1'
48
- recorded_at: Mon, 12 Jun 2017 11:49:17 GMT
49
- - request:
50
- method: post
51
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/receipts.json
52
- body:
53
- encoding: UTF-8
54
- string: '{"contact_id":52,"currency":"EUR","items_attributes":[{"description":"Aircraft","quantity":"1.0","unit_price":"0.0"}],"tags":"tnt","payment_method":"cash","notes":""}'
55
- headers:
56
- accept:
57
- - application/json
58
- content-type:
59
- - application/json
60
- authorization:
61
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
62
- response:
63
- status:
64
- code: 201
65
- message: Created
66
- headers:
67
- x-frame-options:
68
- - ALLOWALL
69
- x-ratelimit-limit:
70
- - '2000'
71
- x-ratelimit-reset:
72
- - '3'
73
- x-ratelimit-remaining:
74
- - '95'
75
- content-type:
76
- - application/json; charset=utf-8
77
- etag:
78
- - '"ec0b74f722f8e042fcdfdcb1d0699d14"'
79
- cache-control:
80
- - max-age=0, private, must-revalidate
81
- x-request-id:
82
- - b6fe3743-024e-4323-a44f-276e7ab4903b
83
- x-runtime:
84
- - '4.733173'
85
- connection:
86
- - close
87
- server:
88
- - thin
89
- body:
90
- encoding: UTF-8
91
- string: '{"id":202,"blocked":false,"number":"0003","issue_date":"2017-06-12","created_at":1497268159,"contact":{"id":52,"full_name":"Test
92
- customer"},"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":203,"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":[],"payments":[{"id":52,"date":"2017-06-12","payment_method":"cash","amount_cents":0}],"notes":null,"state":"paid","tag_list":[],"secure_id":"f400dc836b1488441b69d084fb25a89403ffc5de","permalink":"http://development.lvh.me:3000/receipt/f400dc836b1488441b69d084fb25a89403ffc5de","pdf":"http://development.lvh.me:3000/receipt/f400dc836b1488441b69d084fb25a89403ffc5de.pdf","url":"http://development.lvh.me:3000/api/receipts/202.json","processor":null,"processor_id":null,"custom_metadata":{}}'
93
- http_version: '1.1'
94
- recorded_at: Mon, 12 Jun 2017 11:49:22 GMT
95
- - request:
96
- method: delete
97
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/receipts/202.json
98
- body:
99
- encoding: US-ASCII
100
- string: ''
101
- headers:
102
- accept:
103
- - application/json
104
- authorization:
105
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
106
- response:
107
- status:
108
- code: 204
109
- message: No Content
110
- headers:
111
- x-frame-options:
112
- - ALLOWALL
113
- x-ratelimit-limit:
114
- - '2000'
115
- x-ratelimit-reset:
116
- - '15'
117
- x-ratelimit-remaining:
118
- - '100'
119
- cache-control:
120
- - no-cache
121
- x-request-id:
122
- - bbd75591-2904-4cdb-af4e-94c108e6b6ed
123
- x-runtime:
124
- - '2.767408'
125
- connection:
126
- - close
127
- server:
128
- - thin
129
- body:
130
- encoding: US-ASCII
131
- string: ''
132
- http_version: '1.1'
133
- recorded_at: Mon, 12 Jun 2017 11:49:25 GMT
134
- - request:
135
- method: delete
136
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/contacts/52.json
137
- body:
138
- encoding: US-ASCII
139
- string: ''
140
- headers:
141
- accept:
142
- - application/json
143
- authorization:
144
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
145
- response:
146
- status:
147
- code: 204
148
- message: No Content
149
- headers:
150
- x-frame-options:
151
- - ALLOWALL
152
- x-ratelimit-limit:
153
- - '2000'
154
- x-ratelimit-reset:
155
- - '15'
156
- x-ratelimit-remaining:
157
- - '99'
158
- cache-control:
159
- - no-cache
160
- x-request-id:
161
- - 243f91d9-9aaa-4566-98c9-71f0c32e7eb4
162
- x-runtime:
163
- - '1.163710'
164
- connection:
165
- - close
166
- server:
167
- - thin
168
- body:
169
- encoding: US-ASCII
170
- string: ''
171
- http_version: '1.1'
172
- recorded_at: Mon, 12 Jun 2017 11:49:26 GMT
173
- - request:
174
- method: get
175
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/receipts.json?
176
- body:
177
- encoding: US-ASCII
178
- string: ''
179
- headers:
180
- accept:
181
- - application/json
182
- authorization:
183
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
184
- response:
185
- status:
186
- code: 200
187
- message: OK
188
- headers:
189
- x-frame-options:
190
- - ALLOWALL
191
- x-ratelimit-limit:
192
- - '2000'
193
- x-ratelimit-reset:
194
- - '14'
195
- x-ratelimit-remaining:
196
- - '98'
197
- x-pages-currentpage:
198
- - '1'
199
- x-pages-totalpages:
200
- - '1'
201
- content-type:
202
- - application/json; charset=utf-8
203
- etag:
204
- - '"2fbe5b66d01a5d67afd7be37b64c395a"'
205
- cache-control:
206
- - max-age=0, private, must-revalidate
207
- x-request-id:
208
- - b98c0b87-40cd-4325-8714-a6d044edec8e
209
- x-runtime:
210
- - '2.125325'
211
- connection:
212
- - close
213
- server:
214
- - thin
215
- body:
216
- encoding: UTF-8
217
- string: '[{"id":200,"blocked":false,"number":"0002","issue_date":"2017-06-12","created_at":1497268132,"contact":{"id":44,"full_name":"Albus
218
- 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":201,"description":"Hey,
219
- Liste!","quantity":"1.0","unit_price_cents":"1000.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":"1000.0","discount_cents":"0.0","gross_amount_cents":"1000.0"}],"subtotal_cents":"1000.0","discount_cents":"0.0","taxes":[],"payments":[{"id":50,"date":"2017-06-12","payment_method":"other","amount_cents":1000}],"notes":null,"state":"paid","tag_list":[],"secure_id":"64649b40d7fc4bcc0b1a0493b87fa030789235d4","permalink":"http://development.lvh.me:3000/receipt/64649b40d7fc4bcc0b1a0493b87fa030789235d4","pdf":"http://development.lvh.me:3000/receipt/64649b40d7fc4bcc0b1a0493b87fa030789235d4.pdf","url":"http://development.lvh.me:3000/api/receipts/200.json","processor":null,"processor_id":null,"custom_metadata":{}},{"id":199,"blocked":false,"number":"0001","issue_date":"2017-06-12","created_at":1497267995,"contact":{"id":50,"full_name":"Test
220
- customer"},"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":200,"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":[],"payments":[{"id":49,"date":"2017-06-12","payment_method":"cash","amount_cents":0}],"notes":null,"state":"paid","tag_list":[],"secure_id":"f62c1beb598394e6072fa18af8a3eed0ba05833b","permalink":"http://development.lvh.me:3000/receipt/f62c1beb598394e6072fa18af8a3eed0ba05833b","pdf":"http://development.lvh.me:3000/receipt/f62c1beb598394e6072fa18af8a3eed0ba05833b.pdf","url":"http://development.lvh.me:3000/api/receipts/199.json","processor":null,"processor_id":null,"custom_metadata":{}}]'
221
- http_version: '1.1'
222
- recorded_at: Mon, 12 Jun 2017 11:49:28 GMT
223
- recorded_with: VCR 2.9.2
@@ -1,257 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks.json
6
- body:
7
- encoding: UTF-8
8
- string: '{"url":"http://google.com","events_types":["invoice.created","expense.updated"]}'
9
- headers:
10
- accept:
11
- - application/json
12
- content-type:
13
- - application/json
14
- authorization:
15
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
16
- response:
17
- status:
18
- code: 201
19
- message: Created
20
- headers:
21
- x-frame-options:
22
- - ALLOWALL
23
- x-ratelimit-limit:
24
- - '2000'
25
- x-ratelimit-reset:
26
- - '9'
27
- x-ratelimit-remaining:
28
- - '97'
29
- content-type:
30
- - application/json; charset=utf-8
31
- etag:
32
- - '"9ed2c299de9bfb455be4f92f91a751bb"'
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- x-request-id:
36
- - 56b4d038-9c97-4faf-bcf1-c0146ed2282e
37
- x-runtime:
38
- - '1.133878'
39
- connection:
40
- - close
41
- server:
42
- - thin
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":3,"url":"http://google.com","auth_key":"NGSLi-ewU_9MkUjNFA8H6g","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:14.841Z","updated_at":"2017-06-12T11:54:14.841Z"}'
46
- http_version: '1.1'
47
- recorded_at: Mon, 12 Jun 2017 11:54:15 GMT
48
- - request:
49
- method: post
50
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks.json
51
- body:
52
- encoding: UTF-8
53
- string: '{"url":"http://quadernoapp.com","events_types":["invoice.created","expense.updated"]}'
54
- headers:
55
- accept:
56
- - application/json
57
- content-type:
58
- - application/json
59
- authorization:
60
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
61
- response:
62
- status:
63
- code: 201
64
- message: Created
65
- headers:
66
- x-frame-options:
67
- - ALLOWALL
68
- x-ratelimit-limit:
69
- - '2000'
70
- x-ratelimit-reset:
71
- - '7'
72
- x-ratelimit-remaining:
73
- - '96'
74
- content-type:
75
- - application/json; charset=utf-8
76
- etag:
77
- - '"efc1e4c767dae7155fd7062f869b6864"'
78
- cache-control:
79
- - max-age=0, private, must-revalidate
80
- x-request-id:
81
- - fb379d20-89c7-4f44-b03a-8218e8ba6876
82
- x-runtime:
83
- - '1.651680'
84
- connection:
85
- - close
86
- server:
87
- - thin
88
- body:
89
- encoding: UTF-8
90
- string: '{"id":4,"url":"http://quadernoapp.com","auth_key":"PPhqTNGnksKmkLIE-HN12w","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:16.816Z","updated_at":"2017-06-12T11:54:16.816Z"}'
91
- http_version: '1.1'
92
- recorded_at: Mon, 12 Jun 2017 11:54:17 GMT
93
- - request:
94
- method: get
95
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks.json?
96
- body:
97
- encoding: US-ASCII
98
- string: ''
99
- headers:
100
- accept:
101
- - application/json
102
- authorization:
103
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
104
- response:
105
- status:
106
- code: 200
107
- message: OK
108
- headers:
109
- x-frame-options:
110
- - ALLOWALL
111
- x-ratelimit-limit:
112
- - '2000'
113
- x-ratelimit-reset:
114
- - '5'
115
- x-ratelimit-remaining:
116
- - '95'
117
- content-type:
118
- - application/json; charset=utf-8
119
- etag:
120
- - '"7724af66c58f04bb8d43b34af89cbeb0"'
121
- cache-control:
122
- - max-age=0, private, must-revalidate
123
- x-request-id:
124
- - a83a42c7-1de0-4f2a-85ef-e98d38079d83
125
- x-runtime:
126
- - '0.967519'
127
- connection:
128
- - close
129
- server:
130
- - thin
131
- body:
132
- encoding: UTF-8
133
- string: '[{"id":1,"url":"http://quadernoapp.com","auth_key":"Ze024XpO9CJ6Fy2frwWV4Q","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:53:54.000Z","updated_at":"2017-06-12T11:53:54.000Z"},{"id":3,"url":"http://google.com","auth_key":"NGSLi-ewU_9MkUjNFA8H6g","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:14.000Z","updated_at":"2017-06-12T11:54:14.000Z"},{"id":4,"url":"http://quadernoapp.com","auth_key":"PPhqTNGnksKmkLIE-HN12w","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:16.000Z","updated_at":"2017-06-12T11:54:16.000Z"}]'
134
- http_version: '1.1'
135
- recorded_at: Mon, 12 Jun 2017 11:54:18 GMT
136
- - request:
137
- method: delete
138
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks/4.json
139
- body:
140
- encoding: US-ASCII
141
- string: ''
142
- headers:
143
- accept:
144
- - application/json
145
- authorization:
146
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
147
- response:
148
- status:
149
- code: 204
150
- message: No Content
151
- headers:
152
- x-frame-options:
153
- - ALLOWALL
154
- x-ratelimit-limit:
155
- - '2000'
156
- x-ratelimit-reset:
157
- - '4'
158
- x-ratelimit-remaining:
159
- - '94'
160
- cache-control:
161
- - no-cache
162
- x-request-id:
163
- - d9d2a591-b3e2-4ba2-af85-e6d5fa634e46
164
- x-runtime:
165
- - '0.969496'
166
- connection:
167
- - close
168
- server:
169
- - thin
170
- body:
171
- encoding: US-ASCII
172
- string: ''
173
- http_version: '1.1'
174
- recorded_at: Mon, 12 Jun 2017 11:54:19 GMT
175
- - request:
176
- method: get
177
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks.json?
178
- body:
179
- encoding: US-ASCII
180
- string: ''
181
- headers:
182
- accept:
183
- - application/json
184
- authorization:
185
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
186
- response:
187
- status:
188
- code: 200
189
- message: OK
190
- headers:
191
- x-frame-options:
192
- - ALLOWALL
193
- x-ratelimit-limit:
194
- - '2000'
195
- x-ratelimit-reset:
196
- - '3'
197
- x-ratelimit-remaining:
198
- - '93'
199
- content-type:
200
- - application/json; charset=utf-8
201
- etag:
202
- - '"49b2fb709af079dc34bb5ae479d17052"'
203
- cache-control:
204
- - max-age=0, private, must-revalidate
205
- x-request-id:
206
- - b43f132e-1500-4cfa-87cf-d76232257163
207
- x-runtime:
208
- - '0.938838'
209
- connection:
210
- - close
211
- server:
212
- - thin
213
- body:
214
- encoding: UTF-8
215
- string: '[{"id":1,"url":"http://quadernoapp.com","auth_key":"Ze024XpO9CJ6Fy2frwWV4Q","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:53:54.000Z","updated_at":"2017-06-12T11:53:54.000Z"},{"id":3,"url":"http://google.com","auth_key":"NGSLi-ewU_9MkUjNFA8H6g","events_types":["invoice.created","expense.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:14.000Z","updated_at":"2017-06-12T11:54:14.000Z"}]'
216
- http_version: '1.1'
217
- recorded_at: Mon, 12 Jun 2017 11:54:20 GMT
218
- - request:
219
- method: delete
220
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks/3.json
221
- body:
222
- encoding: US-ASCII
223
- string: ''
224
- headers:
225
- accept:
226
- - application/json
227
- authorization:
228
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
229
- response:
230
- status:
231
- code: 204
232
- message: No Content
233
- headers:
234
- x-frame-options:
235
- - ALLOWALL
236
- x-ratelimit-limit:
237
- - '2000'
238
- x-ratelimit-reset:
239
- - '3'
240
- x-ratelimit-remaining:
241
- - '92'
242
- cache-control:
243
- - no-cache
244
- x-request-id:
245
- - 4ace2036-ebde-4c54-a6ba-92e9fe57c39c
246
- x-runtime:
247
- - '0.948995'
248
- connection:
249
- - close
250
- server:
251
- - thin
252
- body:
253
- encoding: US-ASCII
254
- string: ''
255
- http_version: '1.1'
256
- recorded_at: Mon, 12 Jun 2017 11:54:21 GMT
257
- recorded_with: VCR 2.9.2