ecommerce-client 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +31 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +5 -0
  8. data/ecommerce-client.gemspec +29 -0
  9. data/lib/ecommerce.rb +25 -0
  10. data/lib/ecommerce/attribute_handler.rb +51 -0
  11. data/lib/ecommerce/client.rb +45 -0
  12. data/lib/ecommerce/configuration.rb +14 -0
  13. data/lib/ecommerce/exception.rb +11 -0
  14. data/lib/ecommerce/request.rb +49 -0
  15. data/lib/ecommerce/resources/base.rb +28 -0
  16. data/lib/ecommerce/resources/order.rb +91 -0
  17. data/lib/ecommerce/resources/order_collection.rb +62 -0
  18. data/lib/ecommerce/response.rb +34 -0
  19. data/lib/ecommerce/version.rb +3 -0
  20. data/spec/ecommerce/attribute_handler_spec.rb +54 -0
  21. data/spec/ecommerce/client_spec.rb +26 -0
  22. data/spec/ecommerce/configuration_spec.rb +21 -0
  23. data/spec/ecommerce/request_spec.rb +23 -0
  24. data/spec/ecommerce/resources/order_collection_spec.rb +82 -0
  25. data/spec/ecommerce/resources/order_spec.rb +155 -0
  26. data/spec/ecommerce/response_spec.rb +35 -0
  27. data/spec/ecommerce_spec.rb +48 -0
  28. data/spec/spec_helper.rb +24 -0
  29. data/spec/support/vcr.rb +7 -0
  30. data/spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_returns_body.yml +64 -0
  31. data/spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_when_sending_not_all_required_parameters_raises_.yml +46 -0
  32. data/spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_not_found_raises_NotFound.yml +46 -0
  33. data/spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_success_returns_empty_body.yml +48 -0
  34. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_not_found_raises_NotFound.yml +46 -0
  35. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_success_returns_a_find_all_of_orders.yml +99 -0
  36. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_not_found_raises_NotFound.yml +46 -0
  37. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_success_returns_order_object.yml +58 -0
  38. data/spec/vcr_cassettes/client/authenticated/false.yml +47 -0
  39. data/spec/vcr_cassettes/client/authenticated/true.yml +56 -0
  40. data/tasks/rspec.rake +2 -0
  41. metadata +206 -0
@@ -0,0 +1,35 @@
1
+ require "spec_helper"
2
+
3
+ describe Ecommerce::Response do
4
+ subject { described_class.new }
5
+
6
+ describe "#resolve!" do
7
+ context 'when success' do
8
+ it 'returns self' do
9
+ response = double(success?: true)
10
+ expect(described_class.new(response).resolve!).to eq(response)
11
+ end
12
+
13
+ context 'when block given' do
14
+ it 'returns block' do
15
+ response = double(success?: true)
16
+ expect(described_class.new(response).resolve!{ response }).to eq(response)
17
+ end
18
+ end
19
+ end
20
+
21
+ context 'when timeout' do
22
+ it 'raises RequestTimeout' do
23
+ response = double(success?: false, timed_out?: true)
24
+ expect{described_class.new(response).resolve!}.to raise_error(Ecommerce::RequestTimeout)
25
+ end
26
+ end
27
+
28
+ context 'when not success neither timeout' do
29
+ it 'raises RequestError' do
30
+ response = double(success?: false, timed_out?: false, code: 301, status_message: 'Moved Permanently', body: '')
31
+ expect{described_class.new(response).resolve!}.to raise_error(Ecommerce::RequestError)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,48 @@
1
+ require "spec_helper"
2
+
3
+ describe Ecommerce do
4
+ it "has a version number" do
5
+ expect(Ecommerce::VERSION).not_to be_nil
6
+ end
7
+
8
+ describe ".configuration" do
9
+ it "is done via block initialization" do
10
+ Ecommerce.configure do |c|
11
+ c.url = "http://some/where"
12
+ c.user_agent = "My App v1.0"
13
+ c.token = "My-Token"
14
+ c.secret = "My-Secret"
15
+ end
16
+ expect(Ecommerce.configuration.url).to eq("http://some/where")
17
+ expect(Ecommerce.configuration.user_agent).to eq("My App v1.0")
18
+ expect(Ecommerce.configuration.token).to eq("My-Token")
19
+ expect(Ecommerce.configuration.secret).to eq("My-Secret")
20
+ end
21
+
22
+ it "uses a singleton object for the configuration values" do
23
+ config1 = Ecommerce.configuration
24
+ config2 = Ecommerce.configuration
25
+ expect(config1).to eq config2
26
+ end
27
+ end
28
+
29
+ describe ".configure" do
30
+ it "returns nil when no block given" do
31
+ expect(Ecommerce.configure).to eql(nil)
32
+ end
33
+
34
+ it "raise error if no method" do
35
+ expect { Ecommerce.configure do |c|
36
+ c.user = "Bart"
37
+ end }.to raise_error(NoMethodError)
38
+ end
39
+ end
40
+
41
+ describe ".client" do
42
+ subject { described_class.client }
43
+
44
+ it "returns an instance of Ecommerce::Client" do
45
+ expect(subject).to be_a(Ecommerce::Client)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,24 @@
1
+ require "ecommerce"
2
+ require "pry"
3
+ require "vcr"
4
+
5
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
6
+
7
+ Dir["spec/support/**/*.rb"].each { |f| load f }
8
+
9
+ VCR.configure do |config|
10
+ config.cassette_library_dir = "spec/vcr_cassettes"
11
+ config.hook_into :typhoeus
12
+ config.ignore_hosts "codeclimate.com"
13
+ end
14
+
15
+ RSpec.configure do |config|
16
+ config.mock_with :rspec
17
+
18
+ config.before(:each) do
19
+ Ecommerce.configuration.url = "http://sandbox.ecommerce.myfreecomm.com.br"
20
+ Ecommerce.configuration.secret = "41e13768b47d553417b441b863ba"
21
+ Ecommerce.configuration.token = "p9aYsRSIvM"
22
+ Typhoeus::Expectation.clear
23
+ end
24
+ end
@@ -0,0 +1,7 @@
1
+ RSpec.configure do |config|
2
+ # pass `vcr: true` to an example to run it using VCR
3
+ config.around(:each, vcr: true) do |example|
4
+ name = example.metadata[:full_description].gsub(/\W+/, "_").split("_", 2).join("/").gsub('::', '_')[0, 94]
5
+ VCR.use_cassette(name, record: :once) { example.call }
6
+ end
7
+ end
@@ -0,0 +1,64 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"global_account":"e5732007-7989-4372-8e72-9ec8cf6ee046","client_email":"jaime.lannister@mailinator.com","identity":"8923199e-6c43-415a-bbd1-2e302fdf8d96"}'
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: CREATED
22
+ headers:
23
+ Allow:
24
+ - GET, POST, HEAD, OPTIONS
25
+ Cache-Control:
26
+ - no-cache
27
+ Cache-Timeout:
28
+ - "-1"
29
+ Content-Language:
30
+ - pt-br
31
+ Content-Type:
32
+ - application/json
33
+ Date:
34
+ - Wed, 25 Mar 2015 20:55:32 GMT
35
+ Expires:
36
+ - Wed, 25 Mar 2015 17:55:32
37
+ Location:
38
+ - http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2609/checkout/
39
+ Server:
40
+ - nginx/1.6.2
41
+ Vary:
42
+ - Authenticate, Accept, Accept-Language, Cookie
43
+ transfer-encoding:
44
+ - chunked
45
+ Connection:
46
+ - keep-alive
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"is_paid": false, "address_number": null, "plan_change_urls": {},
50
+ "activation_expired": false, "number": 2609, "address_state": null, "global_account":
51
+ "e5732007-7989-4372-8e72-9ec8cf6ee046", "api_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/",
52
+ "is_trial": false, "document_number": null, "checkout_url": "http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2609/checkout/",
53
+ "active_until": null, "charge_day": 25, "address_quarter": null, "activated_at":
54
+ null, "is_active": false, "user_code": "", "address": null, "is_recurring":
55
+ true, "address_city": null, "plan_slug": "rexpense-custom-monthly-brl-5250",
56
+ "address_complement": null, "discounts_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/discounts/",
57
+ "created_at": "2015-03-25 17:55:32", "adjustments_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/adjustments/",
58
+ "next_payment_at": null, "amount": "52.50", "client_email": "jaime.lannister@mailinator.com",
59
+ "zip_code": null, "client_name": "", "invoices_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/invoices/"}'
60
+ http_version: '1.1'
61
+ adapter_metadata:
62
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
63
+ recorded_at: Wed, 25 Mar 2015 20:55:32 GMT
64
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"client_email":"jaime.lannister@mailinator.com","identity":"8923199e-6c43-415a-bbd1-2e302fdf8d96"}'
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: BAD REQUEST
22
+ headers:
23
+ Allow:
24
+ - GET, POST, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Type:
28
+ - application/json
29
+ Date:
30
+ - Thu, 26 Mar 2015 18:22:49 GMT
31
+ Server:
32
+ - nginx/1.6.2
33
+ Vary:
34
+ - Authenticate, Accept, Accept-Language, Cookie
35
+ Content-Length:
36
+ - '57'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"errors": ["user_code or global_account must be given"]}'
42
+ http_version: '1.1'
43
+ adapter_metadata:
44
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
45
+ recorded_at: Thu, 26 Mar 2015 18:22:49 GMT
46
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/2609/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: NOT FOUND
22
+ headers:
23
+ Allow:
24
+ - GET, PUT, DELETE, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Type:
28
+ - application/json
29
+ Date:
30
+ - Thu, 26 Mar 2015 17:40:20 GMT
31
+ Server:
32
+ - nginx/1.6.2
33
+ Vary:
34
+ - Authenticate, Accept, Accept-Language, Cookie
35
+ Content-Length:
36
+ - '0'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: ''
42
+ http_version: '1.1'
43
+ adapter_metadata:
44
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/2609/
45
+ recorded_at: Thu, 26 Mar 2015 17:40:20 GMT
46
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 204
21
+ message: NO CONTENT
22
+ headers:
23
+ Allow:
24
+ - GET, PUT, DELETE, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Length:
28
+ - '0'
29
+ Content-Type:
30
+ - application/json
31
+ Date:
32
+ - Thu, 26 Mar 2015 17:39:57 GMT
33
+ ETag:
34
+ - '"-1805244963468732435"'
35
+ Server:
36
+ - nginx/1.6.2
37
+ Vary:
38
+ - Authenticate, Accept, Accept-Language, Cookie
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: ''
44
+ http_version: '1.1'
45
+ adapter_metadata:
46
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/
47
+ recorded_at: Thu, 26 Mar 2015 17:39:57 GMT
48
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"page":1,"limit":20}'
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: NOT FOUND
22
+ headers:
23
+ Allow:
24
+ - GET, POST, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Type:
28
+ - application/json
29
+ Date:
30
+ - Thu, 26 Mar 2015 17:18:06 GMT
31
+ Server:
32
+ - nginx/1.6.2
33
+ Vary:
34
+ - Authenticate, Accept, Accept-Language, Cookie
35
+ Content-Length:
36
+ - '0'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: ''
42
+ http_version: '1.1'
43
+ adapter_metadata:
44
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/
45
+ recorded_at: Thu, 26 Mar 2015 17:18:06 GMT
46
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,99 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"page":1,"limit":20}'
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Allow:
24
+ - GET, POST, HEAD, OPTIONS
25
+ Cache-Control:
26
+ - no-cache
27
+ Cache-Timeout:
28
+ - "-1"
29
+ Content-Language:
30
+ - pt-br
31
+ Content-Type:
32
+ - application/json
33
+ Date:
34
+ - Thu, 26 Mar 2015 17:18:05 GMT
35
+ Expires:
36
+ - Thu, 26 Mar 2015 14:18:05
37
+ Link:
38
+ - "<http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/?page=1>;
39
+ rel=last, <http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/?page=1>;
40
+ rel=first"
41
+ Server:
42
+ - nginx/1.6.2
43
+ Vary:
44
+ - Authenticate, Accept, Accept-Language, Cookie
45
+ transfer-encoding:
46
+ - chunked
47
+ Connection:
48
+ - keep-alive
49
+ body:
50
+ encoding: UTF-8
51
+ string: '[{"is_paid": false, "address_number": null, "plan_change_urls": {},
52
+ "activation_expired": false, "number": 2608, "address_state": null, "global_account":
53
+ "e5732007-7989-4372-8e72-9ec8cf6ee046", "api_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2608/",
54
+ "is_trial": false, "document_number": null, "checkout_url": "http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2608/checkout/",
55
+ "active_until": null, "charge_day": 25, "address_quarter": null, "activated_at":
56
+ null, "is_active": false, "user_code": "", "address": null, "is_recurring":
57
+ true, "address_city": null, "plan_slug": "rexpense-custom-monthly-brl-5250",
58
+ "address_complement": null, "discounts_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2608/discounts/",
59
+ "created_at": "2015-03-25 17:54:42", "adjustments_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2608/adjustments/",
60
+ "next_payment_at": null, "amount": "52.50", "client_email": "jaime.lannister@mailinator.com",
61
+ "zip_code": null, "client_name": "", "invoices_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2608/invoices/"},
62
+ {"is_paid": false, "address_number": null, "plan_change_urls": {}, "activation_expired":
63
+ false, "number": 2609, "address_state": null, "global_account": "e5732007-7989-4372-8e72-9ec8cf6ee046",
64
+ "api_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/",
65
+ "is_trial": false, "document_number": null, "checkout_url": "http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2609/checkout/",
66
+ "active_until": null, "charge_day": 25, "address_quarter": null, "activated_at":
67
+ null, "is_active": false, "user_code": "", "address": null, "is_recurring":
68
+ true, "address_city": null, "plan_slug": "rexpense-custom-monthly-brl-5250",
69
+ "address_complement": null, "discounts_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/discounts/",
70
+ "created_at": "2015-03-25 17:55:32", "adjustments_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/adjustments/",
71
+ "next_payment_at": null, "amount": "52.50", "client_email": "jaime.lannister@mailinator.com",
72
+ "zip_code": null, "client_name": "", "invoices_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/invoices/"},
73
+ {"is_paid": false, "address_number": null, "plan_change_urls": {}, "activation_expired":
74
+ false, "number": 2610, "address_state": null, "global_account": "e5732007-7989-4372-8e72-9ec8cf6ee046",
75
+ "api_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2610/",
76
+ "is_trial": false, "document_number": null, "checkout_url": "http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2610/checkout/",
77
+ "active_until": null, "charge_day": 25, "address_quarter": null, "activated_at":
78
+ null, "is_active": false, "user_code": "", "address": null, "is_recurring":
79
+ true, "address_city": null, "plan_slug": "rexpense-custom-monthly-brl-5250",
80
+ "address_complement": null, "discounts_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2610/discounts/",
81
+ "created_at": "2015-03-25 17:59:15", "adjustments_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2610/adjustments/",
82
+ "next_payment_at": null, "amount": "52.50", "client_email": "jaime.lannister@mailinator.com",
83
+ "zip_code": null, "client_name": "", "invoices_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2610/invoices/"},
84
+ {"is_paid": false, "address_number": null, "plan_change_urls": {}, "activation_expired":
85
+ false, "number": 2611, "address_state": null, "global_account": "e5732007-7989-4372-8e72-9ec8cf6ee046",
86
+ "api_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2611/",
87
+ "is_trial": false, "document_number": null, "checkout_url": "http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2611/checkout/",
88
+ "active_until": null, "charge_day": 25, "address_quarter": null, "activated_at":
89
+ null, "is_active": false, "user_code": "", "address": null, "is_recurring":
90
+ true, "address_city": null, "plan_slug": "rexpense-custom-monthly-brl-5250",
91
+ "address_complement": null, "discounts_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2611/discounts/",
92
+ "created_at": "2015-03-25 18:03:33", "adjustments_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2611/adjustments/",
93
+ "next_payment_at": null, "amount": "52.50", "client_email": "jaime.lannister@mailinator.com",
94
+ "zip_code": null, "client_name": "", "invoices_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2611/invoices/"}]'
95
+ http_version: '1.1'
96
+ adapter_metadata:
97
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
98
+ recorded_at: Thu, 26 Mar 2015 17:18:05 GMT
99
+ recorded_with: VCR 2.9.3