vhx-ruby 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +2 -0
  5. data/README.md +59 -0
  6. data/Rakefile +1 -0
  7. data/lib/vhx.rb +66 -0
  8. data/lib/vhx/client.rb +86 -0
  9. data/lib/vhx/error.rb +24 -0
  10. data/lib/vhx/middleware/error_response.rb +32 -0
  11. data/lib/vhx/middleware/oauth2.rb +22 -0
  12. data/lib/vhx/oauth_token.rb +11 -0
  13. data/lib/vhx/objects/authorization.rb +5 -0
  14. data/lib/vhx/objects/collection.rb +8 -0
  15. data/lib/vhx/objects/collection_item.rb +4 -0
  16. data/lib/vhx/objects/customer.rb +8 -0
  17. data/lib/vhx/objects/product.rb +6 -0
  18. data/lib/vhx/objects/site.rb +4 -0
  19. data/lib/vhx/objects/user.rb +10 -0
  20. data/lib/vhx/objects/video.rb +7 -0
  21. data/lib/vhx/objects/video_file.rb +4 -0
  22. data/lib/vhx/utilities/api_operations/create.rb +22 -0
  23. data/lib/vhx/utilities/api_operations/delete.rb +16 -0
  24. data/lib/vhx/utilities/api_operations/list.rb +21 -0
  25. data/lib/vhx/utilities/api_operations/request.rb +17 -0
  26. data/lib/vhx/utilities/api_operations/update.rb +15 -0
  27. data/lib/vhx/utilities/vhx_helper.rb +20 -0
  28. data/lib/vhx/utilities/vhx_list_object.rb +44 -0
  29. data/lib/vhx/utilities/vhx_object.rb +106 -0
  30. data/lib/vhx/version.rb +3 -0
  31. data/spec/client_spec.rb +69 -0
  32. data/spec/fixtures/sample_array_list.json +15 -0
  33. data/spec/fixtures/sample_file_response.json +18 -0
  34. data/spec/fixtures/sample_hash_list.json +23 -0
  35. data/spec/fixtures/sample_package_response.json +185 -0
  36. data/spec/fixtures/sample_site_response.json +26 -0
  37. data/spec/fixtures/sample_user_response.json +21 -0
  38. data/spec/fixtures/sample_video_response.json +51 -0
  39. data/spec/middleware/error_response_spec.rb +11 -0
  40. data/spec/middleware/oauth2_spec.rb +14 -0
  41. data/spec/objects/file_spec.rb +29 -0
  42. data/spec/objects/package_spec.rb +74 -0
  43. data/spec/objects/site_spec.rb +44 -0
  44. data/spec/objects/user_spec.rb +51 -0
  45. data/spec/objects/video_spec.rb +36 -0
  46. data/spec/spec_helper.rb +18 -0
  47. data/spec/test_data.rb +55 -0
  48. data/spec/utilities/vhx_collection_spec.rb +27 -0
  49. data/spec/utilities/vhx_helper_spec.rb +47 -0
  50. data/spec/utilities/vhx_object_spec.rb +53 -0
  51. data/spec/vcr/Vhx_Client/application_user/_refresh_access_token/access_token_changed.yml +57 -0
  52. data/spec/vcr/Vhx_Client/application_user/_refresh_access_token/oauth_token_refreshed.yml +57 -0
  53. data/spec/vcr/Vhx_File/associations/are_present.yml +409 -0
  54. data/spec/vcr/Vhx_Middleware_ErrorResponse/unauthorized_user_credentials.yml +122 -0
  55. data/spec/vcr/Vhx_Middleware_OAuth2/access_token_refresh.yml +797 -0
  56. data/spec/vcr/Vhx_Package/_add_video/with_hypermedia/returns_package_object.yml +51 -0
  57. data/spec/vcr/Vhx_Package/_add_video/with_id/returns_package_object.yml +51 -0
  58. data/spec/vcr/Vhx_Package/_create/returns_package_object.yml +140 -0
  59. data/spec/vcr/Vhx_Package/_find/with_hypermedia.yml +243 -0
  60. data/spec/vcr/Vhx_Package/_find/with_id.yml +243 -0
  61. data/spec/vcr/Vhx_Package/_remove_video/with_hypermedia/returns_success.yml +51 -0
  62. data/spec/vcr/Vhx_Package/_remove_video/with_id/returns_success.yml +51 -0
  63. data/spec/vcr/Vhx_Package/associations/are_present.yml +195 -0
  64. data/spec/vcr/Vhx_Site/_create/returns_site_object.yml +91 -0
  65. data/spec/vcr/Vhx_Site/_find/with_hypermedia.yml +195 -0
  66. data/spec/vcr/Vhx_Site/_find/with_id.yml +195 -0
  67. data/spec/vcr/Vhx_User/_find/with_hypermedia.yml +81 -0
  68. data/spec/vcr/Vhx_User/_find/with_id.yml +81 -0
  69. data/spec/vcr/Vhx_User/_me/returns_user_object.yml +720 -0
  70. data/spec/vcr/Vhx_User/_update/returns_user_object.yml +212 -0
  71. data/spec/vcr/Vhx_VhxObject/associations/cache/retreive_if_available.yml +195 -0
  72. data/spec/vcr/Vhx_VhxObject/associations/falls_back_to_links.yml +310 -0
  73. data/spec/vcr/Vhx_Video/_create/returns_video_object.yml +125 -0
  74. data/spec/vcr/Vhx_Video/associations/are_present.yml +294 -0
  75. data/vhx.gemspec +27 -0
  76. metadata +204 -0
@@ -0,0 +1,212 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: http://api.crystal.dev/settings
6
+ body:
7
+ encoding: UTF-8
8
+ string: id=1560703&name=Test+Name
9
+ headers:
10
+ Authorization:
11
+ - Bearer 41d2ed8ead125347d38cf13dd7da8df0a32e9c9e839a9ea1b39c0d4f8b9caa92
12
+ User-Agent:
13
+ - Faraday v0.9.1
14
+ Content-Type:
15
+ - application/x-www-form-urlencoded
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 403
23
+ message: Forbidden
24
+ headers:
25
+ Date:
26
+ - Mon, 04 May 2015 20:37:45 GMT
27
+ Status:
28
+ - 403 Forbidden
29
+ Connection:
30
+ - close
31
+ Content-Type:
32
+ - text/plain; charset=utf-8
33
+ X-Meta-Request-Version:
34
+ - 0.3.4
35
+ X-Request-Id:
36
+ - 403c4f2ca1127fca11eb48051a94749d
37
+ X-Runtime:
38
+ - '0.090150'
39
+ Transfer-Encoding:
40
+ - chunked
41
+ body:
42
+ encoding: UTF-8
43
+ string: "Api::ForbiddenException at /settings\n====================================\n\n>
44
+ Api::ForbiddenException\n\napp/controllers/api/users_controller.rb, line 38\n------------------------------------------------\n\n```
45
+ ruby\n 33 (request.path =~ /\\/me/) != nil\n 34 end\n 35
46
+ \ \n 36 def authorize_update!\n 37 unless Api::UserPolicy.new(current_user,
47
+ @user).update?\n> 38 raise Api::ForbiddenException\n 39 end\n
48
+ \ 40 end\n 41 \n 42 def user_params\n 43 params.slice(:name,
49
+ :password)\n```\n\nApp backtrace\n-------------\n\n - app/controllers/api/users_controller.rb:38:in
50
+ `authorize_update!'\n - lib/classes/host_based_tld_length.rb:16:in `call'\n
51
+ - lib/classes/maintenance_sites.rb:14:in `call'\n\nFull backtrace\n--------------\n\n
52
+ - app/controllers/api/users_controller.rb:38:in `authorize_update!'\n - activesupport
53
+ (3.2.21) lib/active_support/callbacks.rb:528:in `_run__1782285797351838256__process_action__3093888262733133923__callbacks'\n
54
+ - activesupport (3.2.21) lib/active_support/callbacks.rb:405:in `__run_callback'\n
55
+ - activesupport (3.2.21) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'\n
56
+ - activesupport (3.2.21) lib/active_support/callbacks.rb:81:in `run_callbacks'\n
57
+ - actionpack (3.2.21) lib/abstract_controller/callbacks.rb:17:in `process_action'\n
58
+ - actionpack (3.2.21) lib/action_controller/metal/rescue.rb:29:in `process_action'\n
59
+ - actionpack (3.2.21) lib/action_controller/metal/instrumentation.rb:30:in
60
+ `block in process_action'\n - activesupport (3.2.21) lib/active_support/notifications.rb:123:in
61
+ `block in instrument'\n - activesupport (3.2.21) lib/active_support/notifications/instrumenter.rb:20:in
62
+ `instrument'\n - activesupport (3.2.21) lib/active_support/notifications.rb:123:in
63
+ `instrument'\n - actionpack (3.2.21) lib/action_controller/metal/instrumentation.rb:29:in
64
+ `process_action'\n - actionpack (3.2.21) lib/action_controller/metal/params_wrapper.rb:207:in
65
+ `process_action'\n - activerecord (3.2.21) lib/active_record/railties/controller_runtime.rb:18:in
66
+ `process_action'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:23:in
67
+ `block in process_action'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/controller_instrumentation.rb:353:in
68
+ `perform_action_with_newrelic_trace'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:22:in
69
+ `process_action'\n - actionpack (3.2.21) lib/abstract_controller/base.rb:121:in
70
+ `process'\n - actionpack (3.2.21) lib/abstract_controller/rendering.rb:45:in
71
+ `process'\n - actionpack (3.2.21) lib/action_controller/metal.rb:203:in `dispatch'\n
72
+ - actionpack (3.2.21) lib/action_controller/metal/rack_delegation.rb:14:in
73
+ `dispatch'\n - actionpack (3.2.21) lib/action_controller/metal.rb:246:in `block
74
+ in action'\n - actionpack (3.2.21) lib/action_dispatch/routing/route_set.rb:73:in
75
+ `dispatch'\n - actionpack (3.2.21) lib/action_dispatch/routing/route_set.rb:36:in
76
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/routing/mapper.rb:43:in
77
+ `call'\n - journey (1.0.4) lib/journey/router.rb:68:in `block in call'\n -
78
+ journey (1.0.4) lib/journey/router.rb:56:in `call'\n - actionpack (3.2.21)
79
+ lib/action_dispatch/routing/route_set.rb:608:in `call'\n - newrelic_rpm (3.11.1.284)
80
+ lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in `call'\n -
81
+ omniauth (1.2.2) lib/omniauth/strategy.rb:186:in `call!'\n - omniauth (1.2.2)
82
+ lib/omniauth/strategy.rb:164:in `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
83
+ `call'\n - omniauth (1.2.2) lib/omniauth/builder.rb:59:in `call'\n - newrelic_rpm
84
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
85
+ `call'\n - meta_request (0.3.4) lib/meta_request/middlewares/app_request_handler.rb:13:in
86
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
87
+ `call'\n - meta_request (0.3.4) lib/meta_request/middlewares/meta_request_handler.rb:13:in
88
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
89
+ `call'\n - bullet (4.14.4) lib/bullet/rack.rb:12:in `call'\n - newrelic_rpm
90
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
91
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/rack/agent_hooks.rb:30:in
92
+ `traced_call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
93
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/rack/browser_monitoring.rb:23:in
94
+ `traced_call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
95
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/rack/developer_mode.rb:56:in
96
+ `traced_call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
97
+ `call'\n - () Users/sgrshah/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/route_downcaser-e854b758a337/lib/route_downcaser/downcase_route_middleware.rb:21:in
98
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
99
+ `call'\n - lib/classes/host_based_tld_length.rb:16:in `call'\n - newrelic_rpm
100
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
101
+ `call'\n - lib/classes/maintenance_sites.rb:14:in `call'\n - newrelic_rpm
102
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
103
+ `call'\n - rack-iframe (0.0.3) lib/rack/iframe.rb:28:in `call'\n - newrelic_rpm
104
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
105
+ `call'\n - rack (1.4.5) lib/rack/deflater.rb:13:in `call'\n - newrelic_rpm
106
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
107
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/best_standards_support.rb:17:in
108
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
109
+ `call'\n - rack (1.4.5) lib/rack/etag.rb:23:in `call'\n - newrelic_rpm (3.11.1.284)
110
+ lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in `call'\n -
111
+ rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'\n - newrelic_rpm (3.11.1.284)
112
+ lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in `call'\n -
113
+ actionpack (3.2.21) lib/action_dispatch/middleware/head.rb:14:in `call'\n
114
+ - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
115
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/params_parser.rb:21:in
116
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
117
+ `call'\n - warden (1.2.3) lib/warden/manager.rb:35:in `block in call'\n -
118
+ warden (1.2.3) lib/warden/manager.rb:34:in `call'\n - newrelic_rpm (3.11.1.284)
119
+ lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in `call'\n -
120
+ actionpack (3.2.21) lib/action_dispatch/middleware/flash.rb:242:in `call'\n
121
+ - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
122
+ `call'\n - rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'\n
123
+ - rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'\n - newrelic_rpm
124
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
125
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/cookies.rb:341:in
126
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
127
+ `call'\n - activerecord (3.2.21) lib/active_record/query_cache.rb:64:in `call'\n
128
+ - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
129
+ `call'\n - activerecord (3.2.21) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in
130
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
131
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/callbacks.rb:28:in
132
+ `block in call'\n - activesupport (3.2.21) lib/active_support/callbacks.rb:416:in
133
+ `_run__1213799619561774363__call__3596182559490352730__callbacks'\n - activesupport
134
+ (3.2.21) lib/active_support/callbacks.rb:405:in `__run_callback'\n - activesupport
135
+ (3.2.21) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'\n -
136
+ activesupport (3.2.21) lib/active_support/callbacks.rb:81:in `run_callbacks'\n
137
+ - actionpack (3.2.21) lib/action_dispatch/middleware/callbacks.rb:27:in `call'\n
138
+ - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
139
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/reloader.rb:65:in
140
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
141
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/remote_ip.rb:31:in
142
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
143
+ `call'\n - better_errors (2.1.1) lib/better_errors/middleware.rb:84:in `protected_app_call'\n
144
+ - better_errors (2.1.1) lib/better_errors/middleware.rb:79:in `better_errors_call'\n
145
+ - better_errors (2.1.1) lib/better_errors/middleware.rb:57:in `call'\n - newrelic_rpm
146
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
147
+ `call'\n - rack-contrib (1.2.0) lib/rack/contrib/response_headers.rb:17:in
148
+ `call'\n - meta_request (0.3.4) lib/meta_request/middlewares/headers.rb:16:in
149
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
150
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/debug_exceptions.rb:16:in
151
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
152
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/show_exceptions.rb:56:in
153
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
154
+ `call'\n - railties (3.2.21) lib/rails/rack/logger.rb:32:in `call_app'\n -
155
+ railties (3.2.21) lib/rails/rack/logger.rb:16:in `block in call'\n - activesupport
156
+ (3.2.21) lib/active_support/tagged_logging.rb:22:in `tagged'\n - railties
157
+ (3.2.21) lib/rails/rack/logger.rb:16:in `call'\n - quiet_assets (1.1.0) lib/quiet_assets.rb:27:in
158
+ `call_with_quiet_assets'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
159
+ `call'\n - request_store (1.1.0) lib/request_store/middleware.rb:8:in `call'\n
160
+ - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
161
+ `call'\n - actionpack (3.2.21) lib/action_dispatch/middleware/request_id.rb:22:in
162
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
163
+ `call'\n - rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'\n - newrelic_rpm
164
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
165
+ `call'\n - rack (1.4.5) lib/rack/runtime.rb:17:in `call'\n - newrelic_rpm
166
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
167
+ `call'\n - activesupport (3.2.21) lib/active_support/cache/strategy/local_cache.rb:72:in
168
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
169
+ `call'\n - rack (1.4.5) lib/rack/lock.rb:15:in `call'\n - newrelic_rpm (3.11.1.284)
170
+ lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in `call'\n -
171
+ actionpack (3.2.21) lib/action_dispatch/middleware/static.rb:83:in `call'\n
172
+ - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
173
+ `call'\n - () Users/sgrshah/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/font_assets-fd695666a1b9/lib/font_assets/middleware.rb:21:in
174
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
175
+ `call'\n - rack-cors (0.3.1) lib/rack/cors.rb:72:in `call'\n - newrelic_rpm
176
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
177
+ `call'\n - rack-timeout (0.2.1) lib/rack/timeout.rb:108:in `call'\n - newrelic_rpm
178
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
179
+ `call'\n - honeybadger (2.0.10) lib/honeybadger/rack/error_notifier.rb:33:in
180
+ `block in call'\n - honeybadger (2.0.10) lib/honeybadger/config.rb:189:in
181
+ `with_request'\n - honeybadger (2.0.10) lib/honeybadger/rack/error_notifier.rb:30:in
182
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
183
+ `call'\n - honeybadger (2.0.10) lib/honeybadger/rack/user_feedback.rb:29:in
184
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
185
+ `call'\n - honeybadger (2.0.10) lib/honeybadger/rack/user_informer.rb:19:in
186
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
187
+ `call'\n - librato-rack (0.4.5) lib/librato/rack.rb:94:in `process_request'\n
188
+ - librato-rack (0.4.5) lib/librato/rack.rb:64:in `call'\n - newrelic_rpm (3.11.1.284)
189
+ lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in `call'\n -
190
+ railties (3.2.21) lib/rails/engine.rb:484:in `call'\n - railties (3.2.21)
191
+ lib/rails/application.rb:231:in `call'\n - railties (3.2.21) lib/rails/railtie/configurable.rb:30:in
192
+ `method_missing'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
193
+ `call'\n - rack (1.4.5) lib/rack/lint.rb:48:in `_call'\n - rack (1.4.5) lib/rack/lint.rb:36:in
194
+ `call'\n - newrelic_rpm (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
195
+ `call'\n - rack (1.4.5) lib/rack/showexceptions.rb:24:in `call'\n - newrelic_rpm
196
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
197
+ `call'\n - rack (1.4.5) lib/rack/commonlogger.rb:33:in `call'\n - newrelic_rpm
198
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
199
+ `call'\n - rack (1.4.5) lib/rack/chunked.rb:43:in `call'\n - newrelic_rpm
200
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
201
+ `call'\n - rack (1.4.5) lib/rack/content_length.rb:14:in `call'\n - newrelic_rpm
202
+ (3.11.1.284) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
203
+ `call'\n - unicorn (4.8.3) lib/unicorn/http_server.rb:576:in `process_client'\n
204
+ - gctools (0.2.3) lib/gctools/oobgc/unicorn_middleware.rb:13:in `process_client'\n
205
+ - unicorn (4.8.3) lib/unicorn/http_server.rb:670:in `worker_loop'\n - unicorn
206
+ (4.8.3) lib/unicorn/http_server.rb:525:in `spawn_missing_workers'\n - unicorn
207
+ (4.8.3) lib/unicorn/http_server.rb:140:in `start'\n - unicorn (4.8.3) bin/unicorn:126:in
208
+ `<top (required)>'\n - /Users/sgrshah/.rbenv/versions/2.1.5/bin/unicorn:23:in
209
+ `<main>'\n\n"
210
+ http_version:
211
+ recorded_at: Mon, 04 May 2015 20:37:45 GMT
212
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,195 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.crystal.dev/sites/1900
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer cc7d6c93bde201968f077b73acd5ee11a2768cbcb9b43122eb294004bf5b4480
12
+ User-Agent:
13
+ - Faraday v0.9.1
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: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Tue, 05 May 2015 18:32:59 GMT
25
+ Status:
26
+ - 200 OK
27
+ Connection:
28
+ - close
29
+ Cache-Control:
30
+ - public, no-cache, must-revalidate
31
+ Surrogate-Control:
32
+ - max-age=3600
33
+ Surrogate-Key:
34
+ - sites/1900
35
+ Etag:
36
+ - '"dbc97fff0882503fb7557be259e3d36f"'
37
+ Last-Modified:
38
+ - Mon, 04 May 2015 20:46:01 GMT
39
+ Content-Type:
40
+ - application/json; charset=utf-8
41
+ Vary:
42
+ - Accept-Encoding
43
+ X-Ua-Compatible:
44
+ - IE=Edge
45
+ X-Meta-Request-Version:
46
+ - 0.3.4
47
+ X-Request-Id:
48
+ - e225bf9ff9aef2189a3095da1355ad35
49
+ X-Runtime:
50
+ - '0.142559'
51
+ Transfer-Encoding:
52
+ - chunked
53
+ body:
54
+ encoding: UTF-8
55
+ string: |
56
+ {
57
+ "_links": {
58
+ "self": {
59
+ "href": "http://api.crystal.dev/sites/1900"
60
+ },
61
+ "home_page": {
62
+ "href": "http://sagartestmovie.crystal.dev"
63
+ },
64
+ "followers": {
65
+ "href": "http://api.crystal.dev/sites/1900/followers"
66
+ }
67
+ },
68
+ "_embedded": {
69
+ "subscription": null,
70
+ "packages": [
71
+ {
72
+ "_links": {
73
+ "self": {
74
+ "href": "http://api.crystal.dev/packages/2780"
75
+ },
76
+ "site": {
77
+ "href": "http://api.crystal.dev/sites/1900"
78
+ },
79
+ "videos": {
80
+ "href": "http://api.crystal.dev/packages/2780/videos"
81
+ },
82
+ "buy_page": {
83
+ "href": "http://sagartestmovie.crystal.dev/buy/pwyw-1"
84
+ },
85
+ "home_page": {
86
+ "href": "http://sagartestmovie.crystal.dev/packages/pwyw-1"
87
+ }
88
+ },
89
+ "_embedded": {
90
+ "trailer": null
91
+ },
92
+ "id": 2780,
93
+ "title": "pwyw",
94
+ "description": "",
95
+ "sku": "pwyw-1",
96
+ "price": {
97
+ "cents": 500,
98
+ "currency": "USD",
99
+ "formatted": "$5",
100
+ "US": {
101
+ "cents": 500,
102
+ "currency": "USD",
103
+ "formatted": "$5"
104
+ }
105
+ },
106
+ "rental": null,
107
+ "trailer_url": null,
108
+ "trailer_embed_code": "<iframe src=\"http://embed.crystal.dev/packages/2780\" width=\"640\" height=\"360\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>",
109
+ "thumbnail": {
110
+ "small": "http://cdn.crystal.dev/assets/thumbnails/default-small.png",
111
+ "medium": "http://cdn.crystal.dev/assets/thumbnails/default-medium.png",
112
+ "large": "http://cdn.crystal.dev/assets/thumbnails/default-large.png",
113
+ "blurred": null
114
+ },
115
+ "is_active": true,
116
+ "is_preorder": false,
117
+ "release_date": null,
118
+ "videos_count": 0,
119
+ "extras_count": 0,
120
+ "created_at": "2014-07-15T18:15:36Z",
121
+ "updated_at": "2014-08-26T14:48:52Z"
122
+ },
123
+ {
124
+ "_links": {
125
+ "self": {
126
+ "href": "http://api.crystal.dev/packages/7381"
127
+ },
128
+ "site": {
129
+ "href": "http://api.crystal.dev/sites/1900"
130
+ },
131
+ "videos": {
132
+ "href": "http://api.crystal.dev/packages/7381/videos"
133
+ },
134
+ "buy_page": {
135
+ "href": "http://sagartestmovie.crystal.dev/buy/test-package-2"
136
+ },
137
+ "home_page": {
138
+ "href": "http://sagartestmovie.crystal.dev/packages/test-package-2"
139
+ }
140
+ },
141
+ "_embedded": {
142
+ "trailer": null
143
+ },
144
+ "id": 7381,
145
+ "title": "test package",
146
+ "description": "test description",
147
+ "sku": "test-package-2",
148
+ "price": {
149
+ "cents": 1000,
150
+ "currency": "USD",
151
+ "formatted": "$10",
152
+ "US": {
153
+ "cents": 1000,
154
+ "currency": "USD",
155
+ "formatted": "$10"
156
+ }
157
+ },
158
+ "rental": null,
159
+ "trailer_url": null,
160
+ "trailer_embed_code": "<iframe src=\"http://embed.crystal.dev/packages/7381\" width=\"640\" height=\"360\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>",
161
+ "thumbnail": {
162
+ "small": "http://cdn.crystal.dev/assets/thumbnails/default-small.png",
163
+ "medium": "http://cdn.crystal.dev/assets/thumbnails/default-medium.png",
164
+ "large": "http://cdn.crystal.dev/assets/thumbnails/default-large.png",
165
+ "blurred": null
166
+ },
167
+ "is_active": true,
168
+ "is_preorder": false,
169
+ "release_date": null,
170
+ "videos_count": 0,
171
+ "extras_count": 0,
172
+ "created_at": "2015-05-04T19:15:09Z",
173
+ "updated_at": "2015-05-04T19:15:09Z"
174
+ }
175
+ ]
176
+ },
177
+ "id": 1900,
178
+ "title": "SagarTestMovie",
179
+ "description": "This is my test movie. ",
180
+ "domain": "sagartestmovie.crystal.dev",
181
+ "subdomain": "sagartestmovie",
182
+ "key": "sagartestmovie",
183
+ "color": "#28DBF7",
184
+ "facebook_url": null,
185
+ "twitter_name": null,
186
+ "google_analytics_id": "",
187
+ "packages_count": 2,
188
+ "videos_count": 4,
189
+ "followers_count": 31,
190
+ "created_at": "2013-12-27T00:20:28Z",
191
+ "updated_at": "2015-05-04T20:46:01Z"
192
+ }
193
+ http_version:
194
+ recorded_at: Tue, 05 May 2015 18:32:59 GMT
195
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,310 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.crystal.dev/sites/1900
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer d46501a84b0dac5e5063dcb4ee436c17c469a528c7f06885d02b0667622b5e51
12
+ User-Agent:
13
+ - Faraday v0.9.1
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: 401
21
+ message: Unauthorized
22
+ headers:
23
+ Date:
24
+ - Tue, 05 May 2015 18:31:32 GMT
25
+ Status:
26
+ - 401 Unauthorized
27
+ Connection:
28
+ - close
29
+ Cache-Control:
30
+ - no-store
31
+ Surrogate-Control:
32
+ - no-cache
33
+ Pragma:
34
+ - no-cache
35
+ Www-Authenticate:
36
+ - Bearer realm="VHX API", error="invalid_token", error_description="The access
37
+ token expired"
38
+ Content-Type:
39
+ - application/json; charset=utf-8
40
+ Vary:
41
+ - Accept-Encoding
42
+ X-Ua-Compatible:
43
+ - IE=Edge
44
+ Set-Cookie:
45
+ - _session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiJWYwYjkzNWVlZjU3YWYyMzNmOGUyOGU1OTQ5MTg4N2I0BjsAVEkiGGN1cnJlbnRfYXBwbGljYXRpb24GOwBGSSIKc2FnYXIGOwBUSSIRY3VycmVudF91c2VyBjsARkkiEXNhZ2FyQHZoeC50dgY7AFQ%3D--51d7d9cfca63ca78d37bfedf4704e4e81e2e373c;
46
+ domain=.crystal.dev; path=/; expires=Thu, 05-May-2016 18:31:32 GMT; HttpOnly
47
+ X-Meta-Request-Version:
48
+ - 0.3.4
49
+ X-Request-Id:
50
+ - fe944ac8260d97f324f73aef31159626
51
+ X-Runtime:
52
+ - '0.070121'
53
+ Transfer-Encoding:
54
+ - chunked
55
+ body:
56
+ encoding: UTF-8
57
+ string: |
58
+ {
59
+ "message": "Access token is invalid.",
60
+ "documentation_url": "http://dev.vhx.tv/docs/api"
61
+ }
62
+ http_version:
63
+ recorded_at: Tue, 05 May 2015 18:31:32 GMT
64
+ - request:
65
+ method: post
66
+ uri: http://api.crystal.dev/oauth/token
67
+ body:
68
+ encoding: UTF-8
69
+ string: client_id=34ac1dec21fc20afd5099a2e6e0e62745dead7acd20c7b87320d8e5a7c5a33cc&client_secret=6a04e2cf039db7ff57850f677fe0e419cdc132b3cc04aac9f3c2cd1c193a326d&grant_type=refresh_token&refresh_token=7aa1e03fe89796a2391381669ed847dc20211f2a262192d8404e743cf9ba57bf
70
+ headers:
71
+ User-Agent:
72
+ - Faraday v0.9.1
73
+ Content-Type:
74
+ - application/x-www-form-urlencoded
75
+ Accept-Encoding:
76
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
77
+ Accept:
78
+ - "*/*"
79
+ response:
80
+ status:
81
+ code: 200
82
+ message: OK
83
+ headers:
84
+ Date:
85
+ - Tue, 05 May 2015 18:31:33 GMT
86
+ Status:
87
+ - 200 OK
88
+ Connection:
89
+ - close
90
+ Cache-Control:
91
+ - no-store
92
+ Pragma:
93
+ - no-cache
94
+ Content-Type:
95
+ - application/json; charset=utf-8
96
+ Vary:
97
+ - Accept-Encoding
98
+ X-Ua-Compatible:
99
+ - IE=Edge
100
+ Etag:
101
+ - '"b52136a7fe77173b77569142701b4112"'
102
+ Set-Cookie:
103
+ - _session=BAh7BkkiD3Nlc3Npb25faWQGOgZFVEkiJWVlMzQ3MGRhOThkN2I1M2UxOWJmMGQxODUyODg1MmUyBjsAVA%3D%3D--8a5b6e60225d262e572c0f44ef660fac3f7f976d;
104
+ domain=.crystal.dev; path=/; expires=Thu, 05-May-2016 18:31:33 GMT; HttpOnly
105
+ X-Meta-Request-Version:
106
+ - 0.3.4
107
+ X-Request-Id:
108
+ - b81f1c0a34ad840cbe38e82b514272d3
109
+ X-Runtime:
110
+ - '0.136317'
111
+ Transfer-Encoding:
112
+ - chunked
113
+ body:
114
+ encoding: UTF-8
115
+ string: '{"access_token":"cc7d6c93bde201968f077b73acd5ee11a2768cbcb9b43122eb294004bf5b4480","token_type":"bearer","expires_in":7200,"refresh_token":"3b9aacbeb03d05e7b901c35580bcc45e6e714cd4921d8bc8699342632f68bd63","scope":"public"}'
116
+ http_version:
117
+ recorded_at: Tue, 05 May 2015 18:31:33 GMT
118
+ - request:
119
+ method: get
120
+ uri: http://api.crystal.dev/sites/1900
121
+ body:
122
+ encoding: US-ASCII
123
+ string: ''
124
+ headers:
125
+ Authorization:
126
+ - Bearer cc7d6c93bde201968f077b73acd5ee11a2768cbcb9b43122eb294004bf5b4480
127
+ User-Agent:
128
+ - Faraday v0.9.1
129
+ Accept-Encoding:
130
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
131
+ Accept:
132
+ - "*/*"
133
+ response:
134
+ status:
135
+ code: 200
136
+ message: OK
137
+ headers:
138
+ Date:
139
+ - Tue, 05 May 2015 18:31:34 GMT
140
+ Status:
141
+ - 200 OK
142
+ Connection:
143
+ - close
144
+ Cache-Control:
145
+ - public, no-cache, must-revalidate
146
+ Surrogate-Control:
147
+ - max-age=3600
148
+ Surrogate-Key:
149
+ - sites/1900
150
+ Etag:
151
+ - '"dbc97fff0882503fb7557be259e3d36f"'
152
+ Last-Modified:
153
+ - Mon, 04 May 2015 20:46:01 GMT
154
+ Content-Type:
155
+ - application/json; charset=utf-8
156
+ Vary:
157
+ - Accept-Encoding
158
+ X-Ua-Compatible:
159
+ - IE=Edge
160
+ X-Meta-Request-Version:
161
+ - 0.3.4
162
+ X-Request-Id:
163
+ - 72d2d917c80c12e82bc523c77f977a24
164
+ X-Runtime:
165
+ - '1.087962'
166
+ Transfer-Encoding:
167
+ - chunked
168
+ body:
169
+ encoding: UTF-8
170
+ string: |
171
+ {
172
+ "_links": {
173
+ "self": {
174
+ "href": "http://api.crystal.dev/sites/1900"
175
+ },
176
+ "home_page": {
177
+ "href": "http://sagartestmovie.crystal.dev"
178
+ },
179
+ "followers": {
180
+ "href": "http://api.crystal.dev/sites/1900/followers"
181
+ }
182
+ },
183
+ "_embedded": {
184
+ "subscription": null,
185
+ "packages": [
186
+ {
187
+ "_links": {
188
+ "self": {
189
+ "href": "http://api.crystal.dev/packages/2780"
190
+ },
191
+ "site": {
192
+ "href": "http://api.crystal.dev/sites/1900"
193
+ },
194
+ "videos": {
195
+ "href": "http://api.crystal.dev/packages/2780/videos"
196
+ },
197
+ "buy_page": {
198
+ "href": "http://sagartestmovie.crystal.dev/buy/pwyw-1"
199
+ },
200
+ "home_page": {
201
+ "href": "http://sagartestmovie.crystal.dev/packages/pwyw-1"
202
+ }
203
+ },
204
+ "_embedded": {
205
+ "trailer": null
206
+ },
207
+ "id": 2780,
208
+ "title": "pwyw",
209
+ "description": "",
210
+ "sku": "pwyw-1",
211
+ "price": {
212
+ "cents": 500,
213
+ "currency": "USD",
214
+ "formatted": "$5",
215
+ "US": {
216
+ "cents": 500,
217
+ "currency": "USD",
218
+ "formatted": "$5"
219
+ }
220
+ },
221
+ "rental": null,
222
+ "trailer_url": null,
223
+ "trailer_embed_code": "<iframe src=\"http://embed.crystal.dev/packages/2780\" width=\"640\" height=\"360\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>",
224
+ "thumbnail": {
225
+ "small": "http://cdn.crystal.dev/assets/thumbnails/default-small.png",
226
+ "medium": "http://cdn.crystal.dev/assets/thumbnails/default-medium.png",
227
+ "large": "http://cdn.crystal.dev/assets/thumbnails/default-large.png",
228
+ "blurred": null
229
+ },
230
+ "is_active": true,
231
+ "is_preorder": false,
232
+ "release_date": null,
233
+ "videos_count": 0,
234
+ "extras_count": 0,
235
+ "created_at": "2014-07-15T18:15:36Z",
236
+ "updated_at": "2014-08-26T14:48:52Z"
237
+ },
238
+ {
239
+ "_links": {
240
+ "self": {
241
+ "href": "http://api.crystal.dev/packages/7381"
242
+ },
243
+ "site": {
244
+ "href": "http://api.crystal.dev/sites/1900"
245
+ },
246
+ "videos": {
247
+ "href": "http://api.crystal.dev/packages/7381/videos"
248
+ },
249
+ "buy_page": {
250
+ "href": "http://sagartestmovie.crystal.dev/buy/test-package-2"
251
+ },
252
+ "home_page": {
253
+ "href": "http://sagartestmovie.crystal.dev/packages/test-package-2"
254
+ }
255
+ },
256
+ "_embedded": {
257
+ "trailer": null
258
+ },
259
+ "id": 7381,
260
+ "title": "test package",
261
+ "description": "test description",
262
+ "sku": "test-package-2",
263
+ "price": {
264
+ "cents": 1000,
265
+ "currency": "USD",
266
+ "formatted": "$10",
267
+ "US": {
268
+ "cents": 1000,
269
+ "currency": "USD",
270
+ "formatted": "$10"
271
+ }
272
+ },
273
+ "rental": null,
274
+ "trailer_url": null,
275
+ "trailer_embed_code": "<iframe src=\"http://embed.crystal.dev/packages/7381\" width=\"640\" height=\"360\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>",
276
+ "thumbnail": {
277
+ "small": "http://cdn.crystal.dev/assets/thumbnails/default-small.png",
278
+ "medium": "http://cdn.crystal.dev/assets/thumbnails/default-medium.png",
279
+ "large": "http://cdn.crystal.dev/assets/thumbnails/default-large.png",
280
+ "blurred": null
281
+ },
282
+ "is_active": true,
283
+ "is_preorder": false,
284
+ "release_date": null,
285
+ "videos_count": 0,
286
+ "extras_count": 0,
287
+ "created_at": "2015-05-04T19:15:09Z",
288
+ "updated_at": "2015-05-04T19:15:09Z"
289
+ }
290
+ ]
291
+ },
292
+ "id": 1900,
293
+ "title": "SagarTestMovie",
294
+ "description": "This is my test movie. ",
295
+ "domain": "sagartestmovie.crystal.dev",
296
+ "subdomain": "sagartestmovie",
297
+ "key": "sagartestmovie",
298
+ "color": "#28DBF7",
299
+ "facebook_url": null,
300
+ "twitter_name": null,
301
+ "google_analytics_id": "",
302
+ "packages_count": 2,
303
+ "videos_count": 4,
304
+ "followers_count": 31,
305
+ "created_at": "2013-12-27T00:20:28Z",
306
+ "updated_at": "2015-05-04T20:46:01Z"
307
+ }
308
+ http_version:
309
+ recorded_at: Tue, 05 May 2015 18:31:34 GMT
310
+ recorded_with: VCR 2.9.3