dawn-api 0.10.1 → 0.11.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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -4
  3. data/lib/dawn/api/authenticate.rb +33 -7
  4. data/lib/dawn/api/base_api.rb +52 -6
  5. data/lib/dawn/api/health_check.rb +14 -0
  6. data/lib/dawn/api/hosts.rb +16 -3
  7. data/lib/dawn/api/models/account.rb +44 -15
  8. data/lib/dawn/api/models/app/domains.rb +30 -6
  9. data/lib/dawn/api/models/app/drains.rb +30 -6
  10. data/lib/dawn/api/models/app/env.rb +19 -5
  11. data/lib/dawn/api/models/app/gears.rb +31 -7
  12. data/lib/dawn/api/models/app/releases.rb +28 -8
  13. data/lib/dawn/api/models/app.rb +93 -16
  14. data/lib/dawn/api/models/domain.rb +36 -11
  15. data/lib/dawn/api/models/drain.rb +33 -19
  16. data/lib/dawn/api/models/gear.rb +45 -25
  17. data/lib/dawn/api/models/key.rb +33 -15
  18. data/lib/dawn/api/models/login.rb +5 -4
  19. data/lib/dawn/api/models/release.rb +32 -14
  20. data/lib/dawn/api/safe/base_api.rb +3 -3
  21. data/lib/dawn/api/safe/safe_extension.rb +20 -5
  22. data/lib/dawn/api/version.rb +5 -5
  23. data/lib/dawn/api.rb +1 -1
  24. data/spec/api/account_spec.rb +21 -0
  25. data/spec/api/app/domains_spec.rb +30 -0
  26. data/spec/api/app/drains_spec.rb +30 -0
  27. data/spec/api/app/gears_spec.rb +38 -0
  28. data/spec/api/app/releases_spec.rb +30 -0
  29. data/spec/api/app_spec.rb +166 -0
  30. data/spec/api/domain_spec.rb +54 -0
  31. data/spec/api/drain_spec.rb +54 -0
  32. data/spec/api/gear_spec.rb +65 -0
  33. data/spec/api/key_spec.rb +54 -0
  34. data/spec/api/release_spec.rb +13 -0
  35. data/spec/api_spec_helper.rb +18 -0
  36. data/spec/references/data.yml +16 -0
  37. data/spec/seed.rb +70 -0
  38. data/spec/seedlog.log +1454 -0
  39. data/spec/support/vcr.rb +11 -0
  40. data/spec/vcr/Dawn_Account/_current/should_retrieve_current_user_account.yml +51 -0
  41. data/spec/vcr/Dawn_Account/_update/should_update_an_account.yml +99 -0
  42. data/spec/vcr/Dawn_App/_all/should_only_have_an_array_of_apps.yml +62 -0
  43. data/spec/vcr/Dawn_App/_all/should_retrieve_all_user_apps.yml +62 -0
  44. data/spec/vcr/Dawn_App/_create/should_create_a_new_app_given_a_name.yml +51 -0
  45. data/spec/vcr/Dawn_App/_create/should_raise_an_Excon_Errors_UnprocessableEntity_when_an_invalid_name_is_given.yml +49 -0
  46. data/spec/vcr/Dawn_App/_destroy/should_destroy_1_app.yml +49 -0
  47. data/spec/vcr/Dawn_App/_destroy/should_fail_to_destroy_non-existant_app.yml +48 -0
  48. data/spec/vcr/Dawn_App/_domains/should_have_domains.yml +51 -0
  49. data/spec/vcr/Dawn_App/_domains/should_retrieve_domains.yml +98 -0
  50. data/spec/vcr/Dawn_App/_drains/should_have_drains.yml +51 -0
  51. data/spec/vcr/Dawn_App/_find/should_fail_to_find_a_non_existant_app.yml +48 -0
  52. data/spec/vcr/Dawn_App/_find/should_retrieve_1_app_by_id.yml +111 -0
  53. data/spec/vcr/Dawn_App/_find/should_retrieve_1_app_by_name.yml +51 -0
  54. data/spec/vcr/Dawn_App/_gears/should_have_gears.yml +51 -0
  55. data/spec/vcr/Dawn_App/_gears/should_restart_gears.yml +98 -0
  56. data/spec/vcr/Dawn_App/_gears/should_retrieve_gears.yml +98 -0
  57. data/spec/vcr/Dawn_App/_logs/should_fail_to_retrieve_logs_uri_for_a_non_existant_app.yml +48 -0
  58. data/spec/vcr/Dawn_App/_logs/should_retrieve_logs_url_for_app.yml +98 -0
  59. data/spec/vcr/Dawn_App/_releases/should_have_releases.yml +51 -0
  60. data/spec/vcr/Dawn_App/_releases/should_retrieve_releases.yml +98 -0
  61. data/spec/vcr/Dawn_App/_restart/should_fail_to_restart_a_non_existant_app.yml +48 -0
  62. data/spec/vcr/Dawn_App/_scale/should_have_updated_formation.yml +51 -0
  63. data/spec/vcr/Dawn_App/_scale/should_raise_an_IndexError_if_app_key_is_missing.yml +51 -0
  64. data/spec/vcr/Dawn_App/_scale/should_scale_app.yml +98 -0
  65. data/spec/vcr/Dawn_App/_update/should_fail_to_update_non-existant_app.yml +48 -0
  66. data/spec/vcr/Dawn_App_Domains/_all/should_have_only_domains.yml +98 -0
  67. data/spec/vcr/Dawn_App_Domains/_all/should_return_all_domains.yml +98 -0
  68. data/spec/vcr/Dawn_App_Domains/_create/should_create_a_new_domain.yml +99 -0
  69. data/spec/vcr/Dawn_App_Drains/_all/should_have_only_drains.yml +98 -0
  70. data/spec/vcr/Dawn_App_Drains/_all/should_return_all_drains.yml +98 -0
  71. data/spec/vcr/Dawn_App_Drains/_create/should_create_a_new_drain.yml +99 -0
  72. data/spec/vcr/Dawn_App_Gears/_all/should_return_all_gears.yml +98 -0
  73. data/spec/vcr/Dawn_App_Releases/_all/should_return_all_releases.yml +98 -0
  74. data/spec/vcr/Dawn_App_Releases/_create/should_create_a_new_release.yml +423 -0
  75. data/spec/vcr/Dawn_Key/_all/should_retrieve_all_user_keys.yml +52 -0
  76. data/spec/vcr/Dawn_Key/_create/should_create_a_new_sshkey.yml +51 -0
  77. data/spec/vcr/Dawn_Key/_create/should_fail_if_sshkey_is_invalid.yml +49 -0
  78. data/spec/vcr/Dawn_Key/_destroy/should_404_if_key_does_not_exist.yml +48 -0
  79. data/spec/vcr/Dawn_Key/_destroy/should_remove_a_key_by_id.yml +98 -0
  80. data/spec/vcr/Dawn_Key/_find/should_404_if_key_does_not_exist.yml +48 -0
  81. data/spec/vcr/Dawn_Key/_find/should_find_a_key_by_id.yml +99 -0
  82. data/spec/vcr/Dawn_Release/_find/should_find_1_release_by_id.yml +48 -0
  83. metadata +62 -3
  84. data/lib/dawn/api/safe.rb +0 -2
@@ -0,0 +1,423 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.dawn.dev/apps/releases-test
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip
16
+ User-Agent:
17
+ - dawn/0.11.0
18
+ X-Ruby-Version:
19
+ - 2.1.2
20
+ X-Ruby-Platform:
21
+ - x86_64-linux
22
+ Authorization:
23
+ - Basic SWNlRHJhZ29uOmFGM0VHM1hjdW16Sm1LcGFIeUI5
24
+ response:
25
+ status:
26
+ code: 200
27
+ message:
28
+ headers:
29
+ content-type:
30
+ - text/html
31
+ etag:
32
+ - '"042a5f4820c07d6f85a4d00b187db7f9"'
33
+ cache-control:
34
+ - max-age=0, private, must-revalidate
35
+ x-request-id:
36
+ - 7ae96b5d-08d3-430b-be7f-a7a930cad026
37
+ x-runtime:
38
+ - '0.067937'
39
+ transfer-encoding:
40
+ - ''
41
+ connection:
42
+ - TE, close
43
+ Date:
44
+ - Tue, 24 Jun 2014 21:58:52 GMT
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"app":{"id":8,"created_at":"2014-06-24 18:36:20 UTC","updated_at":"2014-06-24
48
+ 18:36:20 UTC","name":"releases-test","version":0,"env":{},"formation":{"web":"1"},"url":"releases-test.dawnapp.dev"}}'
49
+ http_version:
50
+ recorded_at: Tue, 24 Jun 2014 21:59:12 GMT
51
+ - request:
52
+ method: post
53
+ uri: http://api.dawn.dev/apps/8/releases
54
+ body:
55
+ encoding: UTF-8
56
+ string: "{}"
57
+ headers:
58
+ Accept:
59
+ - application/json
60
+ Content-Type:
61
+ - application/json
62
+ Accept-Encoding:
63
+ - gzip
64
+ User-Agent:
65
+ - dawn/0.11.0
66
+ X-Ruby-Version:
67
+ - 2.1.2
68
+ X-Ruby-Platform:
69
+ - x86_64-linux
70
+ Authorization:
71
+ - Basic SWNlRHJhZ29uOmFGM0VHM1hjdW16Sm1LcGFIeUI5
72
+ response:
73
+ status:
74
+ code: 500
75
+ message:
76
+ headers:
77
+ content-type:
78
+ - text/html; charset=utf-8
79
+ x-request-id:
80
+ - 4ab1724b-e142-4bf9-a7f2-4e055f9c6726
81
+ x-runtime:
82
+ - '0.084920'
83
+ content-length:
84
+ - '29410'
85
+ connection:
86
+ - TE, close
87
+ Date:
88
+ - Tue, 24 Jun 2014 21:59:00 GMT
89
+ body:
90
+ encoding: UTF-8
91
+ string: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\"
92
+ />\n <title>Action Controller: Exception caught</title>\n <style>\n body
93
+ {\n background-color: #FAFAFA;\n color: #333;\n margin: 0px;\n
94
+ \ }\n\n body, p, ol, ul, td {\n font-family: helvetica, verdana,
95
+ arial, sans-serif;\n font-size: 13px;\n line-height: 18px;\n }\n\n
96
+ \ pre {\n font-size: 11px;\n white-space: pre-wrap;\n }\n\n
97
+ \ pre.box {\n border: 1px solid #EEE;\n padding: 10px;\n margin:
98
+ 0px;\n width: 958px;\n }\n\n header {\n color: #F0F0F0;\n
99
+ \ background: #C52F24;\n padding: 0.5em 1.5em;\n }\n\n h1 {\n
100
+ \ margin: 0.2em 0;\n line-height: 1.1em;\n font-size: 2em;\n
101
+ \ }\n\n h2 {\n color: #C52F24;\n line-height: 25px;\n }\n\n
102
+ \ .details {\n border: 1px solid #D0D0D0;\n border-radius: 4px;\n
103
+ \ margin: 1em 0px;\n display: block;\n width: 978px;\n }\n\n
104
+ \ .summary {\n padding: 8px 15px;\n border-bottom: 1px solid #D0D0D0;\n
105
+ \ display: block;\n }\n\n .details pre {\n margin: 5px;\n border:
106
+ none;\n }\n\n #container {\n box-sizing: border-box;\n width:
107
+ 100%;\n padding: 0 1.5em;\n }\n\n .source * {\n margin: 0px;\n
108
+ \ padding: 0px;\n }\n\n .source {\n border: 1px solid #D9D9D9;\n
109
+ \ background: #ECECEC;\n width: 978px;\n }\n\n .source pre
110
+ {\n padding: 10px 0px;\n border: none;\n }\n\n .source .data
111
+ {\n font-size: 80%;\n overflow: auto;\n background-color: #FFF;\n
112
+ \ }\n\n .info {\n padding: 0.5em;\n }\n\n .source .data .line_numbers
113
+ {\n background-color: #ECECEC;\n color: #AAA;\n padding: 1em
114
+ .5em;\n border-right: 1px solid #DDD;\n text-align: right;\n }\n\n
115
+ \ .line {\n padding-left: 10px;\n }\n\n .line:hover {\n background-color:
116
+ #F6F6F6;\n }\n\n .line.active {\n background-color: #FFCCCC;\n
117
+ \ }\n\n a { color: #980905; }\n a:visited { color: #666; }\n a:hover
118
+ { color: #C52F24; }\n\n \n </style>\n\n <script>\n var toggle = function(id)
119
+ {\n var s = document.getElementById(id).style;\n s.display = s.display
120
+ == 'none' ? 'block' : 'none';\n return false;\n }\n var show =
121
+ function(id) {\n document.getElementById(id).style.display = 'block';\n
122
+ \ }\n var hide = function(id) {\n document.getElementById(id).style.display
123
+ = 'none';\n }\n var toggleTrace = function() {\n return toggle('blame_trace');\n
124
+ \ }\n var toggleSessionDump = function() {\n return toggle('session_dump');\n
125
+ \ }\n var toggleEnvDump = function() {\n return toggle('env_dump');\n
126
+ \ }\n </script>\n</head>\n<body>\n\n<header>\n <h1>\n Docker::Error::NotFoundError\n
127
+ \ in AppsController#create_release\n </h1>\n</header>\n\n<div id=\"container\">\n
128
+ \ <h2>Expected(200..204) &lt;=&gt; Actual(404 Not Found)</h2>\n\n <div class=\"source\">\n<div
129
+ class=\"info\">\n Extracted source (around line <strong>#29</strong>):\n</div>\n<div
130
+ class=\"data\">\n <table cellpadding=\"0\" cellspacing=\"0\" class=\"lines\">\n
131
+ \ <tr>\n <td>\n <pre class=\"line_numbers\">\n<span>27</span>\n<span>28</span>\n<span>29</span>\n<span>30</span>\n<span>31</span>\n<span>32</span>\n
132
+ \ </pre>\n </td>\n<td width=\"100%\">\n<pre>\n<div class=\"line\">
133
+ \ }.map {|key, val| &quot;-#{key}=#{val.inspect}&quot; }.join(&quot; &quot;)\n</div><div
134
+ class=\"line\">\n</div><div class=\"line active\"> container = Docker::Container.create(\n</div><div
135
+ class=\"line\"> &#39;Image&#39; =&gt; app.releases.first.image,\n</div><div
136
+ class=\"line\"> &#39;Cmd&#39; =&gt; [&quot;/bin/bash&quot;, &quot;-c&quot;,
137
+ &quot;/start #{proctype} 2&gt;&amp;1 | /opt/log-shuttle/log-shuttle #{logshuttle}&quot;],\n</div><div
138
+ class=\"line\"> &#39;Env&#39; =&gt; app.env.map { |k,v| &quot;#{k}=#{v}&quot;
139
+ }.concat([&quot;PORT=#{port}&quot;])\n</div>\n</pre>\n</td>\n </tr>\n </table>\n</div>\n</div>\n\n
140
+ \ \n<p><code>Rails.root: /usr/src/app</code></p>\n\n<div id=\"traces\">\n
141
+ \ <a href=\"#\" onclick=\"hide(&#39;Framework-Trace&#39;);hide(&#39;Full-Trace&#39;);show(&#39;Application-Trace&#39;);;
142
+ return false;\">Application Trace</a> |\n <a href=\"#\" onclick=\"hide(&#39;Application-Trace&#39;);hide(&#39;Full-Trace&#39;);show(&#39;Framework-Trace&#39;);;
143
+ return false;\">Framework Trace</a> |\n <a href=\"#\" onclick=\"hide(&#39;Application-Trace&#39;);hide(&#39;Framework-Trace&#39;);show(&#39;Full-Trace&#39;);;
144
+ return false;\">Full Trace</a> \n\n <div id=\"Application-Trace\" style=\"display:
145
+ block;\">\n <pre><code>app/models/gear.rb:29:in `spawn&#39;\napp/models/gear.rb:15:in
146
+ `block in &lt;class:Gear&gt;&#39;\napp/models/release.rb:23:in `block (2 levels)
147
+ in deploy!&#39;\napp/models/release.rb:22:in `times&#39;\napp/models/release.rb:22:in
148
+ `block in deploy!&#39;\napp/models/release.rb:21:in `each&#39;\napp/models/release.rb:21:in
149
+ `deploy!&#39;\napp/models/app.rb:24:in `release!&#39;\napp/controllers/apps_controller.rb:160:in
150
+ `create_release&#39;</code></pre>\n </div>\n <div id=\"Framework-Trace\"
151
+ style=\"display: none;\">\n <pre><code>/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/connection.rb:48:in
152
+ `rescue in request&#39;\n/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/connection.rb:36:in
153
+ `request&#39;\n/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/connection.rb:57:in
154
+ `block (2 levels) in &lt;class:Connection&gt;&#39;\n/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/container.rb:153:in
155
+ `create&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:440:in
156
+ `instance_exec&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:440:in
157
+ `block in make_lambda&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:143:in
158
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:143:in `block
159
+ in halting_and_conditional&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in
160
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactivemodel
161
+ (4.1.1) lib/active_model/validations/callbacks.rb:111:in `run_validations!&#39;\nactivemodel
162
+ (4.1.1) lib/active_model/validations.rb:317:in `valid?&#39;\nactiverecord
163
+ (4.1.1) lib/active_record/validations.rb:70:in `valid?&#39;\nactiverecord
164
+ (4.1.1) lib/active_record/validations.rb:77:in `perform_validations&#39;\nactiverecord
165
+ (4.1.1) lib/active_record/validations.rb:57:in `save!&#39;\nactiverecord (4.1.1)
166
+ lib/active_record/attribute_methods/dirty.rb:29:in `save!&#39;\nactiverecord
167
+ (4.1.1) lib/active_record/transactions.rb:273:in `block in save!&#39;\nactiverecord
168
+ (4.1.1) lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status&#39;\nactiverecord
169
+ (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in
170
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
171
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:326:in
172
+ `with_transaction_returning_status&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:273:in
173
+ `save!&#39;\nactiverecord (4.1.1) lib/active_record/associations/has_many_association.rb:38:in
174
+ `insert_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:462:in
175
+ `block (2 levels) in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:389:in
176
+ `add_to_target&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:460:in
177
+ `block in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:168:in
178
+ `block in transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in
179
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
180
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:167:in
181
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:459:in
182
+ `create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:141:in
183
+ `create!&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_proxy.rb:301:in
184
+ `create!&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:424:in
185
+ `block in make_lambda&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:221:in
186
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:221:in `block
187
+ in halting_and_conditional&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in
188
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactiverecord
189
+ (4.1.1) lib/active_record/callbacks.rb:306:in `create_record&#39;\nactiverecord
190
+ (4.1.1) lib/active_record/timestamp.rb:57:in `create_record&#39;\nactiverecord
191
+ (4.1.1) lib/active_record/persistence.rb:482:in `create_or_update&#39;\nactiverecord
192
+ (4.1.1) lib/active_record/callbacks.rb:302:in `block in create_or_update&#39;\nactivesupport
193
+ (4.1.1) lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport (4.1.1)
194
+ lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:166:in
195
+ `block in halting&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in
196
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactiverecord
197
+ (4.1.1) lib/active_record/callbacks.rb:302:in `create_or_update&#39;\nactiverecord
198
+ (4.1.1) lib/active_record/persistence.rb:125:in `save!&#39;\nactiverecord
199
+ (4.1.1) lib/active_record/validations.rb:57:in `save!&#39;\nactiverecord (4.1.1)
200
+ lib/active_record/attribute_methods/dirty.rb:29:in `save!&#39;\nactiverecord
201
+ (4.1.1) lib/active_record/transactions.rb:273:in `block in save!&#39;\nactiverecord
202
+ (4.1.1) lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status&#39;\nactiverecord
203
+ (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in
204
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
205
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:326:in
206
+ `with_transaction_returning_status&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:273:in
207
+ `save!&#39;\nactiverecord (4.1.1) lib/active_record/associations/has_many_association.rb:38:in
208
+ `insert_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:462:in
209
+ `block (2 levels) in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:389:in
210
+ `add_to_target&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:460:in
211
+ `block in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:168:in
212
+ `block in transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in
213
+ `block in transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:219:in
214
+ `within_new_transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in
215
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
216
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:167:in
217
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:459:in
218
+ `create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:141:in
219
+ `create!&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_proxy.rb:301:in
220
+ `create!&#39;\nactionpack (4.1.1) lib/abstract_controller/base.rb:189:in `process_action&#39;\nactionpack
221
+ (4.1.1) lib/action_controller/metal/rendering.rb:10:in `process_action&#39;\nactionpack
222
+ (4.1.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action&#39;\nactivesupport
223
+ (4.1.1) lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport (4.1.1)
224
+ lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:149:in
225
+ `block in halting_and_conditional&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:149:in
226
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:149:in `block
227
+ in halting_and_conditional&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:149:in
228
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:149:in `block
229
+ in halting_and_conditional&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:166:in
230
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block
231
+ in halting&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:166:in
232
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:166:in `block
233
+ in halting&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in
234
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactionpack
235
+ (4.1.1) lib/abstract_controller/callbacks.rb:19:in `process_action&#39;\nactionpack
236
+ (4.1.1) lib/abstract_controller/base.rb:136:in `process&#39;\nactionview (4.1.1)
237
+ lib/action_view/rendering.rb:30:in `process&#39;\nactionpack (4.1.1) lib/action_controller/metal.rb:195:in
238
+ `dispatch&#39;\nactionpack (4.1.1) lib/action_controller/metal.rb:231:in `block
239
+ in action&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in
240
+ `call&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in
241
+ `dispatch&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:48:in
242
+ `call&#39;\nactionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in
243
+ `block in call&#39;\nactionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in
244
+ `each&#39;\nactionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in
245
+ `call&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in
246
+ `call&#39;\nwarden (1.2.3) lib/warden/manager.rb:35:in `block in call&#39;\nwarden
247
+ (1.2.3) lib/warden/manager.rb:34:in `catch&#39;\nwarden (1.2.3) lib/warden/manager.rb:34:in
248
+ `call&#39;\nrack (1.5.2) lib/rack/etag.rb:23:in `call&#39;\nrack (1.5.2) lib/rack/conditionalget.rb:35:in
249
+ `call&#39;\nrack (1.5.2) lib/rack/head.rb:11:in `call&#39;\nactionpack (4.1.1)
250
+ lib/action_dispatch/middleware/params_parser.rb:27:in `call&#39;\nactiverecord
251
+ (4.1.1) lib/active_record/query_cache.rb:36:in `call&#39;\nactiverecord (4.1.1)
252
+ lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call&#39;\nactionpack
253
+ (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call&#39;\nactivesupport
254
+ (4.1.1) lib/active_support/callbacks.rb:82:in `run_callbacks&#39;\nactionpack
255
+ (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call&#39;\nactionpack
256
+ (4.1.1) lib/action_dispatch/middleware/reloader.rb:73:in `call&#39;\nactionpack
257
+ (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call&#39;\nbetter_errors
258
+ (1.1.0) lib/better_errors/middleware.rb:58:in `call&#39;\nactionpack (4.1.1)
259
+ lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call&#39;\nactionpack
260
+ (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call&#39;\nrailties
261
+ (4.1.1) lib/rails/rack/logger.rb:38:in `call_app&#39;\nrailties (4.1.1) lib/rails/rack/logger.rb:20:in
262
+ `block in call&#39;\nactivesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in
263
+ `block in tagged&#39;\nactivesupport (4.1.1) lib/active_support/tagged_logging.rb:26:in
264
+ `tagged&#39;\nactivesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in
265
+ `tagged&#39;\nrailties (4.1.1) lib/rails/rack/logger.rb:20:in `call&#39;\nactionpack
266
+ (4.1.1) lib/action_dispatch/middleware/request_id.rb:21:in `call&#39;\nrack
267
+ (1.5.2) lib/rack/methodoverride.rb:21:in `call&#39;\nrack (1.5.2) lib/rack/runtime.rb:17:in
268
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in
269
+ `call&#39;\nrack (1.5.2) lib/rack/lock.rb:17:in `call&#39;\nactionpack (4.1.1)
270
+ lib/action_dispatch/middleware/static.rb:64:in `call&#39;\nrack (1.5.2) lib/rack/sendfile.rb:112:in
271
+ `call&#39;\nrailties (4.1.1) lib/rails/engine.rb:514:in `call&#39;\nrailties
272
+ (4.1.1) lib/rails/application.rb:144:in `call&#39;\npuma (2.8.2) lib/puma/rack_patch.rb:13:in
273
+ `call&#39;\npuma (2.8.2) lib/puma/configuration.rb:71:in `call&#39;\npuma
274
+ (2.8.2) lib/puma/server.rb:490:in `handle_request&#39;\npuma (2.8.2) lib/puma/server.rb:361:in
275
+ `process_client&#39;\npuma (2.8.2) lib/puma/server.rb:254:in `block in run&#39;\npuma
276
+ (2.8.2) lib/puma/thread_pool.rb:92:in `call&#39;\npuma (2.8.2) lib/puma/thread_pool.rb:92:in
277
+ `block in spawn_thread&#39;</code></pre>\n </div>\n <div id=\"Full-Trace\"
278
+ style=\"display: none;\">\n <pre><code>/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/connection.rb:48:in
279
+ `rescue in request&#39;\n/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/connection.rb:36:in
280
+ `request&#39;\n/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/connection.rb:57:in
281
+ `block (2 levels) in &lt;class:Connection&gt;&#39;\n/usr/local/lib/ruby/gems/2.1.0/bundler/gems/docker-api-980939fc3826/lib/docker/container.rb:153:in
282
+ `create&#39;\napp/models/gear.rb:29:in `spawn&#39;\napp/models/gear.rb:15:in
283
+ `block in &lt;class:Gear&gt;&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:440:in
284
+ `instance_exec&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:440:in
285
+ `block in make_lambda&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:143:in
286
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:143:in `block
287
+ in halting_and_conditional&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in
288
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactivemodel
289
+ (4.1.1) lib/active_model/validations/callbacks.rb:111:in `run_validations!&#39;\nactivemodel
290
+ (4.1.1) lib/active_model/validations.rb:317:in `valid?&#39;\nactiverecord
291
+ (4.1.1) lib/active_record/validations.rb:70:in `valid?&#39;\nactiverecord
292
+ (4.1.1) lib/active_record/validations.rb:77:in `perform_validations&#39;\nactiverecord
293
+ (4.1.1) lib/active_record/validations.rb:57:in `save!&#39;\nactiverecord (4.1.1)
294
+ lib/active_record/attribute_methods/dirty.rb:29:in `save!&#39;\nactiverecord
295
+ (4.1.1) lib/active_record/transactions.rb:273:in `block in save!&#39;\nactiverecord
296
+ (4.1.1) lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status&#39;\nactiverecord
297
+ (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in
298
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
299
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:326:in
300
+ `with_transaction_returning_status&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:273:in
301
+ `save!&#39;\nactiverecord (4.1.1) lib/active_record/associations/has_many_association.rb:38:in
302
+ `insert_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:462:in
303
+ `block (2 levels) in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:389:in
304
+ `add_to_target&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:460:in
305
+ `block in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:168:in
306
+ `block in transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in
307
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
308
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:167:in
309
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:459:in
310
+ `create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:141:in
311
+ `create!&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_proxy.rb:301:in
312
+ `create!&#39;\napp/models/release.rb:23:in `block (2 levels) in deploy!&#39;\napp/models/release.rb:22:in
313
+ `times&#39;\napp/models/release.rb:22:in `block in deploy!&#39;\napp/models/release.rb:21:in
314
+ `each&#39;\napp/models/release.rb:21:in `deploy!&#39;\nactivesupport (4.1.1)
315
+ lib/active_support/callbacks.rb:424:in `block in make_lambda&#39;\nactivesupport
316
+ (4.1.1) lib/active_support/callbacks.rb:221:in `call&#39;\nactivesupport (4.1.1)
317
+ lib/active_support/callbacks.rb:221:in `block in halting_and_conditional&#39;\nactivesupport
318
+ (4.1.1) lib/active_support/callbacks.rb:86:in `call&#39;\nactivesupport (4.1.1)
319
+ lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactiverecord (4.1.1)
320
+ lib/active_record/callbacks.rb:306:in `create_record&#39;\nactiverecord (4.1.1)
321
+ lib/active_record/timestamp.rb:57:in `create_record&#39;\nactiverecord (4.1.1)
322
+ lib/active_record/persistence.rb:482:in `create_or_update&#39;\nactiverecord
323
+ (4.1.1) lib/active_record/callbacks.rb:302:in `block in create_or_update&#39;\nactivesupport
324
+ (4.1.1) lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport (4.1.1)
325
+ lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:166:in
326
+ `block in halting&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in
327
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactiverecord
328
+ (4.1.1) lib/active_record/callbacks.rb:302:in `create_or_update&#39;\nactiverecord
329
+ (4.1.1) lib/active_record/persistence.rb:125:in `save!&#39;\nactiverecord
330
+ (4.1.1) lib/active_record/validations.rb:57:in `save!&#39;\nactiverecord (4.1.1)
331
+ lib/active_record/attribute_methods/dirty.rb:29:in `save!&#39;\nactiverecord
332
+ (4.1.1) lib/active_record/transactions.rb:273:in `block in save!&#39;\nactiverecord
333
+ (4.1.1) lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status&#39;\nactiverecord
334
+ (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in
335
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
336
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:326:in
337
+ `with_transaction_returning_status&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:273:in
338
+ `save!&#39;\nactiverecord (4.1.1) lib/active_record/associations/has_many_association.rb:38:in
339
+ `insert_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:462:in
340
+ `block (2 levels) in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:389:in
341
+ `add_to_target&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:460:in
342
+ `block in create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:168:in
343
+ `block in transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in
344
+ `block in transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:219:in
345
+ `within_new_transaction&#39;\nactiverecord (4.1.1) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in
346
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/transactions.rb:208:in
347
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:167:in
348
+ `transaction&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:459:in
349
+ `create_record&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_association.rb:141:in
350
+ `create!&#39;\nactiverecord (4.1.1) lib/active_record/associations/collection_proxy.rb:301:in
351
+ `create!&#39;\napp/models/app.rb:24:in `release!&#39;\napp/controllers/apps_controller.rb:160:in
352
+ `create_release&#39;\nactionpack (4.1.1) lib/abstract_controller/base.rb:189:in
353
+ `process_action&#39;\nactionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:in
354
+ `process_action&#39;\nactionpack (4.1.1) lib/abstract_controller/callbacks.rb:20:in
355
+ `block in process_action&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:113:in
356
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/callbacks.rb:113:in `call&#39;\nactivesupport
357
+ (4.1.1) lib/active_support/callbacks.rb:149:in `block in halting_and_conditional&#39;\nactivesupport
358
+ (4.1.1) lib/active_support/callbacks.rb:149:in `call&#39;\nactivesupport (4.1.1)
359
+ lib/active_support/callbacks.rb:149:in `block in halting_and_conditional&#39;\nactivesupport
360
+ (4.1.1) lib/active_support/callbacks.rb:149:in `call&#39;\nactivesupport (4.1.1)
361
+ lib/active_support/callbacks.rb:149:in `block in halting_and_conditional&#39;\nactivesupport
362
+ (4.1.1) lib/active_support/callbacks.rb:166:in `call&#39;\nactivesupport (4.1.1)
363
+ lib/active_support/callbacks.rb:166:in `block in halting&#39;\nactivesupport
364
+ (4.1.1) lib/active_support/callbacks.rb:166:in `call&#39;\nactivesupport (4.1.1)
365
+ lib/active_support/callbacks.rb:166:in `block in halting&#39;\nactivesupport
366
+ (4.1.1) lib/active_support/callbacks.rb:86:in `call&#39;\nactivesupport (4.1.1)
367
+ lib/active_support/callbacks.rb:86:in `run_callbacks&#39;\nactionpack (4.1.1)
368
+ lib/abstract_controller/callbacks.rb:19:in `process_action&#39;\nactionpack
369
+ (4.1.1) lib/abstract_controller/base.rb:136:in `process&#39;\nactionview (4.1.1)
370
+ lib/action_view/rendering.rb:30:in `process&#39;\nactionpack (4.1.1) lib/action_controller/metal.rb:195:in
371
+ `dispatch&#39;\nactionpack (4.1.1) lib/action_controller/metal.rb:231:in `block
372
+ in action&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in
373
+ `call&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in
374
+ `dispatch&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:48:in
375
+ `call&#39;\nactionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in
376
+ `block in call&#39;\nactionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in
377
+ `each&#39;\nactionpack (4.1.1) lib/action_dispatch/journey/router.rb:59:in
378
+ `call&#39;\nactionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in
379
+ `call&#39;\nwarden (1.2.3) lib/warden/manager.rb:35:in `block in call&#39;\nwarden
380
+ (1.2.3) lib/warden/manager.rb:34:in `catch&#39;\nwarden (1.2.3) lib/warden/manager.rb:34:in
381
+ `call&#39;\nrack (1.5.2) lib/rack/etag.rb:23:in `call&#39;\nrack (1.5.2) lib/rack/conditionalget.rb:35:in
382
+ `call&#39;\nrack (1.5.2) lib/rack/head.rb:11:in `call&#39;\nactionpack (4.1.1)
383
+ lib/action_dispatch/middleware/params_parser.rb:27:in `call&#39;\nactiverecord
384
+ (4.1.1) lib/active_record/query_cache.rb:36:in `call&#39;\nactiverecord (4.1.1)
385
+ lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call&#39;\nactionpack
386
+ (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call&#39;\nactivesupport
387
+ (4.1.1) lib/active_support/callbacks.rb:82:in `run_callbacks&#39;\nactionpack
388
+ (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call&#39;\nactionpack
389
+ (4.1.1) lib/action_dispatch/middleware/reloader.rb:73:in `call&#39;\nactionpack
390
+ (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in `call&#39;\nbetter_errors
391
+ (1.1.0) lib/better_errors/middleware.rb:58:in `call&#39;\nactionpack (4.1.1)
392
+ lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call&#39;\nactionpack
393
+ (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call&#39;\nrailties
394
+ (4.1.1) lib/rails/rack/logger.rb:38:in `call_app&#39;\nrailties (4.1.1) lib/rails/rack/logger.rb:20:in
395
+ `block in call&#39;\nactivesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in
396
+ `block in tagged&#39;\nactivesupport (4.1.1) lib/active_support/tagged_logging.rb:26:in
397
+ `tagged&#39;\nactivesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in
398
+ `tagged&#39;\nrailties (4.1.1) lib/rails/rack/logger.rb:20:in `call&#39;\nactionpack
399
+ (4.1.1) lib/action_dispatch/middleware/request_id.rb:21:in `call&#39;\nrack
400
+ (1.5.2) lib/rack/methodoverride.rb:21:in `call&#39;\nrack (1.5.2) lib/rack/runtime.rb:17:in
401
+ `call&#39;\nactivesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in
402
+ `call&#39;\nrack (1.5.2) lib/rack/lock.rb:17:in `call&#39;\nactionpack (4.1.1)
403
+ lib/action_dispatch/middleware/static.rb:64:in `call&#39;\nrack (1.5.2) lib/rack/sendfile.rb:112:in
404
+ `call&#39;\nrailties (4.1.1) lib/rails/engine.rb:514:in `call&#39;\nrailties
405
+ (4.1.1) lib/rails/application.rb:144:in `call&#39;\npuma (2.8.2) lib/puma/rack_patch.rb:13:in
406
+ `call&#39;\npuma (2.8.2) lib/puma/configuration.rb:71:in `call&#39;\npuma
407
+ (2.8.2) lib/puma/server.rb:490:in `handle_request&#39;\npuma (2.8.2) lib/puma/server.rb:361:in
408
+ `process_client&#39;\npuma (2.8.2) lib/puma/server.rb:254:in `block in run&#39;\npuma
409
+ (2.8.2) lib/puma/thread_pool.rb:92:in `call&#39;\npuma (2.8.2) lib/puma/thread_pool.rb:92:in
410
+ `block in spawn_thread&#39;</code></pre>\n </div>\n</div>\n\n \n\n<h2
411
+ style=\"margin-top: 30px\">Request</h2>\n<p><b>Parameters</b>:</p> <pre>{&quot;id&quot;=&gt;&quot;8&quot;,\n
412
+ &quot;format&quot;=&gt;&quot;json&quot;}</pre>\n\n<div class=\"details\">\n
413
+ \ <div class=\"summary\"><a href=\"#\" onclick=\"return toggleSessionDump()\">Toggle
414
+ session dump</a></div>\n <div id=\"session_dump\" style=\"display:none\"><pre></pre></div>\n</div>\n\n<div
415
+ class=\"details\">\n <div class=\"summary\"><a href=\"#\" onclick=\"return
416
+ toggleEnvDump()\">Toggle env dump</a></div>\n <div id=\"env_dump\" style=\"display:none\"><pre>GATEWAY_INTERFACE:
417
+ &quot;CGI/1.2&quot;\nHTTP_ACCEPT: &quot;application/json&quot;\nHTTP_ACCEPT_ENCODING:
418
+ &quot;gzip&quot;\nREMOTE_ADDR: &quot;172.17.0.11&quot;\nSERVER_NAME: &quot;api.dawn.dev&quot;\nSERVER_PROTOCOL:
419
+ &quot;HTTP/1.1&quot;</pre></div>\n</div>\n\n<h2 style=\"margin-top: 30px\">Response</h2>\n<p><b>Headers</b>:</p>
420
+ <pre>None</pre>\n\n</div>\n\n\n</body>\n</html>\n"
421
+ http_version:
422
+ recorded_at: Tue, 24 Jun 2014 21:59:20 GMT
423
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.dawn.dev/account/keys
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip
16
+ User-Agent:
17
+ - dawn/0.11.0
18
+ X-Ruby-Version:
19
+ - 2.1.2
20
+ X-Ruby-Platform:
21
+ - x86_64-linux
22
+ Authorization:
23
+ - Basic SWNlRHJhZ29uOmFGM0VHM1hjdW16Sm1LcGFIeUI5
24
+ response:
25
+ status:
26
+ code: 200
27
+ message:
28
+ headers:
29
+ content-type:
30
+ - text/html
31
+ etag:
32
+ - '"53245c1c31065c512fafe2110fd8d3e4"'
33
+ cache-control:
34
+ - max-age=0, private, must-revalidate
35
+ x-request-id:
36
+ - 91805416-0882-4165-9f35-da2f157b6cd1
37
+ x-runtime:
38
+ - '0.014113'
39
+ transfer-encoding:
40
+ - ''
41
+ connection:
42
+ - TE, close
43
+ Date:
44
+ - Tue, 24 Jun 2014 22:05:51 GMT
45
+ body:
46
+ encoding: UTF-8
47
+ string: '[{"key":{"id":2,"created_at":"2014-06-24 22:04:42 UTC","updated_at":"2014-06-24
48
+ 22:04:42 UTC","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDALiPQc0GAmHQEBfDA430l6dLP5jMnJ6FcbAi103xtGAOAiWRVcBPFLkGXx2MRWZGHry3QW8hEIOgxsHOxa9/0qIiR1647h6ZenA6SJeBSntEZc13lRzyypLL45acNffcEsNVGCWx/A3HJsNyN4q7UmpbSEIwIIyRgRf0YIeDqvL3TqnwV29RGY9cl84ATu+7Wye2g6AG60qTXZONqldjM1bxzPi6iq4Alxt937kH8nDs6jvsYe+gjoGgrhjIhYPucukeuHJBRW6dzTvQDBqOB2kTSAtq5hbSc4PbWuHGR7Zk/QsctC7nX9O2V+oudGO0RlPqc714g/ntbV4QdTqrz","fingerprint":"9e:da:d1:6f:06:a2:fa:c9:a3:e3:ec:f0:0b:bc:5b:68"}},{"key":{"id":3,"created_at":"2014-06-24
49
+ 22:04:46 UTC","updated_at":"2014-06-24 22:04:46 UTC","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzf9Z9gEOg9PJvhaZOZzuan6g2q9xUaqwNhiKtWPXA551NZNXk+tIYwYVv/aWY2T6+6KyeeFIzXJmUO9EJCPh8fmirGKrmdxGCFgkv2eK8bMJ+gVkPUoHbEqP5lzVTr+pB1l0wGIOn+G10Rs30vqvEz2sWUAJEWNksAZmlUOgubBpHhSYpoUyj8uaYG8/E2Gm0MgaCJHyT15lyavc8crdpm8NZbI8x3nHTrv/JwZaqQwTWJ6Am7g5WfYmeqr3ThJh/ODlaP7VnM7DJqnkfP8NuirV8lkoHe3qvlRcRMGDpikuvFKiI4BcHUy7E+R+Vl6MnPTb+4TY2uzLcXXXMBSiH","fingerprint":"7b:e3:80:47:5a:13:45:34:2c:0f:3d:ce:28:53:b5:08"}}]'
50
+ http_version:
51
+ recorded_at: Tue, 24 Jun 2014 22:06:11 GMT
52
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,51 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.dawn.dev/account/keys
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDALiPQc0GAmHQEBfDA430l6dLP5jMnJ6FcbAi103xtGAOAiWRVcBPFLkGXx2MRWZGHry3QW8hEIOgxsHOxa9/0qIiR1647h6ZenA6SJeBSntEZc13lRzyypLL45acNffcEsNVGCWx/A3HJsNyN4q7UmpbSEIwIIyRgRf0YIeDqvL3TqnwV29RGY9cl84ATu+7Wye2g6AG60qTXZONqldjM1bxzPi6iq4Alxt937kH8nDs6jvsYe+gjoGgrhjIhYPucukeuHJBRW6dzTvQDBqOB2kTSAtq5hbSc4PbWuHGR7Zk/QsctC7nX9O2V+oudGO0RlPqc714g/ntbV4QdTqrz"}'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip
16
+ User-Agent:
17
+ - dawn/0.11.0
18
+ X-Ruby-Version:
19
+ - 2.1.2
20
+ X-Ruby-Platform:
21
+ - x86_64-linux
22
+ Authorization:
23
+ - Basic SWNlRHJhZ29uOmFGM0VHM1hjdW16Sm1LcGFIeUI5
24
+ response:
25
+ status:
26
+ code: 200
27
+ message:
28
+ headers:
29
+ content-type:
30
+ - text/html
31
+ etag:
32
+ - '"adc188c3729eb744aae6c2fbcb827eb3"'
33
+ cache-control:
34
+ - max-age=0, private, must-revalidate
35
+ x-request-id:
36
+ - 067366ec-df3b-4c43-b4ee-01048b94e525
37
+ x-runtime:
38
+ - '0.033145'
39
+ transfer-encoding:
40
+ - ''
41
+ connection:
42
+ - TE, close
43
+ Date:
44
+ - Tue, 24 Jun 2014 22:04:42 GMT
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"key":{"id":2,"created_at":"2014-06-24 22:04:42 UTC","updated_at":"2014-06-24
48
+ 22:04:42 UTC","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDALiPQc0GAmHQEBfDA430l6dLP5jMnJ6FcbAi103xtGAOAiWRVcBPFLkGXx2MRWZGHry3QW8hEIOgxsHOxa9/0qIiR1647h6ZenA6SJeBSntEZc13lRzyypLL45acNffcEsNVGCWx/A3HJsNyN4q7UmpbSEIwIIyRgRf0YIeDqvL3TqnwV29RGY9cl84ATu+7Wye2g6AG60qTXZONqldjM1bxzPi6iq4Alxt937kH8nDs6jvsYe+gjoGgrhjIhYPucukeuHJBRW6dzTvQDBqOB2kTSAtq5hbSc4PbWuHGR7Zk/QsctC7nX9O2V+oudGO0RlPqc714g/ntbV4QdTqrz","fingerprint":"9e:da:d1:6f:06:a2:fa:c9:a3:e3:ec:f0:0b:bc:5b:68"}}'
49
+ http_version:
50
+ recorded_at: Tue, 24 Jun 2014 22:05:02 GMT
51
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.dawn.dev/account/keys
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"key":"invalid key for the win"}'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip
16
+ User-Agent:
17
+ - dawn/0.11.0
18
+ X-Ruby-Version:
19
+ - 2.1.2
20
+ X-Ruby-Platform:
21
+ - x86_64-linux
22
+ Authorization:
23
+ - Basic SWNlRHJhZ29uOmFGM0VHM1hjdW16Sm1LcGFIeUI5
24
+ response:
25
+ status:
26
+ code: 422
27
+ message:
28
+ headers:
29
+ content-type:
30
+ - text/html
31
+ cache-control:
32
+ - no-cache
33
+ x-request-id:
34
+ - cd0da00e-550d-421f-92a0-2cad2abbc75f
35
+ x-runtime:
36
+ - '0.017027'
37
+ transfer-encoding:
38
+ - ''
39
+ connection:
40
+ - TE, close
41
+ Date:
42
+ - Tue, 24 Jun 2014 22:05:48 GMT
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"id":"key.save.fail","message":"saving the key has failed","error":{"key":"is
46
+ not a valid ssh public key","fingerprint":"can''t be blank"}}'
47
+ http_version:
48
+ recorded_at: Tue, 24 Jun 2014 22:06:08 GMT
49
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://api.dawn.dev/account/keys/-1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip
16
+ User-Agent:
17
+ - dawn/0.11.0
18
+ X-Ruby-Version:
19
+ - 2.1.2
20
+ X-Ruby-Platform:
21
+ - x86_64-linux
22
+ Authorization:
23
+ - Basic SWNlRHJhZ29uOmFGM0VHM1hjdW16Sm1LcGFIeUI5
24
+ response:
25
+ status:
26
+ code: 404
27
+ message:
28
+ headers:
29
+ content-type:
30
+ - text/html
31
+ cache-control:
32
+ - no-cache
33
+ x-request-id:
34
+ - e9f49cc5-3364-4e29-aa97-961fe289bb65
35
+ x-runtime:
36
+ - '0.010544'
37
+ transfer-encoding:
38
+ - ''
39
+ connection:
40
+ - TE, close
41
+ Date:
42
+ - Tue, 24 Jun 2014 22:07:33 GMT
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"id":"key.not_exist","message":"Key (id: -1) does not exist"}'
46
+ http_version:
47
+ recorded_at: Tue, 24 Jun 2014 22:07:53 GMT
48
+ recorded_with: VCR 2.9.2