rsbe-client 0.5.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 (82) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rspec +3 -0
  4. data/GETTING-STARTED.md +17 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +73 -0
  8. data/Rakefile +11 -0
  9. data/TODO.md +38 -0
  10. data/lib/rsbe/client.rb +50 -0
  11. data/lib/rsbe/client/base.rb +140 -0
  12. data/lib/rsbe/client/collection.rb +84 -0
  13. data/lib/rsbe/client/connection.rb +24 -0
  14. data/lib/rsbe/client/method_not_implemented_error.rb +6 -0
  15. data/lib/rsbe/client/not_found_error.rb +6 -0
  16. data/lib/rsbe/client/partner.rb +82 -0
  17. data/lib/rsbe/client/provider.rb +47 -0
  18. data/lib/rsbe/client/se.rb +97 -0
  19. data/lib/rsbe/client/search.rb +80 -0
  20. data/lib/rsbe/client/search_results.rb +41 -0
  21. data/lib/rsbe/client/unrecognized_resource_error.rb +6 -0
  22. data/lib/rsbe/client/version.rb +5 -0
  23. data/lib/rsbe/client/wrong_origin_error.rb +6 -0
  24. data/rsbe-client.gemspec +30 -0
  25. data/spec/fixtures/partners/partners_all.json +1 -0
  26. data/spec/fixtures/partners/partners_none.json +1 -0
  27. data/spec/rsbe/client/base_spec.rb +10 -0
  28. data/spec/rsbe/client/collection_spec.rb +186 -0
  29. data/spec/rsbe/client/connection_spec.rb +20 -0
  30. data/spec/rsbe/client/partner_spec.rb +185 -0
  31. data/spec/rsbe/client/provider_spec.rb +122 -0
  32. data/spec/rsbe/client/se_spec.rb +273 -0
  33. data/spec/rsbe/client/search_results_spec.rb +140 -0
  34. data/spec/rsbe/client/search_spec.rb +74 -0
  35. data/spec/rsbe/client_spec.rb +52 -0
  36. data/spec/spec_helper.rb +43 -0
  37. data/spec/vcr_cassettes/client/find_collection.yml +53 -0
  38. data/spec/vcr_cassettes/client/find_partner.yml +52 -0
  39. data/spec/vcr_cassettes/client/find_provider.yml +52 -0
  40. data/spec/vcr_cassettes/client/find_se.yml +53 -0
  41. data/spec/vcr_cassettes/collection/find-existing.yml +53 -0
  42. data/spec/vcr_cassettes/collection/find-non_existent.yml +50 -0
  43. data/spec/vcr_cassettes/collection/lazy-eval-dne.yml +285 -0
  44. data/spec/vcr_cassettes/collection/lazy-eval-exists.yml +53 -0
  45. data/spec/vcr_cassettes/collection/save-create-known-id.yml +103 -0
  46. data/spec/vcr_cassettes/collection/save-create-unknown-id.yml +56 -0
  47. data/spec/vcr_cassettes/collection/save-invalid.yml +143 -0
  48. data/spec/vcr_cassettes/collection/save-update-valid.yml +99 -0
  49. data/spec/vcr_cassettes/partner/all.yml +300 -0
  50. data/spec/vcr_cassettes/partner/dne-with-id.yml +238 -0
  51. data/spec/vcr_cassettes/partner/find-existing.yml +52 -0
  52. data/spec/vcr_cassettes/partner/find-non_existent.yml +50 -0
  53. data/spec/vcr_cassettes/partner/lazy-eval-exists.yml +53 -0
  54. data/spec/vcr_cassettes/partner/save-create-known-id.yml +101 -0
  55. data/spec/vcr_cassettes/partner/save-create-unknown-id.yml +54 -0
  56. data/spec/vcr_cassettes/partner/save-invalid.yml +177 -0
  57. data/spec/vcr_cassettes/partner/save-unknown-id.yml +54 -0
  58. data/spec/vcr_cassettes/partner/save-update-valid.yml +98 -0
  59. data/spec/vcr_cassettes/partner/with-collections.yml +203 -0
  60. data/spec/vcr_cassettes/partner/without-collections.yml +101 -0
  61. data/spec/vcr_cassettes/provider/all.yml +248 -0
  62. data/spec/vcr_cassettes/provider/find-existing.yml +52 -0
  63. data/spec/vcr_cassettes/provider/find-non_existent.yml +50 -0
  64. data/spec/vcr_cassettes/provider/save-create-known-id.yml +101 -0
  65. data/spec/vcr_cassettes/provider/save-create-unknown-id.yml +54 -0
  66. data/spec/vcr_cassettes/provider/save-invalid.yml +178 -0
  67. data/spec/vcr_cassettes/provider/save-update-valid.yml +144 -0
  68. data/spec/vcr_cassettes/se/find-existing.yml +53 -0
  69. data/spec/vcr_cassettes/se/find-non_existent.yml +50 -0
  70. data/spec/vcr_cassettes/se/lazy-eval-exists.yml +52 -0
  71. data/spec/vcr_cassettes/se/save-create-known-id.yml +146 -0
  72. data/spec/vcr_cassettes/se/save-create-unknown-id.yml +56 -0
  73. data/spec/vcr_cassettes/se/save-invalid.yml +305 -0
  74. data/spec/vcr_cassettes/se/save-update-valid.yml +99 -0
  75. data/spec/vcr_cassettes/se/search-malformed-uuid.yml +54 -0
  76. data/spec/vcr_cassettes/se/search-with-existing-se.yml +52 -0
  77. data/spec/vcr_cassettes/se/search-with-missing-se.yml +52 -0
  78. data/spec/vcr_cassettes/search/search-with-existing-se.yml +52 -0
  79. data/spec/vcr_cassettes/search_results/no-results.yml +52 -0
  80. data/spec/vcr_cassettes/search_results/search-by-digi_id.yml +101 -0
  81. data/spec/vcr_cassettes/search_results/search-by-step.yml +201 -0
  82. metadata +307 -0
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/partners/b110731f-86af-4534-8e58-6d219dcb1c52
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - '*/*'
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"ec5b1c107a94f0530671014fd06646c8"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 15fa13d2-6e82-48bd-b8a3-5e35eab0fd9e
41
+ X-Runtime:
42
+ - '0.941471'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"id":"b110731f-86af-4534-8e58-6d219dcb1c52","code":"quux","name":null,"created_at":"2014-10-15T13:39:16.772Z","updated_at":"2014-10-15T13:39:16.772Z","colls_url":"http://localhost:3000/api/v0/partners/b110731f-86af-4534-8e58-6d219dcb1c52/colls","lock_version":0,"rel_path":"q/u/u/x"}'
50
+ http_version:
51
+ recorded_at: Wed, 15 Oct 2014 15:55:24 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/partners/bad45d46-a14a-489f-97ac-384afb552a13
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - '*/*'
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Cache-Control:
34
+ - no-cache
35
+ Set-Cookie:
36
+ - request_method=GET; path=/
37
+ X-Request-Id:
38
+ - 06f805ae-4ee5-49a0-9b38-fc3754896fb5
39
+ X-Runtime:
40
+ - '0.078636'
41
+ Connection:
42
+ - close
43
+ Server:
44
+ - thin 1.6.2 codename Doc Brown
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"error":"Couldn''t find Partner with id=bad45d46-a14a-489f-97ac-384afb552a13"}'
48
+ http_version:
49
+ recorded_at: Wed, 15 Oct 2014 16:22:59 GMT
50
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/partners/b051f936-835c-4abb-9034-efa7508db4bf
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - '*/*'
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"f76aed604d7aaa2968bf3c547ebcd9a2"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 83eb22c5-dbb8-4b30-9618-39407abad7a0
41
+ X-Runtime:
42
+ - '0.147470'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"id":"b051f936-835c-4abb-9034-efa7508db4bf","code":"onyx","name":"The
50
+ Black Onyx Syndicate","created_at":"2014-10-16T13:22:56.010Z","updated_at":"2014-10-16T14:15:48.799Z","partners_url":"http://localhost:3000/api/v0/partners","colls_url":"http://localhost:3000/api/v0/partners/b051f936-835c-4abb-9034-efa7508db4bf/colls","lock_version":2,"rel_path":"o/n/y/x"}'
51
+ http_version:
52
+ recorded_at: Sun, 02 Oct 2016 00:33:32 GMT
53
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,101 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/partners/51213be7-c8de-4e06-8cc2-06bfc82cdd68
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - '*/*'
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Cache-Control:
34
+ - no-cache
35
+ Set-Cookie:
36
+ - request_method=GET; path=/
37
+ X-Request-Id:
38
+ - 1d2c22b4-378c-4094-a3b4-08f9598c3c29
39
+ X-Runtime:
40
+ - '0.084300'
41
+ Connection:
42
+ - close
43
+ Server:
44
+ - thin 1.6.2 codename Doc Brown
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"error":"Couldn''t find Partner with id=51213be7-c8de-4e06-8cc2-06bfc82cdd68"}'
48
+ http_version:
49
+ recorded_at: Thu, 16 Oct 2014 14:08:36 GMT
50
+ - request:
51
+ method: post
52
+ uri: http://foo:bar@localhost:3000/api/v0/partners
53
+ body:
54
+ encoding: UTF-8
55
+ string: '{"id":"51213be7-c8de-4e06-8cc2-06bfc82cdd68","code":"bar","name":null,"rel_path":"b/a/r"}'
56
+ headers:
57
+ User-Agent:
58
+ - Faraday v0.9.0
59
+ Content-Type:
60
+ - application/json
61
+ Accept-Encoding:
62
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
63
+ Accept:
64
+ - '*/*'
65
+ response:
66
+ status:
67
+ code: 201
68
+ message: Created
69
+ headers:
70
+ X-Frame-Options:
71
+ - SAMEORIGIN
72
+ X-Xss-Protection:
73
+ - 1; mode=block
74
+ X-Content-Type-Options:
75
+ - nosniff
76
+ X-Ua-Compatible:
77
+ - chrome=1
78
+ Location:
79
+ - http://localhost:3000/api/v0/partners/51213be7-c8de-4e06-8cc2-06bfc82cdd68
80
+ Content-Type:
81
+ - application/json; charset=utf-8
82
+ X-Meta-Request-Version:
83
+ - 0.2.9
84
+ Etag:
85
+ - '"1809bc1f75282650db7445d620ccadde"'
86
+ Cache-Control:
87
+ - max-age=0, private, must-revalidate
88
+ X-Request-Id:
89
+ - 28e2321c-c08e-49d7-8456-f642b5767b63
90
+ X-Runtime:
91
+ - '0.229665'
92
+ Connection:
93
+ - close
94
+ Server:
95
+ - thin 1.6.2 codename Doc Brown
96
+ body:
97
+ encoding: UTF-8
98
+ string: '{"id":"51213be7-c8de-4e06-8cc2-06bfc82cdd68","code":"bar","name":null,"lock_version":0,"created_at":"2014-10-16T14:08:36.445Z","updated_at":"2014-10-16T14:08:36.445Z","rel_path":"b/a/r"}'
99
+ http_version:
100
+ recorded_at: Thu, 16 Oct 2014 14:08:36 GMT
101
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://foo:bar@localhost:3000/api/v0/partners
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"id":null,"code":"foo","name":null,"rel_path":"f/o/o"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ X-Frame-Options:
24
+ - SAMEORIGIN
25
+ X-Xss-Protection:
26
+ - 1; mode=block
27
+ X-Content-Type-Options:
28
+ - nosniff
29
+ X-Ua-Compatible:
30
+ - chrome=1
31
+ Location:
32
+ - http://localhost:3000/api/v0/partners/5c902ffa-b2d9-4b8a-bac6-6ec8cfb50baa
33
+ Content-Type:
34
+ - application/json; charset=utf-8
35
+ X-Meta-Request-Version:
36
+ - 0.2.9
37
+ Etag:
38
+ - '"5d6472c97d7d32e8776b52d194e08ff8"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - 77eda9a9-6527-4b4a-badc-54ee57dd2547
43
+ X-Runtime:
44
+ - '0.214050'
45
+ Connection:
46
+ - close
47
+ Server:
48
+ - thin 1.6.2 codename Doc Brown
49
+ body:
50
+ encoding: UTF-8
51
+ string: '{"id":"5c902ffa-b2d9-4b8a-bac6-6ec8cfb50baa","code":"foo","name":null,"lock_version":0,"created_at":"2014-10-16T14:06:28.938Z","updated_at":"2014-10-16T14:06:28.938Z","rel_path":"f/o/o"}'
52
+ http_version:
53
+ recorded_at: Thu, 16 Oct 2014 14:06:29 GMT
54
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,177 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://foo:bar@localhost:3000/api/v0/partners
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"id":"abc123","code":"baz a saurus","name":null,"rel_path":"b/a/z"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 422
21
+ message: ''
22
+ headers:
23
+ Content-Type:
24
+ - text/plain; charset=utf-8
25
+ X-Request-Id:
26
+ - 481d0aab-2ccb-455f-82c5-a8694efb55a4
27
+ X-Runtime:
28
+ - '1.055546'
29
+ Connection:
30
+ - close
31
+ Server:
32
+ - thin 1.6.2 codename Doc Brown
33
+ body:
34
+ encoding: UTF-8
35
+ string: "ActiveRecord::RecordInvalid at /api/v0/partners\n===============================================\n\n>
36
+ Validation failed: Code invalid character in code\n\napp/controllers/api/v0/partners_controller.rb,
37
+ line 21\n------------------------------------------------------\n\n``` ruby\n
38
+ \ 16 respond_with @partner\n 17 end\n 18 \n 19
39
+ \ # POST /api/v<N>/partners\n 20 def create\n> 21 @partner
40
+ = Partner.create!(partner_params)\n 22 respond_with @partner,
41
+ location: api_v0_partner_url(@partner)\n 23 end\n 24 \n 25
42
+ \ # PATCH/PUT /api/v<N>/partners/1\n 26 def update\n```\n\nApp
43
+ backtrace\n-------------\n\n - app/controllers/api/v0/partners_controller.rb:21:in
44
+ `create'\n\nFull backtrace\n--------------\n\n - activerecord (4.0.9) lib/active_record/validations.rb:57:in
45
+ `save!'\n - activerecord (4.0.9) lib/active_record/attribute_methods/dirty.rb:41:in
46
+ `save!'\n - activerecord (4.0.9) lib/active_record/transactions.rb:275:in
47
+ `block in save!'\n - activerecord (4.0.9) lib/active_record/transactions.rb:330:in
48
+ `block in with_transaction_returning_status'\n - activerecord (4.0.9) lib/active_record/connection_adapters/abstract/database_statements.rb:203:in
49
+ `block in transaction'\n - activerecord (4.0.9) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in
50
+ `within_new_transaction'\n - activerecord (4.0.9) lib/active_record/connection_adapters/abstract/database_statements.rb:203:in
51
+ `transaction'\n - activerecord (4.0.9) lib/active_record/transactions.rb:209:in
52
+ `transaction'\n - activerecord (4.0.9) lib/active_record/transactions.rb:327:in
53
+ `with_transaction_returning_status'\n - activerecord (4.0.9) lib/active_record/transactions.rb:275:in
54
+ `save!'\n - activerecord (4.0.9) lib/active_record/validations.rb:41:in `create!'\n
55
+ - app/controllers/api/v0/partners_controller.rb:21:in `create'\n - actionpack
56
+ (4.0.9) lib/action_controller/metal/implicit_render.rb:4:in `send_action'\n
57
+ - actionpack (4.0.9) lib/abstract_controller/base.rb:189:in `process_action'\n
58
+ - actionpack (4.0.9) lib/action_controller/metal/rendering.rb:10:in `process_action'\n
59
+ - actionpack (4.0.9) lib/abstract_controller/callbacks.rb:18:in `block in
60
+ process_action'\n - activesupport (4.0.9) lib/active_support/callbacks.rb:443:in
61
+ `_run__2339628789173341845__process_action__callbacks'\n - activesupport (4.0.9)
62
+ lib/active_support/callbacks.rb:80:in `run_callbacks'\n - actionpack (4.0.9)
63
+ lib/abstract_controller/callbacks.rb:17:in `process_action'\n - actionpack
64
+ (4.0.9) lib/action_controller/metal/rescue.rb:29:in `process_action'\n - actionpack
65
+ (4.0.9) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'\n
66
+ - activesupport (4.0.9) lib/active_support/notifications.rb:159:in `block
67
+ in instrument'\n - activesupport (4.0.9) lib/active_support/notifications/instrumenter.rb:20:in
68
+ `instrument'\n - activesupport (4.0.9) lib/active_support/notifications.rb:159:in
69
+ `instrument'\n - actionpack (4.0.9) lib/action_controller/metal/instrumentation.rb:30:in
70
+ `process_action'\n - actionpack (4.0.9) lib/action_controller/metal/params_wrapper.rb:250:in
71
+ `process_action'\n - activerecord (4.0.9) lib/active_record/railties/controller_runtime.rb:18:in
72
+ `process_action'\n - actionpack (4.0.9) lib/abstract_controller/base.rb:136:in
73
+ `process'\n - actionpack (4.0.9) lib/abstract_controller/rendering.rb:44:in
74
+ `process'\n - actionpack (4.0.9) lib/action_controller/metal.rb:195:in `dispatch'\n
75
+ - actionpack (4.0.9) lib/action_controller/metal/rack_delegation.rb:13:in
76
+ `dispatch'\n - actionpack (4.0.9) lib/action_controller/metal.rb:231:in `block
77
+ in action'\n - actionpack (4.0.9) lib/action_dispatch/routing/route_set.rb:82:in
78
+ `dispatch'\n - actionpack (4.0.9) lib/action_dispatch/routing/route_set.rb:50:in
79
+ `call'\n - actionpack (4.0.9) lib/action_dispatch/journey/router.rb:71:in
80
+ `block in call'\n - actionpack (4.0.9) lib/action_dispatch/journey/router.rb:59:in
81
+ `call'\n - actionpack (4.0.9) lib/action_dispatch/routing/route_set.rb:676:in
82
+ `call'\n - meta_request (0.2.9) lib/meta_request/middlewares/app_request_handler.rb:13:in
83
+ `call'\n - rack-contrib (1.1.0) lib/rack/contrib/response_headers.rb:17:in
84
+ `call'\n - meta_request (0.2.9) lib/meta_request/middlewares/headers.rb:16:in
85
+ `call'\n - meta_request (0.2.9) lib/meta_request/middlewares/meta_request_handler.rb:13:in
86
+ `call'\n - rack (1.5.2) lib/rack/etag.rb:23:in `call'\n - rack (1.5.2) lib/rack/conditionalget.rb:35:in
87
+ `call'\n - rack (1.5.2) lib/rack/head.rb:11:in `call'\n - actionpack (4.0.9)
88
+ lib/action_dispatch/middleware/params_parser.rb:27:in `call'\n - actionpack
89
+ (4.0.9) lib/action_dispatch/middleware/flash.rb:241:in `call'\n - rack (1.5.2)
90
+ lib/rack/session/abstract/id.rb:225:in `context'\n - rack (1.5.2) lib/rack/session/abstract/id.rb:220:in
91
+ `call'\n - actionpack (4.0.9) lib/action_dispatch/middleware/cookies.rb:486:in
92
+ `call'\n - activerecord (4.0.9) lib/active_record/query_cache.rb:36:in `call'\n
93
+ - activerecord (4.0.9) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in
94
+ `call'\n - activerecord (4.0.9) lib/active_record/migration.rb:373:in `call'\n
95
+ - actionpack (4.0.9) lib/action_dispatch/middleware/callbacks.rb:29:in `block
96
+ in call'\n - activesupport (4.0.9) lib/active_support/callbacks.rb:373:in
97
+ `_run__1475751813998848685__call__callbacks'\n - activesupport (4.0.9) lib/active_support/callbacks.rb:80:in
98
+ `run_callbacks'\n - actionpack (4.0.9) lib/action_dispatch/middleware/callbacks.rb:27:in
99
+ `call'\n - actionpack (4.0.9) lib/action_dispatch/middleware/reloader.rb:64:in
100
+ `call'\n - actionpack (4.0.9) lib/action_dispatch/middleware/remote_ip.rb:76:in
101
+ `call'\n - better_errors (1.1.0) lib/better_errors/middleware.rb:84:in `protected_app_call'\n
102
+ - better_errors (1.1.0) lib/better_errors/middleware.rb:79:in `better_errors_call'\n
103
+ - better_errors (1.1.0) lib/better_errors/middleware.rb:56:in `call'\n - actionpack
104
+ (4.0.9) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'\n
105
+ - actionpack (4.0.9) lib/action_dispatch/middleware/show_exceptions.rb:30:in
106
+ `call'\n - railties (4.0.9) lib/rails/rack/logger.rb:38:in `call_app'\n -
107
+ railties (4.0.9) lib/rails/rack/logger.rb:20:in `block in call'\n - activesupport
108
+ (4.0.9) lib/active_support/tagged_logging.rb:68:in `block in tagged'\n - activesupport
109
+ (4.0.9) lib/active_support/tagged_logging.rb:26:in `tagged'\n - activesupport
110
+ (4.0.9) lib/active_support/tagged_logging.rb:68:in `tagged'\n - railties (4.0.9)
111
+ lib/rails/rack/logger.rb:20:in `call'\n - actionpack (4.0.9) lib/action_dispatch/middleware/request_id.rb:21:in
112
+ `call'\n - rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'\n - rack (1.5.2)
113
+ lib/rack/runtime.rb:17:in `call'\n - activesupport (4.0.9) lib/active_support/cache/strategy/local_cache.rb:83:in
114
+ `call'\n - rack (1.5.2) lib/rack/lock.rb:17:in `call'\n - actionpack (4.0.9)
115
+ lib/action_dispatch/middleware/static.rb:64:in `call'\n - rack (1.5.2) lib/rack/sendfile.rb:112:in
116
+ `call'\n - railties (4.0.9) lib/rails/engine.rb:511:in `call'\n - railties
117
+ (4.0.9) lib/rails/application.rb:97:in `call'\n - rack (1.5.2) lib/rack/content_length.rb:14:in
118
+ `call'\n - thin (1.6.2) lib/thin/connection.rb:86:in `block in pre_process'\n
119
+ - thin (1.6.2) lib/thin/connection.rb:84:in `pre_process'\n - thin (1.6.2)
120
+ lib/thin/connection.rb:53:in `process'\n - thin (1.6.2) lib/thin/connection.rb:39:in
121
+ `receive_data'\n - eventmachine (1.0.3) lib/eventmachine.rb:187:in `run'\n
122
+ - thin (1.6.2) lib/thin/backends/base.rb:73:in `start'\n - thin (1.6.2) lib/thin/server.rb:162:in
123
+ `start'\n - rack (1.5.2) lib/rack/handler/thin.rb:16:in `run'\n - rack (1.5.2)
124
+ lib/rack/server.rb:264:in `start'\n - railties (4.0.9) lib/rails/commands/server.rb:84:in
125
+ `start'\n - railties (4.0.9) lib/rails/commands.rb:76:in `block in <top (required)>'\n
126
+ - railties (4.0.9) lib/rails/commands.rb:71:in `<top (required)>'\n - bin/rails:4:in
127
+ `<main>'\n\n"
128
+ http_version:
129
+ recorded_at: Wed, 15 Oct 2014 13:26:46 GMT
130
+ - request:
131
+ method: get
132
+ uri: http://foo:bar@localhost:3000/api/v0/partners/abc123
133
+ body:
134
+ encoding: US-ASCII
135
+ string: ''
136
+ headers:
137
+ User-Agent:
138
+ - Faraday v0.9.0
139
+ Accept-Encoding:
140
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
141
+ Accept:
142
+ - '*/*'
143
+ response:
144
+ status:
145
+ code: 400
146
+ message: Bad Request
147
+ headers:
148
+ X-Frame-Options:
149
+ - SAMEORIGIN
150
+ X-Xss-Protection:
151
+ - 1; mode=block
152
+ X-Content-Type-Options:
153
+ - nosniff
154
+ X-Ua-Compatible:
155
+ - chrome=1
156
+ Content-Type:
157
+ - application/json; charset=utf-8
158
+ X-Meta-Request-Version:
159
+ - 0.2.9
160
+ Cache-Control:
161
+ - no-cache
162
+ Set-Cookie:
163
+ - request_method=GET; path=/
164
+ X-Request-Id:
165
+ - b43b4e88-7df4-4b88-8f4e-c3117e90c0be
166
+ X-Runtime:
167
+ - '0.172816'
168
+ Connection:
169
+ - close
170
+ Server:
171
+ - thin 1.6.2 codename Doc Brown
172
+ body:
173
+ encoding: UTF-8
174
+ string: '{"error":"ERROR: invalid input syntax for uuid: \"abc123\""}'
175
+ http_version:
176
+ recorded_at: Thu, 16 Oct 2014 13:39:21 GMT
177
+ recorded_with: VCR 2.9.3