badbill 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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