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,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://development.lvh.me:3000/api/contacts.json
6
- body:
7
- encoding: UTF-8
8
- string: '{"kind":"company","first_name":"Test_Skynet","email":"my_little@po.ny"}'
9
- headers:
10
- accept:
11
- - application/json
12
- authorization:
13
- - Bearer 36b82411e6686581fe3d7d10fbe931a3fdc9265a353832f0e3ff6269bd319e12
14
- content-type:
15
- - application/json
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
- - '15'
27
- x-ratelimit-remaining:
28
- - '99'
29
- content-type:
30
- - application/json; charset=utf-8
31
- etag:
32
- - '"a795161241ec36c1573a97839c8d403f"'
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- x-request-id:
36
- - ffea69d5-d081-408f-ab71-e4af487833c5
37
- x-runtime:
38
- - '1.645313'
39
- connection:
40
- - close
41
- server:
42
- - thin
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":62,"kind":"company","created_at":1497351487,"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":"8fec8de80f2ec765bf8471a2d9e259f63cbf06e4","permalink":"http://development.lvh.me:3000/billing/8fec8de80f2ec765bf8471a2d9e259f63cbf06e4","url":"http://development.lvh.me:3000/api/contacts/62"}'
46
- http_version: '1.1'
47
- recorded_at: Tue, 13 Jun 2017 10:58:07 GMT
48
- recorded_with: VCR 2.9.2
@@ -1,48 +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: '{"kind":"company","first_name":"Test_Skynet","email":"my_little@po.ny"}'
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
- - '10'
27
- x-ratelimit-remaining:
28
- - '92'
29
- content-type:
30
- - application/json; charset=utf-8
31
- etag:
32
- - '"32908f591a2c9a94a4b012544403fb8f"'
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- x-request-id:
36
- - 75135e5f-6461-4a39-a30d-54a10791c43d
37
- x-runtime:
38
- - '0.278524'
39
- connection:
40
- - close
41
- server:
42
- - thin
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":64,"kind":"company","created_at":1497351490,"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":"08638259e35b5864ad37f6c5776113d794fa2ac2","permalink":"http://development.lvh.me:3000/billing/08638259e35b5864ad37f6c5776113d794fa2ac2","url":"http://development.lvh.me:3000/api/contacts/64"}'
46
- http_version: '1.1'
47
- recorded_at: Tue, 13 Jun 2017 10:58:10 GMT
48
- recorded_with: VCR 2.9.2
@@ -1,137 +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
- - '15'
25
- x-ratelimit-remaining:
26
- - '100'
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
- - 12584b39-67b8-461a-9a8b-7cf0ceca23b9
39
- x-runtime:
40
- - '0.271814'
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:38 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
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
- - '15'
76
- x-ratelimit-remaining:
77
- - '99'
78
- content-type:
79
- - application/json; charset=utf-8
80
- etag:
81
- - '"5a741a1e031dbceb847c6193d1621a5e"'
82
- cache-control:
83
- - max-age=0, private, must-revalidate
84
- x-request-id:
85
- - c0cc429f-2c4b-4b45-a323-d25b3330cecf
86
- x-runtime:
87
- - '0.680277'
88
- connection:
89
- - close
90
- server:
91
- - thin
92
- body:
93
- encoding: UTF-8
94
- string: '{"id":176,"number":"test number 42","issue_date":"2017-06-09","created_at":1497013359,"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","items":[{"id":177,"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":"0.0"}],"subtotal_cents":"0.0","discount_cents":"0.0","taxes":[],"total_cents":0,"payment_details":null,"notes":null,"state":"outstanding","tag_list":[],"secure_id":"c554f9d8cc38cc0ef577322db3b0930ef5374886","permalink":"http://development.lvh.me:3000/estimate/c554f9d8cc38cc0ef577322db3b0930ef5374886","url":"http://development.lvh.me:3000/api/estimates/176.json","custom_metadata":{}}'
96
- http_version: '1.1'
97
- recorded_at: Fri, 09 Jun 2017 13:02:39 GMT
98
- - request:
99
- method: delete
100
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/estimates/176.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
- - '14'
120
- x-ratelimit-remaining:
121
- - '98'
122
- cache-control:
123
- - no-cache
124
- x-request-id:
125
- - dbc450fb-bbda-4630-ae93-1cea91fdcacb
126
- x-runtime:
127
- - '0.353439'
128
- connection:
129
- - close
130
- server:
131
- - thin
132
- body:
133
- encoding: US-ASCII
134
- string: ''
135
- http_version: '1.1'
136
- recorded_at: Fri, 09 Jun 2017 13:02:40 GMT
137
- recorded_with: VCR 2.9.2
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/evidences.json
6
- body:
7
- encoding: UTF-8
8
- string: '{"document_id":180,"billing_country":"BE","bank_country":"BE"}'
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
- - '"a0ac8e0c9afd5e7ae14cd5d9c0091b98"'
33
- cache-control:
34
- - max-age=0, private, must-revalidate
35
- x-request-id:
36
- - 7eaaa626-cb31-43db-8b5d-019ec34079e5
37
- x-runtime:
38
- - '0.840152'
39
- connection:
40
- - close
41
- server:
42
- - thin
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":1,"document_id":180,"state":"confirmed","billing_country":"BE","ip_address":null,"ip_country":null,"bank_country":"BE","vat_number":null,"notes":null}'
46
- http_version: '1.1'
47
- recorded_at: Fri, 09 Jun 2017 13:07:05 GMT
48
- recorded_with: VCR 2.9.2
@@ -1,189 +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
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
- - '12'
25
- x-ratelimit-remaining:
26
- - '98'
27
- x-pages-currentpage:
28
- - '1'
29
- x-pages-totalpages:
30
- - '1'
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - '"1096b389a8934c3608b59ed5c52ff5c1"'
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 036af7f9-9bf8-49de-b84d-33f2c8420f75
39
- x-runtime:
40
- - '3.312077'
41
- connection:
42
- - close
43
- server:
44
- - thin
45
- body:
46
- encoding: UTF-8
47
- string: '[{"id":184,"blocked":false,"issue_date":"2017-06-12","created_at":1497266330,"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":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
49
- 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
50
- 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
51
- 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
52
- 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":{}}]'
53
- http_version: '1.1'
54
- recorded_at: Mon, 12 Jun 2017 11:38:07 GMT
55
- - request:
56
- method: get
57
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/contacts.json?
58
- body:
59
- encoding: US-ASCII
60
- string: ''
61
- headers:
62
- accept:
63
- - application/json
64
- authorization:
65
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
66
- response:
67
- status:
68
- code: 200
69
- message: OK
70
- headers:
71
- x-frame-options:
72
- - ALLOWALL
73
- x-ratelimit-limit:
74
- - '2000'
75
- x-ratelimit-reset:
76
- - '9'
77
- x-ratelimit-remaining:
78
- - '97'
79
- x-pages-currentpage:
80
- - '1'
81
- x-pages-totalpages:
82
- - '1'
83
- content-type:
84
- - application/json; charset=utf-8
85
- etag:
86
- - '"9f61db3c521dbbd6fa0aec27f6813410"'
87
- cache-control:
88
- - max-age=0, private, must-revalidate
89
- x-request-id:
90
- - 025f7093-5b0b-4f38-a042-5360ab1115cf
91
- x-runtime:
92
- - '1.104037'
93
- connection:
94
- - close
95
- server:
96
- - thin
97
- body:
98
- encoding: UTF-8
99
- string: '[{"id":44,"kind":"company","created_at":1496660076,"full_name":"Albus
100
- 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
101
- 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"}]'
102
- http_version: '1.1'
103
- recorded_at: Mon, 12 Jun 2017 11:38:09 GMT
104
- - request:
105
- method: post
106
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses.json
107
- body:
108
- encoding: UTF-8
109
- 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":""}'
110
- headers:
111
- accept:
112
- - application/json
113
- content-type:
114
- - application/json
115
- authorization:
116
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
117
- response:
118
- status:
119
- code: 201
120
- message: Created
121
- headers:
122
- x-frame-options:
123
- - ALLOWALL
124
- x-ratelimit-limit:
125
- - '2000'
126
- x-ratelimit-reset:
127
- - '7'
128
- x-ratelimit-remaining:
129
- - '96'
130
- content-type:
131
- - application/json; charset=utf-8
132
- etag:
133
- - '"c76a50620433ffd549726ae999c4bf09"'
134
- cache-control:
135
- - max-age=0, private, must-revalidate
136
- x-request-id:
137
- - b0648fd4-850e-4f6b-9e53-b335690ca665
138
- x-runtime:
139
- - '3.761056'
140
- connection:
141
- - close
142
- server:
143
- - thin
144
- body:
145
- encoding: UTF-8
146
- string: '{"id":188,"blocked":false,"issue_date":"2017-06-12","created_at":1497267490,"contact":{"id":44,"full_name":"Albus
147
- 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":189,"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/188.json","custom_metadata":{}}'
148
- http_version: '1.1'
149
- recorded_at: Mon, 12 Jun 2017 11:38:12 GMT
150
- - request:
151
- method: delete
152
- uri: http://sk_test_B7xXrTspfeGukQqGN1pK@development.lvh.me:3000/api/expenses/188.json
153
- body:
154
- encoding: US-ASCII
155
- string: ''
156
- headers:
157
- accept:
158
- - application/json
159
- authorization:
160
- - Basic c2tfdGVzdF9CN3hYclRzcGZlR3VrUXFHTjFwSzo=
161
- response:
162
- status:
163
- code: 204
164
- message: No Content
165
- headers:
166
- x-frame-options:
167
- - ALLOWALL
168
- x-ratelimit-limit:
169
- - '2000'
170
- x-ratelimit-reset:
171
- - '4'
172
- x-ratelimit-remaining:
173
- - '95'
174
- cache-control:
175
- - no-cache
176
- x-request-id:
177
- - 1b0b9663-f40f-4f7d-abd6-45a946d52ba8
178
- x-runtime:
179
- - '2.399572'
180
- connection:
181
- - close
182
- server:
183
- - thin
184
- body:
185
- encoding: US-ASCII
186
- string: ''
187
- http_version: '1.1'
188
- recorded_at: Mon, 12 Jun 2017 11:38:15 GMT
189
- recorded_with: VCR 2.9.2