badbill 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. data/CONTRIBUTING.md +5 -2
  2. data/Gemfile +14 -3
  3. data/Gemfile.lock +51 -15
  4. data/Guardfile +6 -0
  5. data/LICENSE +1 -1
  6. data/README.md +8 -3
  7. data/Rakefile +5 -1
  8. data/badbill.gemspec +86 -0
  9. data/lib/badbill.rb +32 -2
  10. data/lib/badbill/base_resource.rb +51 -9
  11. data/lib/badbill/client.rb +1 -1
  12. data/lib/badbill/faraday_gzip.rb +18 -0
  13. data/lib/badbill/forward_methods.rb +6 -0
  14. data/lib/badbill/invoice.rb +31 -1
  15. data/lib/badbill/invoice_comment.rb +24 -0
  16. data/lib/badbill/invoice_item.rb +17 -0
  17. data/lib/badbill/invoice_payment.rb +28 -0
  18. data/lib/badbill/recurring.rb +11 -0
  19. data/spec/badbill/base_resource_spec.rb +1 -1
  20. data/spec/badbill/client_spec.rb +72 -68
  21. data/spec/badbill/invoice_comment_spec.rb +33 -0
  22. data/spec/badbill/invoice_item_spec.rb +17 -0
  23. data/spec/badbill/invoice_payment_spec.rb +17 -0
  24. data/spec/badbill/invoice_spec.rb +77 -176
  25. data/spec/badbill/recurring_spec.rb +18 -0
  26. data/spec/badbill_spec.rb +19 -17
  27. data/spec/fixtures/vcr_cassettes/aggregated_invoices.yml +64 -0
  28. data/spec/fixtures/vcr_cassettes/all_clients.yml +72 -0
  29. data/spec/fixtures/vcr_cassettes/all_invoices.yml +134 -0
  30. data/spec/fixtures/vcr_cassettes/all_recurring_invoices.yml +131 -0
  31. data/spec/fixtures/vcr_cassettes/client_on_change.yml +54 -0
  32. data/spec/fixtures/vcr_cassettes/draft_item.yml +71 -0
  33. data/spec/fixtures/vcr_cassettes/existent_client.yml +71 -0
  34. data/spec/fixtures/vcr_cassettes/fetched_invoice_pdf.yml +2111 -0
  35. data/spec/fixtures/vcr_cassettes/fetches_invoice-item_by_id.yml +123 -0
  36. data/spec/fixtures/vcr_cassettes/invoice-comments_by_invoice_id.yml +68 -0
  37. data/spec/fixtures/vcr_cassettes/invoice-comments_by_invoice_id_and_actionkey_PAYMENT.yml +131 -0
  38. data/spec/fixtures/vcr_cassettes/invoice-comments_by_invoice_id_and_actionkeys.yml +67 -0
  39. data/spec/fixtures/vcr_cassettes/invoice_canceled.yml +50 -0
  40. data/spec/fixtures/vcr_cassettes/invoice_deleted.yml +46 -0
  41. data/spec/fixtures/vcr_cassettes/invoice_info.yml +131 -0
  42. data/spec/fixtures/vcr_cassettes/invoice_marked_as_complete.yml +95 -0
  43. data/spec/fixtures/vcr_cassettes/invoice_payments.yml +123 -0
  44. data/spec/fixtures/vcr_cassettes/invoice_send_email_with_basic_info.yml +48 -0
  45. data/spec/fixtures/vcr_cassettes/invoice_send_email_with_basic_info_and_from.yml +48 -0
  46. data/spec/fixtures/vcr_cassettes/invoice_send_email_with_basic_info_from_and_subject.yml +48 -0
  47. data/spec/fixtures/vcr_cassettes/invoice_send_mail.yml +48 -0
  48. data/spec/fixtures/vcr_cassettes/invoice_send_mail_invalid_address.yml +48 -0
  49. data/spec/fixtures/vcr_cassettes/invoice_uploaded_signature.yml +48 -0
  50. data/spec/fixtures/vcr_cassettes/myself_client.yml +70 -0
  51. data/spec/fixtures/vcr_cassettes/new_client.yml +50 -0
  52. data/spec/fixtures/vcr_cassettes/non_existent_client.yml +303 -0
  53. data/spec/fixtures/vcr_cassettes/save_for_non-existent_client.yml +48 -0
  54. data/spec/fixtures/vcr_cassettes/wrong_data_for_client.yml +50 -0
  55. data/spec/spec_helper.rb +50 -0
  56. metadata +43 -4
  57. data/spec/helper.rb +0 -24
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe BadBill::Recurring do
6
+ before :all do
7
+ @badbill = new_badbill 1
8
+ end
9
+
10
+ it "fetches all recurring invoices" do
11
+ VCR.use_cassette("all recurring invoices") do
12
+ resp = BadBill::Recurring.all
13
+
14
+ resp.size.should eq(1)
15
+ resp.first.id.should eq(21885)
16
+ end
17
+ end
18
+ end
@@ -1,8 +1,18 @@
1
1
  # encoding: utf-8
2
2
 
3
- require_relative 'helper'
3
+ require 'spec_helper'
4
4
 
5
5
  describe BadBill do
6
+ before :each do
7
+ BadBill.clear_connection
8
+ end
9
+
10
+ after :each do
11
+ BadBill.clear_connection
12
+ end
13
+
14
+ DEFAULT_HEADERS = {'Accept' => /application\/json/, 'X-BillomatApiKey' => '12345' }
15
+
6
16
  it "creates new global connection object" do
7
17
  BadBill.connection.should be_nil
8
18
  b = BadBill.new "ruby", "12345"
@@ -16,7 +26,7 @@ describe BadBill do
16
26
 
17
27
  it "sends a specified request to the API" do
18
28
  stub = stub_request(:get, "ruby.billomat.net/api/").
19
- with(:headers => {'Accept' => /application\/json/}).
29
+ with(headers: DEFAULT_HEADERS).
20
30
  to_return(:body => "{}")
21
31
 
22
32
  @badbill.call ''
@@ -25,8 +35,7 @@ describe BadBill do
25
35
 
26
36
  it "sends a GET request to the API" do
27
37
  stub = stub_request(:get, "ruby.billomat.net/api/").
28
- with(:headers => {'X-BillomatApiKey' => '12345',
29
- 'Accept' => /application\/json/}).
38
+ with(headers: DEFAULT_HEADERS).
30
39
  to_return(:body => "{}")
31
40
 
32
41
  @badbill.get ''
@@ -35,8 +44,7 @@ describe BadBill do
35
44
 
36
45
  it "sends a GET request with parameters to the API" do
37
46
  stub = stub_request(:get, "ruby.billomat.net/api/resource/?option=foobar").
38
- with(:headers => {'X-BillomatApiKey' => '12345',
39
- 'Accept' => /application\/json/}).
47
+ with(headers: DEFAULT_HEADERS).
40
48
  to_return(:body => "{}")
41
49
 
42
50
  @badbill.get 'resource', option: "foobar"
@@ -45,9 +53,7 @@ describe BadBill do
45
53
 
46
54
  it "sends a POST request to the API" do
47
55
  stub = stub_request(:post, "ruby.billomat.net/api/").
48
- with(:headers => {'X-BillomatApiKey' => '12345',
49
- 'Accept' => /application\/json/,
50
- 'Content-Type' => /application\/json/}).
56
+ with(headers: DEFAULT_HEADERS.merge('Content-Type' => /application\/json/)).
51
57
  to_return(:body => "{}")
52
58
 
53
59
  @badbill.post ''
@@ -56,9 +62,7 @@ describe BadBill do
56
62
 
57
63
  it "sends a PUT request to the API" do
58
64
  stub = stub_request(:put, "ruby.billomat.net/api/").
59
- with(:headers => {'X-BillomatApiKey' => '12345',
60
- 'Accept' => /application\/json/,
61
- 'Content-Type' => /application\/json/}).
65
+ with(headers: DEFAULT_HEADERS.merge('Content-Type' => /application\/json/)).
62
66
  to_return(:body => "{}")
63
67
 
64
68
  @badbill.put ''
@@ -67,8 +71,7 @@ describe BadBill do
67
71
 
68
72
  it "sends a DELETE request to the API" do
69
73
  stub = stub_request(:delete, "ruby.billomat.net/api/").
70
- with(:headers => {'X-BillomatApiKey' => '12345',
71
- 'Accept' => /application\/json/}).
74
+ with(headers: DEFAULT_HEADERS).
72
75
  to_return(:body => "{}")
73
76
 
74
77
  @badbill.delete ''
@@ -77,12 +80,11 @@ describe BadBill do
77
80
 
78
81
  it "returns an error object on HTTP errors" do
79
82
  stub = stub_request(:get, "ruby.billomat.net/api/resource/").
80
- with(:headers => {'X-BillomatApiKey' => '12345',
81
- 'Accept' => /application\/json/}).
83
+ with(headers: DEFAULT_HEADERS).
82
84
  to_return(:status => 404)
83
85
 
84
86
  resp = @badbill.get 'resource'
85
- resp.error.kind_of?(Faraday::Error::ClientError).should == true
87
+ resp.error.should be_a(Faraday::Error::ClientError)
86
88
  stub.should have_been_requested
87
89
  end
88
90
  end
@@ -0,0 +1,64 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://rediger.billomat.net/api/invoices/?group_by=client
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Billomatapikey:
11
+ - e1923a9ab25fc955be3321725be882bd
12
+ Accept:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: !binary |-
22
+ T0s=
23
+ headers:
24
+ !binary "RGF0ZQ==":
25
+ - !binary |-
26
+ TW9uLCAwNSBOb3YgMjAxMiAxNjowNDowMSBHTVQ=
27
+ !binary "U2VydmVy":
28
+ - !binary |-
29
+ QXBhY2hl
30
+ !binary "WC1Qb3dlcmVkLUJ5":
31
+ - !binary |-
32
+ UEhQLzUuMy4zLTcrc3F1ZWV6ZTE0
33
+ !binary "RXhwaXJlcw==":
34
+ - !binary |-
35
+ VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ=
36
+ !binary "Q2FjaGUtQ29udHJvbA==":
37
+ - !binary |-
38
+ bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl
39
+ Y2s9MCwgcHJlLWNoZWNrPTA=
40
+ !binary "UHJhZ21h":
41
+ - !binary |-
42
+ bm8tY2FjaGU=
43
+ !binary "U2V0LUNvb2tpZQ==":
44
+ - !binary |-
45
+ bGFuZ3VhZ2U9ZGVfREU7IGV4cGlyZXM9VHVlLCAwNS1Ob3YtMjAxMyAxNjow
46
+ NDowMiBHTVQ7IHBhdGg9Lw==
47
+ !binary "Q29udGVudC1FbmNvZGluZw==":
48
+ - !binary |-
49
+ Z3ppcA==
50
+ !binary "Q29udGVudC1MZW5ndGg=":
51
+ - !binary |-
52
+ MTI5
53
+ !binary "Q29udGVudC1UeXBl":
54
+ - !binary |-
55
+ YXBwbGljYXRpb24vanNvbg==
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: !binary |-
59
+ H4sIAAAAAAAAA6tWyswry89MTtVNL8ovLShWsqpGFQEJlOSXJObEA7nFQHkl
60
+ QyMTPQMDJR2ocF5qCUjQwETPCCSYnJOZmlcSn5kCEjSzNLG0BArCTCxILErM
61
+ BduBRVltrY6SQ3JpUVFqXnJlfHJ+SipQzjU0CCgBAA/wgs+mAAAA
62
+ http_version:
63
+ recorded_at: Mon, 05 Nov 2012 16:04:03 GMT
64
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://rediger.billomat.net/api/clients/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Billomatapikey:
11
+ - e1923a9ab25fc955be3321725be882bd
12
+ Accept:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: !binary |-
22
+ T0s=
23
+ headers:
24
+ !binary "RGF0ZQ==":
25
+ - !binary |-
26
+ TW9uLCAwNSBOb3YgMjAxMiAxNTowODoxNiBHTVQ=
27
+ !binary "U2VydmVy":
28
+ - !binary |-
29
+ QXBhY2hl
30
+ !binary "WC1Qb3dlcmVkLUJ5":
31
+ - !binary |-
32
+ UEhQLzUuMy4zLTcrc3F1ZWV6ZTE0
33
+ !binary "RXhwaXJlcw==":
34
+ - !binary |-
35
+ VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ=
36
+ !binary "Q2FjaGUtQ29udHJvbA==":
37
+ - !binary |-
38
+ bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl
39
+ Y2s9MCwgcHJlLWNoZWNrPTA=
40
+ !binary "UHJhZ21h":
41
+ - !binary |-
42
+ bm8tY2FjaGU=
43
+ !binary "U2V0LUNvb2tpZQ==":
44
+ - !binary |-
45
+ bGFuZ3VhZ2U9ZGVfREU7IGV4cGlyZXM9VHVlLCAwNS1Ob3YtMjAxMyAxNTow
46
+ ODoxNiBHTVQ7IHBhdGg9Lw==
47
+ !binary "Q29udGVudC1FbmNvZGluZw==":
48
+ - !binary |-
49
+ Z3ppcA==
50
+ !binary "Q29udGVudC1MZW5ndGg=":
51
+ - !binary |-
52
+ NDUx
53
+ !binary "Q29udGVudC1UeXBl":
54
+ - !binary |-
55
+ YXBwbGljYXRpb24vanNvbg==
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: !binary |-
59
+ H4sIAAAAAAAAA31TX2/aMBD/KsivA+QEaEeemFpUbZM6qaUPlSZFxnbCtYlt
60
+ 2Q4pq/juOztRgdI2D9H9/tz57uK8El6BVN6R7LUPQwSCZCS5mE/nczIk3Erm
61
+ ZaBSmqSjJBnRySqZZOkso7NvNMkoDa6YnaumXkuL3ilyH4DcWIlEwKwO0S+m
62
+ RksLz4M7KaBE95A4VjWeedCqcxZgHVY+9SNfsQN9lO2tlDgG+f23obS4UFC6
63
+ TQx5KatBOkHPPzBomKX0MnTGwe8Q/mB8I1WsgPN2R3PdKG93OdciMNdL5MxG
64
+ q14u2EsX1HoNVU/KmkGF4ZO0C2vXaB4rbGhI2rbtHJ69HBaFeMv8CV4z9Zwz
65
+ Hg/PdatO+DNjv4H3eWc+10LhjzDg+9CPbWL/V38ebld3j0gKcF0hi9vI/c4E
66
+ +X65Wv28vbl/r3d13ijBdu6rlKCHKxa2Lxr5qb+XkJ0kiK2sQQm8RF/knHlQ
67
+ vkReFwWSW1aBwM/9WfYHLjSE+20scJmXVjemZ5SOc7uNNiMQ2aDrcCtVE30u
68
+ TkjHND5Hmoq38/t42gn7IVkYVoZSocLChJ+kxzFv4bVnVZT3+/9GOLqgsgMA
69
+ AA==
70
+ http_version:
71
+ recorded_at: Mon, 05 Nov 2012 15:08:16 GMT
72
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,134 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ruby.billomat.net/api/invoices/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Billomatapikey:
11
+ - '12345'
12
+ Accept:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: !binary |-
22
+ Tm90IEZvdW5k
23
+ headers:
24
+ !binary "RGF0ZQ==":
25
+ - !binary |-
26
+ TW9uLCAwNSBOb3YgMjAxMiAxNjowMDo0NiBHTVQ=
27
+ !binary "U2VydmVy":
28
+ - !binary |-
29
+ QXBhY2hl
30
+ !binary "WC1Qb3dlcmVkLUJ5":
31
+ - !binary |-
32
+ UEhQLzUuMy4zLTcrc3F1ZWV6ZTE0
33
+ !binary "RXhwaXJlcw==":
34
+ - !binary |-
35
+ VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ=
36
+ !binary "Q2FjaGUtQ29udHJvbA==":
37
+ - !binary |-
38
+ bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl
39
+ Y2s9MCwgcHJlLWNoZWNrPTA=
40
+ !binary "UHJhZ21h":
41
+ - !binary |-
42
+ bm8tY2FjaGU=
43
+ !binary "U2V0LUNvb2tpZQ==":
44
+ - !binary |-
45
+ bGFuZ3VhZ2U9ZGVfREU7IGV4cGlyZXM9VHVlLCAwNS1Ob3YtMjAxMyAxNjow
46
+ MDo0NiBHTVQ7IHBhdGg9Lw==
47
+ !binary "Q29udGVudC1FbmNvZGluZw==":
48
+ - !binary |-
49
+ Z3ppcA==
50
+ !binary "Q29udGVudC1MZW5ndGg=":
51
+ - !binary |-
52
+ NTQ=
53
+ !binary "Q29udGVudC1UeXBl":
54
+ - !binary |-
55
+ YXBwbGljYXRpb24vanNvbg==
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: !binary |-
59
+ H4sIAAAAAAAAA6tWSi0qyi8qVrKqhrCUrJQck5PzS/NKFPLySxTcgKwUpdpa
60
+ AK601T0oAAAA
61
+ http_version:
62
+ recorded_at: Mon, 05 Nov 2012 16:00:46 GMT
63
+ - request:
64
+ method: get
65
+ uri: http://rediger.billomat.net/api/invoices/
66
+ body:
67
+ encoding: US-ASCII
68
+ string: ''
69
+ headers:
70
+ X-Billomatapikey:
71
+ - e1923a9ab25fc955be3321725be882bd
72
+ Accept:
73
+ - application/json
74
+ Accept-Encoding:
75
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
76
+ User-Agent:
77
+ - Ruby
78
+ response:
79
+ status:
80
+ code: 200
81
+ message: !binary |-
82
+ T0s=
83
+ headers:
84
+ !binary "RGF0ZQ==":
85
+ - !binary |-
86
+ TW9uLCAwNSBOb3YgMjAxMiAxNjowMToyNCBHTVQ=
87
+ !binary "U2VydmVy":
88
+ - !binary |-
89
+ QXBhY2hl
90
+ !binary "WC1Qb3dlcmVkLUJ5":
91
+ - !binary |-
92
+ UEhQLzUuMy4zLTcrc3F1ZWV6ZTE0
93
+ !binary "RXhwaXJlcw==":
94
+ - !binary |-
95
+ VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ=
96
+ !binary "Q2FjaGUtQ29udHJvbA==":
97
+ - !binary |-
98
+ bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl
99
+ Y2s9MCwgcHJlLWNoZWNrPTA=
100
+ !binary "UHJhZ21h":
101
+ - !binary |-
102
+ bm8tY2FjaGU=
103
+ !binary "U2V0LUNvb2tpZQ==":
104
+ - !binary |-
105
+ bGFuZ3VhZ2U9ZGVfREU7IGV4cGlyZXM9VHVlLCAwNS1Ob3YtMjAxMyAxNjow
106
+ MToyNCBHTVQ7IHBhdGg9Lw==
107
+ !binary "Q29udGVudC1FbmNvZGluZw==":
108
+ - !binary |-
109
+ Z3ppcA==
110
+ !binary "Q29udGVudC1MZW5ndGg=":
111
+ - !binary |-
112
+ NTQ4
113
+ !binary "Q29udGVudC1UeXBl":
114
+ - !binary |-
115
+ YXBwbGljYXRpb24vanNvbg==
116
+ body:
117
+ encoding: ASCII-8BIT
118
+ string: !binary |-
119
+ H4sIAAAAAAAAA8VUTY+bMBD9K5GlnppEtoEEOCVS0kM/o2z2UDUV8oJDrIKh
120
+ BreNVvz3egxhw24/tKutevLMMzNvZjyPWyTkt0LEvELh7dlG4SdjJyhEjkcd
121
+ itEYxYqzmgNEMaETQibY2RE/dGYhJi8xCbH9KhNc1pENJbPADQIDdkkjqfMb
122
+ riCDAXunt6NS8dZPDNOAyGCVLsvsFHVXQyCqTyWgV9ebzduP0Wq5W0MWzaNB
123
+ JjrBbo+fKuiOGJ8lieIVuK+ZnKyV+DLa8kSkXO3lQ+TNXmN8mEmRVkdrxinP
124
+ RtTZS4/iuTtasvjI5V6uuK6r+JgxmUCxNas1UKy2y1c7KEJUcaHNqFTfUA/d
125
+ a5/Mh5e2cuJegiyHw8DwBhm74VmbUshaFd2MizNPXdQsi1JV2J4Jcaf26VpY
126
+ ckgTeFPfPqdWisv4FMVFAtHr661Bv+o2FzGBNlTxRMe1KKQBvRdDikhLe21X
127
+ h1B8junpBh9YYntfslMOqwRPW3WFsx/tlhoDDslyKOPd96saiminRmDj+nkQ
128
+ f0p7/6I51DRjVBwOZuvsrkKvhTwIlTPoowcVhxEImXZIM77TxRwHv9aFuyNB
129
+ 6BlF0Efqglzq4s75vTDcZxOG97+F8WGzfv9IXfj/VBf4oSz8qftEVWD0B1H8
130
+ RRPA+pySmM7uKwIYHPeJmqDE9z3UfB6jRclS3m3uooS97Xxb/cJ2Z//+TfMT
131
+ Tjsg83YGAAA=
132
+ http_version:
133
+ recorded_at: Mon, 05 Nov 2012 16:01:24 GMT
134
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,131 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ruby.billomat.net/api/recurrings/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Billomatapikey:
11
+ - '12345'
12
+ Accept:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: !binary |-
22
+ Tm90IEZvdW5k
23
+ headers:
24
+ !binary "RGF0ZQ==":
25
+ - !binary |-
26
+ TW9uLCAwNSBOb3YgMjAxMiAyMTo1NDo0NCBHTVQ=
27
+ !binary "U2VydmVy":
28
+ - !binary |-
29
+ QXBhY2hl
30
+ !binary "WC1Qb3dlcmVkLUJ5":
31
+ - !binary |-
32
+ UEhQLzUuMy4zLTcrc3F1ZWV6ZTE0
33
+ !binary "RXhwaXJlcw==":
34
+ - !binary |-
35
+ VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ=
36
+ !binary "Q2FjaGUtQ29udHJvbA==":
37
+ - !binary |-
38
+ bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl
39
+ Y2s9MCwgcHJlLWNoZWNrPTA=
40
+ !binary "UHJhZ21h":
41
+ - !binary |-
42
+ bm8tY2FjaGU=
43
+ !binary "U2V0LUNvb2tpZQ==":
44
+ - !binary |-
45
+ bGFuZ3VhZ2U9ZGVfREU7IGV4cGlyZXM9VHVlLCAwNS1Ob3YtMjAxMyAyMTo1
46
+ NDo0NCBHTVQ7IHBhdGg9Lw==
47
+ !binary "Q29udGVudC1FbmNvZGluZw==":
48
+ - !binary |-
49
+ Z3ppcA==
50
+ !binary "Q29udGVudC1MZW5ndGg=":
51
+ - !binary |-
52
+ NTQ=
53
+ !binary "Q29udGVudC1UeXBl":
54
+ - !binary |-
55
+ YXBwbGljYXRpb24vanNvbg==
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: !binary |-
59
+ H4sIAAAAAAAAA6tWSi0qyi8qVrKqhrCUrJQck5PzS/NKFPLySxTcgKwUpdpa
60
+ AK601T0oAAAA
61
+ http_version:
62
+ recorded_at: Mon, 05 Nov 2012 21:54:44 GMT
63
+ - request:
64
+ method: get
65
+ uri: http://rediger.billomat.net/api/recurrings/
66
+ body:
67
+ encoding: US-ASCII
68
+ string: ''
69
+ headers:
70
+ X-Billomatapikey:
71
+ - e1923a9ab25fc955be3321725be882bd
72
+ Accept:
73
+ - application/json
74
+ Accept-Encoding:
75
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
76
+ User-Agent:
77
+ - Ruby
78
+ response:
79
+ status:
80
+ code: 200
81
+ message: !binary |-
82
+ T0s=
83
+ headers:
84
+ !binary "RGF0ZQ==":
85
+ - !binary |-
86
+ TW9uLCAwNSBOb3YgMjAxMiAyMTo1NTowMCBHTVQ=
87
+ !binary "U2VydmVy":
88
+ - !binary |-
89
+ QXBhY2hl
90
+ !binary "WC1Qb3dlcmVkLUJ5":
91
+ - !binary |-
92
+ UEhQLzUuMy4zLTcrc3F1ZWV6ZTE0
93
+ !binary "RXhwaXJlcw==":
94
+ - !binary |-
95
+ VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ=
96
+ !binary "Q2FjaGUtQ29udHJvbA==":
97
+ - !binary |-
98
+ bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl
99
+ Y2s9MCwgcHJlLWNoZWNrPTA=
100
+ !binary "UHJhZ21h":
101
+ - !binary |-
102
+ bm8tY2FjaGU=
103
+ !binary "U2V0LUNvb2tpZQ==":
104
+ - !binary |-
105
+ bGFuZ3VhZ2U9ZGVfREU7IGV4cGlyZXM9VHVlLCAwNS1Ob3YtMjAxMyAyMTo1
106
+ NTowMCBHTVQ7IHBhdGg9Lw==
107
+ !binary "Q29udGVudC1FbmNvZGluZw==":
108
+ - !binary |-
109
+ Z3ppcA==
110
+ !binary "Q29udGVudC1MZW5ndGg=":
111
+ - !binary |-
112
+ NDM4
113
+ !binary "Q29udGVudC1UeXBl":
114
+ - !binary |-
115
+ YXBwbGljYXRpb24vanNvbg==
116
+ body:
117
+ encoding: ASCII-8BIT
118
+ string: !binary |-
119
+ H4sIAAAAAAAAA3WSTW/UMBCG/0qVK21lLyk0OS2ClTgUqJbtoRKS5dqTrZFj
120
+ B8dGRNX+d8bjzW4jgXLJPPPOt1+qACqFYNx+rNqXs5UNo6u2WvHb25vqslIB
121
+ ZAQijK+uOL9i9Y43bf2+vanfMN4yllXWgIuCIvm7pm4ahBH6wWJwwVmFNcCp
122
+ SSivAdHmYYvUyT4bW1DPLrn9RfcjMdapcPGbMcbxY6ymGpOyWfjl29fd57tH
123
+ JFJF4x2ij9vNh90GybNPIbeKv2OUIQqN9Re9owecnjlaVo5R0JSY6596B3/+
124
+ p1gVhYkQyIvLrKhXnxyyvI3cp9YBxrHU0wkwx5Stt9mpzUhqEU4tndBRx6mG
125
+ i8EXv/OzMvoordgHT9k5v27YiTqImbFrutCvVII4mgSSjab3x36tfAJbUo5p
126
+ GOxEY4o4DTnm+8P9/d2j+FR2/EpQIqCXxooR10oTn0l6+gkqvkY9rkHuF3Gd
127
+ sXB8AsgC6DRflS0HFMmRlx4jjcoWwy79bJ5zkFOf32ae5XgC33UQzq/Su86E
128
+ vly3wMNltR5Kn/lE6wHls01J11SV3IfDX6yC4i1NAwAA
129
+ http_version:
130
+ recorded_at: Mon, 05 Nov 2012 21:55:00 GMT
131
+ recorded_with: VCR 2.2.5