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,53 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/receipts.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
- - '4'
25
- x-ratelimit-remaining:
26
- - '92'
27
- x-pages-currentpage:
28
- - '1'
29
- x-pages-totalpages:
30
- - '1'
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - '"2fbe5b66d01a5d67afd7be37b64c395a"'
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 6e153524-3400-4e16-be33-08765cf43286
39
- x-runtime:
40
- - '1.878753'
41
- connection:
42
- - close
43
- server:
44
- - thin
45
- body:
46
- encoding: UTF-8
47
- string: '[{"id":200,"blocked":false,"number":"0002","issue_date":"2017-06-12","created_at":1497268132,"contact":{"id":44,"full_name":"Albus
48
- 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,
49
- 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
50
- 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":{}}]'
51
- http_version: '1.1'
52
- recorded_at: Mon, 12 Jun 2017 11:49:38 GMT
53
- recorded_with: VCR 2.9.2
@@ -1,214 +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","invoice.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
- - '14'
27
- x-ratelimit-remaining:
28
- - '98'
29
- content-type:
30
- - application/json; charset=utf-8
31
- etag:
32
- - '"4da7abb71bbd56b1a1a92b5cf3b53926"'
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- x-request-id:
36
- - 74e7c500-bc67-47bd-be2f-2732587a3da2
37
- x-runtime:
38
- - '1.287195'
39
- connection:
40
- - close
41
- server:
42
- - thin
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":6,"url":"http://google.com","auth_key":"ETE71RWTFL_cCSsRjvoM1g","events_types":["invoice.created","invoice.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:25.772Z","updated_at":"2017-06-12T11:54:25.772Z"}'
46
- http_version: '1.1'
47
- recorded_at: Mon, 12 Jun 2017 11:54:26 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":["expense.created","expense.updated","contact.deleted"]}'
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
- - '12'
72
- x-ratelimit-remaining:
73
- - '97'
74
- content-type:
75
- - application/json; charset=utf-8
76
- etag:
77
- - '"3435ae635f7c840f5a48ebd3d54744af"'
78
- cache-control:
79
- - max-age=0, private, must-revalidate
80
- x-request-id:
81
- - 080eed37-cef1-4eab-b4cb-a77e2f575d68
82
- x-runtime:
83
- - '1.873604'
84
- connection:
85
- - close
86
- server:
87
- - thin
88
- body:
89
- encoding: UTF-8
90
- string: '{"id":7,"url":"http://quadernoapp.com","auth_key":"_z8eyeOmCcKYyxuf8KIS-A","events_types":["expense.created","expense.updated","contact.deleted"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:27.722Z","updated_at":"2017-06-12T11:54:27.722Z"}'
91
- http_version: '1.1'
92
- recorded_at: Mon, 12 Jun 2017 11:54:27 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
- - '10'
115
- x-ratelimit-remaining:
116
- - '96'
117
- content-type:
118
- - application/json; charset=utf-8
119
- etag:
120
- - '"2aca0c5cf770d27fd29b6d93a5be476c"'
121
- cache-control:
122
- - max-age=0, private, must-revalidate
123
- x-request-id:
124
- - 21f3b3e7-d4e5-430b-98a0-6e0a179ed467
125
- x-runtime:
126
- - '0.972532'
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":6,"url":"http://google.com","auth_key":"ETE71RWTFL_cCSsRjvoM1g","events_types":["invoice.created","invoice.updated"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:25.000Z","updated_at":"2017-06-12T11:54:25.000Z"},{"id":7,"url":"http://quadernoapp.com","auth_key":"_z8eyeOmCcKYyxuf8KIS-A","events_types":["expense.created","expense.updated","contact.deleted"],"last_sent_at":null,"last_error":null,"events_sent":0,"created_at":"2017-06-12T11:54:27.000Z","updated_at":"2017-06-12T11:54:27.000Z"}]'
134
- http_version: '1.1'
135
- recorded_at: Mon, 12 Jun 2017 11:54:28 GMT
136
- - request:
137
- method: delete
138
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks/6.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
- - '8'
158
- x-ratelimit-remaining:
159
- - '95'
160
- cache-control:
161
- - no-cache
162
- x-request-id:
163
- - bef9a96d-295f-4c3a-a9df-7ef83573b8bd
164
- x-runtime:
165
- - '2.112362'
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:31 GMT
175
- - request:
176
- method: delete
177
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/webhooks/7.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: 204
189
- message: No Content
190
- headers:
191
- x-frame-options:
192
- - ALLOWALL
193
- x-ratelimit-limit:
194
- - '2000'
195
- x-ratelimit-reset:
196
- - '8'
197
- x-ratelimit-remaining:
198
- - '94'
199
- cache-control:
200
- - no-cache
201
- x-request-id:
202
- - 4ff5b60a-edf1-41ca-abef-efaf40eed570
203
- x-runtime:
204
- - '0.919043'
205
- connection:
206
- - close
207
- server:
208
- - thin
209
- body:
210
- encoding: US-ASCII
211
- string: ''
212
- http_version: '1.1'
213
- recorded_at: Mon, 12 Jun 2017 11:54:32 GMT
214
- recorded_with: VCR 2.9.2
@@ -1,156 +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; api_version=20160602
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
- - '10'
25
- x-ratelimit-remaining:
26
- - '88'
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
- - c96792d5-f611-46f0-881b-6aa1412fb4da
39
- x-runtime:
40
- - '0.249594'
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: Fri, 09 Jun 2017 13:02:43 GMT
52
- - request:
53
- method: post
54
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/estimates.json
55
- body:
56
- encoding: UTF-8
57
- string: '{"contact_id":44,"number":"test number 42","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; api_version=20160602
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
- - '10'
76
- x-ratelimit-remaining:
77
- - '87'
78
- content-type:
79
- - application/json; charset=utf-8
80
- etag:
81
- - '"dee9b5abe22ac47bad10957cf46848ed"'
82
- cache-control:
83
- - max-age=0, private, must-revalidate
84
- x-request-id:
85
- - bed99657-9533-438a-aa09-a873fb5f5f93
86
- x-runtime:
87
- - '0.522703'
88
- connection:
89
- - close
90
- server:
91
- - thin
92
- body:
93
- encoding: ASCII-8BIT
94
- string: !binary |-
95
- eyJpZCI6MTc4LCJudW1iZXIiOiJ0ZXN0IG51bWJlciA0MiIsImlzc3VlX2Rh
96
- dGUiOiIyMDE3LTA2LTA5IiwiY3JlYXRlZF9hdCI6MTQ5NzAxMzM2MywiY29u
97
- dGFjdCI6eyJpZCI6NDQsImZ1bGxfbmFtZSI6IkFsYnVzIER1bWJsZWRvZ2Ui
98
- fSwic3RyZWV0X2xpbmVfMSI6bnVsbCwic3RyZWV0X2xpbmVfMiI6bnVsbCwi
99
- Y2l0eSI6bnVsbCwicmVnaW9uIjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwi
100
- cG9fbnVtYmVyIjpudWxsLCJjdXJyZW5jeSI6IkVVUiIsIml0ZW1zIjpbeyJp
101
- ZCI6MTc5LCJkZXNjcmlwdGlvbiI6IkFpcmNyYWZ0IiwicXVhbnRpdHkiOiIx
102
- LjAiLCJ1bml0X3ByaWNlIjoiMC4wIiwiZGlzY291bnRfcmF0ZSI6IjAuMCIs
103
- InRheF8xX25hbWUiOm51bGwsInRheF8xX3JhdGUiOm51bGwsInRheF8yX25h
104
- bWUiOm51bGwsInRheF8yX3JhdGUiOm51bGwsInJlZmVyZW5jZSI6bnVsbCwi
105
- c3VidG90YWwiOiLigqwwLjAwIiwiZGlzY291bnQiOiLigqwwLjAwIiwiZ3Jv
106
- c3NfYW1vdW50Ijoi4oKsMC4wMCJ9XSwic3VidG90YWwiOiLigqwwLjAwIiwi
107
- ZGlzY291bnQiOiLigqwwLjAwIiwidGF4ZXMiOltdLCJ0b3RhbCI6IuKCrDAu
108
- MDAiLCJwYXltZW50X2RldGFpbHMiOm51bGwsIm5vdGVzIjpudWxsLCJzdGF0
109
- ZSI6Im91dHN0YW5kaW5nIiwidGFnX2xpc3QiOltdLCJzZWN1cmVfaWQiOiI2
110
- NzY5ZDM5N2ExY2JmYjRkZjNjNDFiYTU1YTczMzEzYzk2NWNkM2YxIiwicGVy
111
- bWFsaW5rIjoiaHR0cDovL2RldmVsb3BtZW50Lmx2aC5tZTozMDAwL2VzdGlt
112
- YXRlLzY3NjlkMzk3YTFjYmZiNGRmM2M0MWJhNTVhNzMzMTNjOTY1Y2QzZjEi
113
- LCJ1cmwiOiJodHRwOi8vZGV2ZWxvcG1lbnQubHZoLm1lOjMwMDAvYXBpL2Vz
114
- dGltYXRlcy8xNzguanNvbiJ9
115
- http_version: '1.1'
116
- recorded_at: Fri, 09 Jun 2017 13:02:44 GMT
117
- - request:
118
- method: delete
119
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/estimates/178.json
120
- body:
121
- encoding: US-ASCII
122
- string: ''
123
- headers:
124
- accept:
125
- - application/json; api_version=20160602
126
- authorization:
127
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
128
- response:
129
- status:
130
- code: 204
131
- message: No Content
132
- headers:
133
- x-frame-options:
134
- - ALLOWALL
135
- x-ratelimit-limit:
136
- - '2000'
137
- x-ratelimit-reset:
138
- - '10'
139
- x-ratelimit-remaining:
140
- - '86'
141
- cache-control:
142
- - no-cache
143
- x-request-id:
144
- - 2a59e8b4-e8b4-4c15-889a-895d9c4c3a3a
145
- x-runtime:
146
- - '0.297087'
147
- connection:
148
- - close
149
- server:
150
- - thin
151
- body:
152
- encoding: US-ASCII
153
- string: ''
154
- http_version: '1.1'
155
- recorded_at: Fri, 09 Jun 2017 13:02:44 GMT
156
- recorded_with: VCR 2.9.2
@@ -1,278 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses.json?
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- accept:
11
- - application/json; api_version=20160602
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
- - '3'
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
- - '"0bcb5a8e26e047fdc3f287990448c95e"'
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 332be3c9-d0cf-4944-aeae-6dab2402ed90
39
- x-runtime:
40
- - '3.612408'
41
- connection:
42
- - close
43
- server:
44
- - thin
45
- body:
46
- encoding: ASCII-8BIT
47
- string: !binary |-
48
- W3siaWQiOjE4NCwiaXNzdWVfZGF0ZSI6IjIwMTctMDYtMTIiLCJjcmVhdGVk
49
- X2F0IjoxNDk3MjY2MzMwLCJjb250YWN0Ijp7ImlkIjo0NCwiZnVsbF9uYW1l
50
- IjoiQWxidXMgRHVtYmxlZG9nZSJ9LCJzdHJlZXRfbGluZV8xIjpudWxsLCJz
51
- dHJlZXRfbGluZV8yIjpudWxsLCJjaXR5IjpudWxsLCJyZWdpb24iOm51bGws
52
- InBvc3RhbF9jb2RlIjpudWxsLCJwb19udW1iZXIiOm51bGwsImN1cnJlbmN5
53
- IjoiRVVSIiwiaXRlbXMiOlt7ImlkIjoxODUsImRlc2NyaXB0aW9uIjoiQWly
54
- Y3JhZnQiLCJxdWFudGl0eSI6IjEuMCIsInVuaXRfcHJpY2UiOiIwLjAiLCJk
55
- aXNjb3VudF9yYXRlIjoiMC4wIiwidGF4XzFfbmFtZSI6bnVsbCwidGF4XzFf
56
- cmF0ZSI6bnVsbCwidGF4XzJfbmFtZSI6bnVsbCwidGF4XzJfcmF0ZSI6bnVs
57
- bCwicmVmZXJlbmNlIjpudWxsLCJzdWJ0b3RhbCI6IuKCrDAuMDAiLCJkaXNj
58
- b3VudCI6IuKCrDAuMDAiLCJncm9zc19hbW91bnQiOiLigqwwLjAwIn1dLCJz
59
- dWJ0b3RhbCI6IuKCrDAuMDAiLCJkaXNjb3VudCI6IuKCrDAuMDAiLCJ0YXhl
60
- cyI6W10sInRvdGFsIjoi4oKsMC4wMCIsInBheW1lbnRzIjpbeyJpZCI6NDAs
61
- ImRhdGUiOiIyMDE3LTA2LTEyIiwicGF5bWVudF9tZXRob2QiOiJjYXNoIiwi
62
- YW1vdW50Ijoi4oKsMTAsMDAwLjAwIiwidXJsIjoiaHR0cDovL2RldmVsb3Bt
63
- ZW50Lmx2aC5tZTozMDAwL2FwaS9leHBlbnNlcy8xODQvcGF5bWVudHMvNDAu
64
- anNvbiJ9LHsiaWQiOjQxLCJkYXRlIjoiMjAxNy0wNi0xMiIsInBheW1lbnRf
65
- bWV0aG9kIjoiY2FzaCIsImFtb3VudCI6IuKCrDEwLDAwMC4wMCIsInVybCI6
66
- Imh0dHA6Ly9kZXZlbG9wbWVudC5sdmgubWU6MzAwMC9hcGkvZXhwZW5zZXMv
67
- MTg0L3BheW1lbnRzLzQxLmpzb24ifSx7ImlkIjo0MiwiZGF0ZSI6IjIwMTct
68
- MDYtMTIiLCJwYXltZW50X21ldGhvZCI6ImNhc2giLCJhbW91bnQiOiLigqwx
69
- MCwwMDAuMDAiLCJ1cmwiOiJodHRwOi8vZGV2ZWxvcG1lbnQubHZoLm1lOjMw
70
- MDAvYXBpL2V4cGVuc2VzLzE4NC9wYXltZW50cy80Mi5qc29uIn1dLCJub3Rl
71
- cyI6bnVsbCwic3RhdGUiOiJwYWlkIiwidGFnX2xpc3QiOltdLCJ1cmwiOiJo
72
- dHRwOi8vZGV2ZWxvcG1lbnQubHZoLm1lOjMwMDAvYXBpL2V4cGVuc2VzLzE4
73
- NC5qc29uIn0seyJpZCI6MTM3LCJpc3N1ZV9kYXRlIjoiMjAxNy0wNS0yOSIs
74
- ImNyZWF0ZWRfYXQiOjE0OTYwNjAxMTIsImNvbnRhY3QiOnsiaWQiOjQyLCJm
75
- dWxsX25hbWUiOiJDaWRpIENhbXBpZG9jdGkifSwic3RyZWV0X2xpbmVfMSI6
76
- bnVsbCwic3RyZWV0X2xpbmVfMiI6bnVsbCwiY2l0eSI6bnVsbCwicmVnaW9u
77
- IjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwicG9fbnVtYmVyIjpudWxsLCJj
78
- dXJyZW5jeSI6IkVVUiIsIml0ZW1zIjpbeyJpZCI6MTM4LCJkZXNjcmlwdGlv
79
- biI6ImFzZGFzZCIsInF1YW50aXR5IjoiMS4wIiwidW5pdF9wcmljZSI6IjAu
80
- MCIsImRpc2NvdW50X3JhdGUiOiIwLjAiLCJ0YXhfMV9uYW1lIjoiIiwidGF4
81
- XzFfcmF0ZSI6bnVsbCwidGF4XzJfbmFtZSI6IiIsInRheF8yX3JhdGUiOm51
82
- bGwsInJlZmVyZW5jZSI6IiIsInN1YnRvdGFsIjoi4oKsMC4wMCIsImRpc2Nv
83
- dW50Ijoi4oKsMC4wMCIsImdyb3NzX2Ftb3VudCI6IuKCrDAuMDAifV0sInN1
84
- YnRvdGFsIjoi4oKsMC4wMCIsImRpc2NvdW50Ijoi4oKsMC4wMCIsInRheGVz
85
- IjpbXSwidG90YWwiOiLigqwwLjAwIiwicGF5bWVudHMiOltdLCJub3RlcyI6
86
- bnVsbCwic3RhdGUiOiJwYWlkIiwidGFnX2xpc3QiOlsiZHVuZHVuZHVnYW4i
87
- LCJyYXAiXSwidXJsIjoiaHR0cDovL2RldmVsb3BtZW50Lmx2aC5tZTozMDAw
88
- L2FwaS9leHBlbnNlcy8xMzcuanNvbiJ9LHsiaWQiOjEzNSwiaXNzdWVfZGF0
89
- ZSI6IjIwMTctMDUtMjYiLCJjcmVhdGVkX2F0IjoxNDk1Nzg5NTI5LCJjb250
90
- YWN0Ijp7ImlkIjo0MiwiZnVsbF9uYW1lIjoiQ2lkaSBDYW1waWRvY3RpIn0s
91
- InN0cmVldF9saW5lXzEiOm51bGwsInN0cmVldF9saW5lXzIiOm51bGwsImNp
92
- dHkiOm51bGwsInJlZ2lvbiI6bnVsbCwicG9zdGFsX2NvZGUiOm51bGwsInBv
93
- X251bWJlciI6bnVsbCwiY3VycmVuY3kiOiJFVVIiLCJpdGVtcyI6W3siaWQi
94
- OjEzNiwiZGVzY3JpcHRpb24iOiJEcmVhbWhhY2sgdmFsZW5jaWEiLCJxdWFu
95
- dGl0eSI6IjEuMCIsInVuaXRfcHJpY2UiOiIyMzAuMCIsImRpc2NvdW50X3Jh
96
- dGUiOiIwLjAiLCJ0YXhfMV9uYW1lIjoiIiwidGF4XzFfcmF0ZSI6bnVsbCwi
97
- dGF4XzJfbmFtZSI6IiIsInRheF8yX3JhdGUiOm51bGwsInJlZmVyZW5jZSI6
98
- IiIsInN1YnRvdGFsIjoi4oKsMjMwLjAwIiwiZGlzY291bnQiOiLigqwwLjAw
99
- IiwiZ3Jvc3NfYW1vdW50Ijoi4oKsMjMwLjAwIn1dLCJzdWJ0b3RhbCI6IuKC
100
- rDIzMC4wMCIsImRpc2NvdW50Ijoi4oKsMC4wMCIsInRheGVzIjpbXSwidG90
101
- YWwiOiLigqwyMzAuMDAiLCJwYXltZW50cyI6W3siaWQiOjcsImRhdGUiOiIy
102
- MDE3LTA1LTMxIiwicGF5bWVudF9tZXRob2QiOiJjcmVkaXRfY2FyZCIsImFt
103
- b3VudCI6IuKCrDIzMC4wMCIsInVybCI6Imh0dHA6Ly9kZXZlbG9wbWVudC5s
104
- dmgubWU6MzAwMC9hcGkvZXhwZW5zZXMvMTM1L3BheW1lbnRzLzcuanNvbiJ9
105
- XSwibm90ZXMiOm51bGwsInN0YXRlIjoicGFpZCIsInRhZ19saXN0IjpbImJh
106
- bGxzIl0sInVybCI6Imh0dHA6Ly9kZXZlbG9wbWVudC5sdmgubWU6MzAwMC9h
107
- cGkvZXhwZW5zZXMvMTM1Lmpzb24ifSx7ImlkIjoxMzQsImlzc3VlX2RhdGUi
108
- OiIyMDE3LTA1LTI2IiwiY3JlYXRlZF9hdCI6MTQ5NTc4OTQ5MCwiY29udGFj
109
- dCI6eyJpZCI6NDIsImZ1bGxfbmFtZSI6IkNpZGkgQ2FtcGlkb2N0aSJ9LCJz
110
- dHJlZXRfbGluZV8xIjpudWxsLCJzdHJlZXRfbGluZV8yIjpudWxsLCJjaXR5
111
- IjpudWxsLCJyZWdpb24iOm51bGwsInBvc3RhbF9jb2RlIjpudWxsLCJwb19u
112
- dW1iZXIiOm51bGwsImN1cnJlbmN5IjoiRVVSIiwiaXRlbXMiOlt7ImlkIjox
113
- MzUsImRlc2NyaXB0aW9uIjoiU29tZXRoaW5nIiwicXVhbnRpdHkiOiIxLjAi
114
- LCJ1bml0X3ByaWNlIjoiMTAuMCIsImRpc2NvdW50X3JhdGUiOiIwLjAiLCJ0
115
- YXhfMV9uYW1lIjoiIiwidGF4XzFfcmF0ZSI6bnVsbCwidGF4XzJfbmFtZSI6
116
- IiIsInRheF8yX3JhdGUiOm51bGwsInJlZmVyZW5jZSI6IiIsInN1YnRvdGFs
117
- Ijoi4oKsMTAuMDAiLCJkaXNjb3VudCI6IuKCrDAuMDAiLCJncm9zc19hbW91
118
- bnQiOiLigqwxMC4wMCJ9XSwic3VidG90YWwiOiLigqwxMC4wMCIsImRpc2Nv
119
- dW50Ijoi4oKsMC4wMCIsInRheGVzIjpbXSwidG90YWwiOiLigqwxMC4wMCIs
120
- InBheW1lbnRzIjpbeyJpZCI6NCwiZGF0ZSI6IjIwMTctMDUtMzEiLCJwYXlt
121
- ZW50X21ldGhvZCI6ImNyZWRpdF9jYXJkIiwiYW1vdW50Ijoi4oKsMTAuMDAi
122
- LCJ1cmwiOiJodHRwOi8vZGV2ZWxvcG1lbnQubHZoLm1lOjMwMDAvYXBpL2V4
123
- cGVuc2VzLzEzNC9wYXltZW50cy80Lmpzb24ifV0sIm5vdGVzIjpudWxsLCJz
124
- dGF0ZSI6InBhaWQiLCJ0YWdfbGlzdCI6WyJyYXAiLCJnb2QiXSwidXJsIjoi
125
- aHR0cDovL2RldmVsb3BtZW50Lmx2aC5tZTozMDAwL2FwaS9leHBlbnNlcy8x
126
- MzQuanNvbiJ9XQ==
127
- http_version: '1.1'
128
- recorded_at: Mon, 12 Jun 2017 11:38:37 GMT
129
- - request:
130
- method: get
131
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/contacts.json?
132
- body:
133
- encoding: US-ASCII
134
- string: ''
135
- headers:
136
- accept:
137
- - application/json; api_version=20160602
138
- authorization:
139
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
140
- response:
141
- status:
142
- code: 200
143
- message: OK
144
- headers:
145
- x-frame-options:
146
- - ALLOWALL
147
- x-ratelimit-limit:
148
- - '2000'
149
- x-ratelimit-reset:
150
- - '15'
151
- x-ratelimit-remaining:
152
- - '100'
153
- x-pages-currentpage:
154
- - '1'
155
- x-pages-totalpages:
156
- - '1'
157
- content-type:
158
- - application/json; charset=utf-8
159
- etag:
160
- - '"9f61db3c521dbbd6fa0aec27f6813410"'
161
- cache-control:
162
- - max-age=0, private, must-revalidate
163
- x-request-id:
164
- - 421fedec-3c47-4264-80e1-b5feaa8ce7de
165
- x-runtime:
166
- - '1.096637'
167
- connection:
168
- - close
169
- server:
170
- - thin
171
- body:
172
- encoding: UTF-8
173
- string: '[{"id":44,"kind":"company","created_at":1496660076,"full_name":"Albus
174
- 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
175
- 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"}]'
176
- http_version: '1.1'
177
- recorded_at: Mon, 12 Jun 2017 11:38:38 GMT
178
- - request:
179
- method: post
180
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses.json
181
- body:
182
- encoding: UTF-8
183
- 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":""}'
184
- headers:
185
- accept:
186
- - application/json; api_version=20160602
187
- content-type:
188
- - application/json
189
- authorization:
190
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
191
- response:
192
- status:
193
- code: 201
194
- message: Created
195
- headers:
196
- x-frame-options:
197
- - ALLOWALL
198
- x-ratelimit-limit:
199
- - '2000'
200
- x-ratelimit-reset:
201
- - '15'
202
- x-ratelimit-remaining:
203
- - '99'
204
- content-type:
205
- - application/json; charset=utf-8
206
- etag:
207
- - '"d3489d01a1af59d72c5bb5d04f7927e0"'
208
- cache-control:
209
- - max-age=0, private, must-revalidate
210
- x-request-id:
211
- - 70b52e17-d495-4d85-90e9-cb8e1129f3c2
212
- x-runtime:
213
- - '3.987477'
214
- connection:
215
- - close
216
- server:
217
- - thin
218
- body:
219
- encoding: ASCII-8BIT
220
- string: !binary |-
221
- eyJpZCI6MTkwLCJpc3N1ZV9kYXRlIjoiMjAxNy0wNi0xMiIsImNyZWF0ZWRf
222
- YXQiOjE0OTcyNjc1MjAsImNvbnRhY3QiOnsiaWQiOjQ0LCJmdWxsX25hbWUi
223
- OiJBbGJ1cyBEdW1ibGVkb2dlIn0sInN0cmVldF9saW5lXzEiOm51bGwsInN0
224
- cmVldF9saW5lXzIiOm51bGwsImNpdHkiOm51bGwsInJlZ2lvbiI6bnVsbCwi
225
- cG9zdGFsX2NvZGUiOm51bGwsInBvX251bWJlciI6bnVsbCwiY3VycmVuY3ki
226
- OiJFVVIiLCJpdGVtcyI6W3siaWQiOjE5MSwiZGVzY3JpcHRpb24iOiJBaXJj
227
- cmFmdCIsInF1YW50aXR5IjoiMS4wIiwidW5pdF9wcmljZSI6IjAuMCIsImRp
228
- c2NvdW50X3JhdGUiOiIwLjAiLCJ0YXhfMV9uYW1lIjpudWxsLCJ0YXhfMV9y
229
- YXRlIjpudWxsLCJ0YXhfMl9uYW1lIjpudWxsLCJ0YXhfMl9yYXRlIjpudWxs
230
- LCJyZWZlcmVuY2UiOm51bGwsInN1YnRvdGFsIjoi4oKsMC4wMCIsImRpc2Nv
231
- dW50Ijoi4oKsMC4wMCIsImdyb3NzX2Ftb3VudCI6IuKCrDAuMDAifV0sInN1
232
- YnRvdGFsIjoi4oKsMC4wMCIsImRpc2NvdW50Ijoi4oKsMC4wMCIsInRheGVz
233
- IjpbXSwidG90YWwiOiLigqwwLjAwIiwicGF5bWVudHMiOltdLCJub3RlcyI6
234
- bnVsbCwic3RhdGUiOiJvdXRzdGFuZGluZyIsInRhZ19saXN0IjpbXSwidXJs
235
- IjoiaHR0cDovL2RldmVsb3BtZW50Lmx2aC5tZTozMDAwL2FwaS9leHBlbnNl
236
- cy8xOTAuanNvbiJ9
237
- http_version: '1.1'
238
- recorded_at: Mon, 12 Jun 2017 11:38:43 GMT
239
- - request:
240
- method: delete
241
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses/190.json
242
- body:
243
- encoding: US-ASCII
244
- string: ''
245
- headers:
246
- accept:
247
- - application/json; api_version=20160602
248
- authorization:
249
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
250
- response:
251
- status:
252
- code: 204
253
- message: No Content
254
- headers:
255
- x-frame-options:
256
- - ALLOWALL
257
- x-ratelimit-limit:
258
- - '2000'
259
- x-ratelimit-reset:
260
- - '10'
261
- x-ratelimit-remaining:
262
- - '98'
263
- cache-control:
264
- - no-cache
265
- x-request-id:
266
- - 3da69e9d-f360-4cea-bf45-80d0f6628bad
267
- x-runtime:
268
- - '2.237649'
269
- connection:
270
- - close
271
- server:
272
- - thin
273
- body:
274
- encoding: US-ASCII
275
- string: ''
276
- http_version: '1.1'
277
- recorded_at: Mon, 12 Jun 2017 11:38:45 GMT
278
- recorded_with: VCR 2.9.2