locomotivecms_coal 1.0.0.pre.alpha.1 → 1.0.0.pre.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +23 -12
  6. data/README.md +167 -10
  7. data/lib/locomotive/coal/client.rb +70 -20
  8. data/lib/locomotive/coal/client_v2.rb +31 -0
  9. data/lib/locomotive/coal/error.rb +46 -5
  10. data/lib/locomotive/coal/resources/base.rb +57 -0
  11. data/lib/locomotive/coal/resources/concerns/request.rb +101 -0
  12. data/lib/locomotive/coal/resources/content_assets.rb +9 -0
  13. data/lib/locomotive/coal/resources/content_entries.rb +17 -11
  14. data/lib/locomotive/coal/resources/{contents.rb → content_types.rb} +4 -5
  15. data/lib/locomotive/coal/resources/engine_version.rb +15 -0
  16. data/lib/locomotive/coal/resources/my_account.rb +14 -2
  17. data/lib/locomotive/coal/resources/pages.rb +25 -0
  18. data/lib/locomotive/coal/resources/sites.rb +5 -17
  19. data/lib/locomotive/coal/resources/snippets.rb +9 -0
  20. data/lib/locomotive/coal/resources/theme_assets.rb +13 -0
  21. data/lib/locomotive/coal/resources/token.rb +2 -2
  22. data/lib/locomotive/coal/resources/translations.rb +9 -0
  23. data/lib/locomotive/coal/upload_io.rb +11 -0
  24. data/lib/locomotive/coal/version.rb +1 -1
  25. data/lib/locomotive/coal.rb +11 -3
  26. data/locomotivecms_coal.gemspec +4 -4
  27. data/spec/fixtures/assets/locomotive.png +0 -0
  28. data/spec/fixtures/assets/rails.png +0 -0
  29. data/spec/fixtures/coal_cassettes/client.yml +333 -69
  30. data/spec/fixtures/coal_cassettes/content_assets.yml +595 -0
  31. data/spec/fixtures/coal_cassettes/content_entries.yml +1134 -223
  32. data/spec/fixtures/coal_cassettes/content_types.yml +616 -0
  33. data/spec/fixtures/coal_cassettes/my_account.yml +167 -47
  34. data/spec/fixtures/coal_cassettes/pages.yml +281 -0
  35. data/spec/fixtures/coal_cassettes/sites.yml +93 -117
  36. data/spec/fixtures/coal_cassettes/snippets.yml +227 -0
  37. data/spec/fixtures/coal_cassettes/theme_assets.yml +406 -0
  38. data/spec/fixtures/coal_cassettes/token.yml +37 -55
  39. data/spec/fixtures/coal_cassettes/translations.yml +227 -0
  40. data/spec/fixtures/coal_cassettes/version.yml +89 -0
  41. data/spec/integration/client_spec.rb +37 -3
  42. data/spec/integration/resources/content_assets_spec.rb +42 -0
  43. data/spec/integration/resources/content_entries_spec.rb +45 -18
  44. data/spec/integration/resources/content_types_spec.rb +44 -0
  45. data/spec/integration/resources/engine_version_spec.rb +17 -0
  46. data/spec/integration/resources/my_account_spec.rb +22 -5
  47. data/spec/integration/resources/pages_spec.rb +43 -0
  48. data/spec/integration/resources/sites_spec.rb +9 -9
  49. data/spec/integration/resources/snippets_spec.rb +38 -0
  50. data/spec/integration/resources/theme_assets_spec.rb +43 -0
  51. data/spec/integration/resources/token_spec.rb +7 -7
  52. data/spec/integration/resources/translations_spec.rb +38 -0
  53. data/spec/spec_helper.rb +2 -13
  54. data/spec/support/api_settings.rb +7 -3
  55. data/spec/support/assets.rb +4 -0
  56. data/spec/support/vcr.rb +10 -0
  57. data/spec/unit/error_spec.rb +28 -0
  58. metadata +71 -13
  59. data/lib/locomotive/coal/request.rb +0 -63
  60. data/spec/fixtures/coal_cassettes/contents.yml +0 -120
  61. data/spec/integration/resources/contents_spec.rb +0 -22
@@ -0,0 +1,406 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://localhost:3000/locomotive/api/v3/tokens.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: email=admin%40locomotivecms.com&password=locomotive
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Content-Type:
24
+ - application/json
25
+ Content-Length:
26
+ - '32'
27
+ Etag:
28
+ - W/"6ba0e226b40adfde2d656d9027a1335f"
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ X-Request-Id:
32
+ - 57464761-9c13-4abd-a053-001540d68b38
33
+ X-Runtime:
34
+ - '0.019910'
35
+ Connection:
36
+ - keep-alive
37
+ Server:
38
+ - thin
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"token":"Z9s7W_-BXyGQsDPFsorr"}'
42
+ http_version:
43
+ recorded_at: Mon, 04 May 2015 13:51:28 GMT
44
+ - request:
45
+ method: get
46
+ uri: http://localhost:3000/locomotive/sample/api/v3/theme_assets.json
47
+ body:
48
+ encoding: UTF-8
49
+ string: auth_token=Z9s7W_-BXyGQsDPFsorr
50
+ headers:
51
+ Accept:
52
+ - application/json
53
+ X-Locomotive-Account-Email:
54
+ - admin@locomotivecms.com
55
+ X-Locomotive-Account-Token:
56
+ - Z9s7W_-BXyGQsDPFsorr
57
+ Content-Type:
58
+ - application/x-www-form-urlencoded
59
+ Accept-Encoding:
60
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
61
+ User-Agent:
62
+ - Ruby
63
+ response:
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ headers:
68
+ Content-Type:
69
+ - application/json
70
+ Content-Length:
71
+ - '2'
72
+ Etag:
73
+ - W/"d751713988987e9331980363e24189ce"
74
+ Cache-Control:
75
+ - max-age=0, private, must-revalidate
76
+ X-Request-Id:
77
+ - 8718fe47-5d91-4174-b218-a78ec6a8b7ca
78
+ X-Runtime:
79
+ - '0.028823'
80
+ Connection:
81
+ - keep-alive
82
+ Server:
83
+ - thin
84
+ body:
85
+ encoding: UTF-8
86
+ string: "[]"
87
+ http_version:
88
+ recorded_at: Mon, 04 May 2015 13:51:28 GMT
89
+ - request:
90
+ method: post
91
+ uri: http://localhost:3000/locomotive/sample/api/v3/theme_assets.json
92
+ body:
93
+ encoding: ASCII-8BIT
94
+ string: !binary |-
95
+ LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0DQpDb250ZW50LURpc3Bv
96
+ c2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InRoZW1lX2Fzc2V0W3NvdXJjZV0i
97
+ OyBmaWxlbmFtZT0icmFpbHMucG5nIg0KQ29udGVudC1MZW5ndGg6IDc0ODUN
98
+ CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQpDb250
99
+ ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnkNCg0KiVBORw0KGgoAAAAN
100
+ SUhEUgAAADIAAABACAYAAABY1SR7AAAAAXNSR0IArs4c6QAAActpVFh0WE1M
101
+ OmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6
102
+ bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpS
103
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk
104
+ Zi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv
105
+ dXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUu
106
+ Y29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8v
107
+ bnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRv
108
+ clRvb2w+QWRvYmUgSW1hZ2VSZWFkeTwveG1wOkNyZWF0b3JUb29sPgogICAg
109
+ ICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgog
110
+ ICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1w
111
+ bWV0YT4KKS7NPQAAGyBJREFUaAWlmgmUpFV1x2/VV3tVd1fvM9PdszMryzDI
112
+ jo6cAAJREOORMweM29GIJ/GYEzCaiCYaxQUjQohionhQ0QNBETEmioAIjKzD
113
+ zDAbyyzdM93T+1pde1V+//dV9fQAEoHX/dW3vXff3e99932Bqxu7rdYC1apd
114
+ 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
209
+ 79UNo+ozvnZykot7bKZvoa3/+LXYQMXyY0ds62c/ZSOPPGkeRXNnGAIrXUFn
210
+ ZOTBJEU/GTlrD7eDjG1UMHT2palDm40emWAYfTVEtYUCNzOcR+l4iP3sw6PT
211
+ Njw4ZWWUN9bQaJmhAZsiz3kjrXn9Rps5eMCmDz4PrkE84SLqYlfgBFgmy+Rd
212
+ UASjGq9UL5BHFSFlyj7lMdRqkErjsETB0hxXnEVNRYOTiKonqtjG5TO4lkfE
213
+ t7DQgsBozA4zLlrMWuK5PdbU0enrMO9fa4u2dFBf7rDtX/qMNa1bZ9GmNrxh
214
+ 1CLtrajZmAu8Thg1gqqsi8qjGDYVTjjtCh11qeEebDqLramcyyCfEDBCcLhs
215
+ 0naRR/NP8vkxq7Aqm+Hd3l27rDRInWndCda6dIVFMeDX2jrPPte2fupqm9i6
216
+ w+VPLFjMY+3jxZAKuOqjgQrVd6c+SlzJ8xzy8sdqEhGXKrrP5rLuCw09cITo
217
+ PSsEJxWdjzYIaWDB7xQQqvHZ00dYdx85bImWNmtZtpK9lLWWYhNGqvKntJaT
218
+ 2RBdsZw1vEqkUinQwIgV6CozEDALS/FELoH0wBrb1ZaHayKCa800w1KgRK4W
219
+ cvNWfELUTbhqE9QFp/m0ILYgqYT0TWqQjKQUbHGHU9a//Qkben6nNfcstY5V
220
+ 6y29sIt553jj5n7pjzLozk1vsd4774TRqA7cL0+h2NSvqHy47k699CMpaDIR
221
+ olc6EwpE+Cy2AYk0H9m5WeXupGslBvNJh5Og8qJ8/5AdufsnDmaCBU2YvEcF
222
+ PQebMfrgpp91/i70Odnejsr1WDJFkVm7rnBQk7p8SvMBV7tYs4f6rYRnKQ/P
223
+ +tynj1ub0MdHi7OIUPBiPjg8R4hqAgXmzGUpn2oC1dN4NkcIQ5zItJcoT+4A
224
+ 4moL/aM20nu/8+kN8mDUXxwh9NcYyVAjRNAYenuAc5jlcYJsNZmmyMy1vGJJ
225
+ QRW1KY7j93NIWQgIT83rVJcLWp0QdyMC1IApnLWybN9EIeTMjdZ6YB/fq5Rs
226
+ 7z2/ZLtj8igh/gg6AzxP1BWFWmH7DT5AVJjqdwRC5BjU9FtmwaRtOkyWtAdh
227
+ k5Hq4xe2BnGPJXaeGBsJWGwc/c+rkkmkdv4eT6SmuMQy4WUN4FWMXbbuZkJC
228
+ +kigMD5pmckxW3bR27CnjO371a+dxOck4gAx2AORUEeDpdB1wfB5wndRk9Pk
229
+ NvhsNlpkbI4INjy9prDFmtlNggh5ksIYu7ATeYtgT6qW7K8WbLYxYeub4tbA
230
+ xlGJtCLIfke4rckxp0LZs8yHOU61HBKaFLUr5y3UlrBQA55RoZsJlVCODx+w
231
+ mdv3Wt+9/8OmEyk9eaHW78cQok+V0mz4bP7uLdbEKk75kNRGZZvh/ftsx803
232
+ Wf5+ojC7SyU+jmk/+wQ7/upPWNOqtXN2MPH8Xtv+9RtYc2y3/cGipc/eZJ+4
233
+ +WaSvpzt/PKXre+WO63hrHV2+nduJiB22L7bb7Nn//HrZBJJnwxxno8Bujdf
234
+ bMvf9yFLgodcsihRNefJr19nIzf+wMpULuVFMTo37hhCfKMMWEPnIku2sSk6
235
+ r6U6uqyDFOWRD33IJp/eR104bRs//1lrOf7Ueb3YsmjrssR1C+yHmzfb8JEh
236
+ 62JrOckHZmoD2MU4hfF2VC/a3E7VUB+eQYAMu9ZK2EHruRvspM9+wb2vP6+f
237
+ I6kUdQUkEIkQ82CybIF2DCHuyTyggzu3Wt8Tj1rzsuNsxaYLSPGXWXr9ahvf
238
+ spsvezosvqDLDRl64vds9u+CqA3WtuF0igTd5q1YYpGBI+ZJLXzAfL1Xsv14
239
+ 8k4xUgZM87ntLv0fnjevW+uIKOUybI5+xzIv9LrN2ipL46Ft23FULJFFBJ6B
240
+ k2tS95e1ur7uvucu+/EH/toevemb9PEpd5s6TuG4ryGz//Yf2Rb6HfyvOx0s
241
+ BccIR5iD6tMcfD1TRnuIR/VlwTFeqt6zpi6aK7VkiaWPX+OqnDMD/Tb6xE5U
242
+ G7gMVGpVH+8kUr+pw6mLeulbz7d3fIXC3Oq1vFIv3OeEvhEBk6PawFqc70RY
243
+ kFmyYQ6ExK6v2nSuN8UAEaOzih2v1MSEiT27XcDV13g9F79rrtuK93/Etl7/
244
+ edvzjVuRBHVjQAuW2isSUp9j6ZmbTIea4sT+e+6wsUe2IWb2C+e19Z+4xlZ9
245
+ +CN4mLT/FABKdVSPcdt57qlPlFKKMBjUeSkHo889ygRUMUsbnGMPb7Xtn/+c
246
+ Ld18hfveq4oPjrV3ukr88nddbvu+ezuxQwU+zeIzxBEi4R/DnxoT3Sd7tZRj
247
+ 6w+/Y49/5ovWXWGfRPnPvBZt5jNAjvnNJwTkmcpvfo6kCY8+Q8VaWy1x5jpr
248
+ IAHV9nOWrQPtUQ4+8KCNbX0KTxXDtoq2/upP26JzLiA8IAl5KzDWb90MHCFC
249
+ q26SXM69fOZnP7b2Faut5+TT7Ljz/9x6qciXtuwihtUIqYmu/5nHbezFF/gu
250
+ eJ11rt/gtFDoB8nP6mQ4uNzJZuqT69lxF15iyzedC4K4dPK3xz72MaokZdv4
251
+ ta/Qj313orfSnETXYnWHSGKO8i/aPNgKq3CIJ6LIUeh8s99lvK/P7r32H6ww
252
+ O22NC3vsvBu+YQ0nr3DfUGn7y2Ndr7bj9tvt51d+1Pb+8hfuXoRqw9+D0BAV
253
+ eb8FSF2iuEuCP25YX6GqhVnvxNJyxU0EVr7Y47mCYNOKE6xx+Vpi1Al8cHMi
254
+ n0OlkUHFnv/+d6kl5GCmHEnAtCMNyKKbhSqqk4gCTI69vt/deKMl0i3W99hW
255
+ O/iH7XbHx66ylSdtYFubcmpT2jJaw/eP2+M3f5tiRdomdr1oKRZJQ089a0/8
256
+ +00UBLLsYwyTZyVsav8Be+KWm90CaGQXS2mWtPnRCZ59i1jgF+gcRdhNFRWa
257
+ ODzEIq5qu2/4Go+Vw5HLyaZQu5GnnrTRh1A31EuuV3IZ4iNQ4t+WAN/Gjy1K
258
+ hJqVH+XhoDZFs+QwMu4wE4XgWD47awkqHksRfyv1rWnWEeOIv8gKTemDtp5D
259
+ bDuUKF7o0BoiTBQOQnAZ5EqMJx8h+JEV069KKiNiX2KZTjVifNbUyl6hp09m
260
+ 6UFy7xCWjoRCbFHjaOSt9GVsP9vTu6cFxy5zEokjJn3c4FyiqMfwjiaMpPVE
261
+ ZwEVoAJ9Z3gbQh/DfEZR11TpcZhNHSWWvvJiC2S8HqoVYYXpngkbAUb1wkpJ
262
+ hJE75sA47k9QQWyGGVFqV7JGDVPTWV5QkuhHEi/ogx+z7/P8bmcavu3wGonI
263
+ fusDhXy9aU0/hFQSgPaJFLh604h6b11zaB3hzpxcCPZv3fNaF0eEs9L6O70A
264
+ DU5D7Go18NWFN8+wlXVnYM4wkhgr6kX1B3T9uMaIkPEDmYIIlxRftWlLTs2f
265
+ 7lW7vuGXdTa9ZC59NAGe1SfwfLfw7udM5Lr+H74BmJzashWVAAAAAElFTkSu
266
+ QmCCDQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3QNCkNvbnRlbnQt
267
+ RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGhlbWVfYXNzZXRbZm9s
268
+ ZGVyXSINCg0KZm9vdGVyDQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBv
269
+ c3QNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iYXV0
270
+ aF90b2tlbiINCg0KWjlzN1dfLUJYeUdRc0RQRnNvcnINCi0tLS0tLS0tLS0t
271
+ LS1SdWJ5TXVsdGlwYXJ0UG9zdC0tDQoNCg==
272
+ headers:
273
+ Accept:
274
+ - application/json
275
+ X-Locomotive-Account-Email:
276
+ - admin@locomotivecms.com
277
+ X-Locomotive-Account-Token:
278
+ - Z9s7W_-BXyGQsDPFsorr
279
+ Content-Type:
280
+ - multipart/form-data; boundary=-----------RubyMultipartPost
281
+ Content-Length:
282
+ - '7945'
283
+ Accept-Encoding:
284
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
285
+ User-Agent:
286
+ - Ruby
287
+ response:
288
+ status:
289
+ code: 201
290
+ message: Created
291
+ headers:
292
+ Content-Type:
293
+ - application/json
294
+ Content-Length:
295
+ - '335'
296
+ Etag:
297
+ - W/"40c415c342f2be08b9369944b3a042b7"
298
+ Cache-Control:
299
+ - max-age=0, private, must-revalidate
300
+ X-Request-Id:
301
+ - 36a4304d-baa8-4ccb-9464-7e5edff20fa5
302
+ X-Runtime:
303
+ - '0.083614'
304
+ Connection:
305
+ - keep-alive
306
+ Server:
307
+ - thin
308
+ body:
309
+ encoding: UTF-8
310
+ string: '{"_id":"554779606469643251240300","created_at":"2015-05-04T13:51:28Z","updated_at":"2015-05-04T13:51:28Z","content_type":"image","folder":"images/footer","checksum":"933d32a3720db54b73003ba10a876eec","local_path":"footer/rails.png","url":"/sites/554779596469644d44050000/theme/images/footer/rails.png","size":"7.31
311
+ KB","raw_size":7485}'
312
+ http_version:
313
+ recorded_at: Mon, 04 May 2015 13:51:28 GMT
314
+ - request:
315
+ method: put
316
+ uri: http://localhost:3000/locomotive/sample/api/v3/theme_assets/554779606469643251240300.json
317
+ body:
318
+ encoding: UTF-8
319
+ string: auth_token=Z9s7W_-BXyGQsDPFsorr&theme_asset%5Bfolder%5D=header
320
+ headers:
321
+ Accept:
322
+ - application/json
323
+ X-Locomotive-Account-Email:
324
+ - admin@locomotivecms.com
325
+ X-Locomotive-Account-Token:
326
+ - Z9s7W_-BXyGQsDPFsorr
327
+ Content-Type:
328
+ - application/x-www-form-urlencoded
329
+ Accept-Encoding:
330
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
331
+ User-Agent:
332
+ - Ruby
333
+ response:
334
+ status:
335
+ code: 200
336
+ message: OK
337
+ headers:
338
+ Content-Type:
339
+ - application/json
340
+ Content-Length:
341
+ - '335'
342
+ Etag:
343
+ - W/"344a5668c2acd9d1006e01d9f300ea7f"
344
+ Cache-Control:
345
+ - max-age=0, private, must-revalidate
346
+ X-Request-Id:
347
+ - 2963928f-7899-475a-a6ed-6e880d38c49a
348
+ X-Runtime:
349
+ - '0.073917'
350
+ Connection:
351
+ - keep-alive
352
+ Server:
353
+ - thin
354
+ body:
355
+ encoding: UTF-8
356
+ string: '{"_id":"554779606469643251240300","created_at":"2015-05-04T13:51:28Z","updated_at":"2015-05-04T13:51:28Z","content_type":"image","folder":"images/header","checksum":"933d32a3720db54b73003ba10a876eec","local_path":"header/rails.png","url":"/sites/554779596469644d44050000/theme/images/header/rails.png","size":"7.31
357
+ KB","raw_size":7485}'
358
+ http_version:
359
+ recorded_at: Mon, 04 May 2015 13:51:28 GMT
360
+ - request:
361
+ method: delete
362
+ uri: http://localhost:3000/locomotive/sample/api/v3/theme_assets/554779606469643251240300.json
363
+ body:
364
+ encoding: UTF-8
365
+ string: auth_token=Z9s7W_-BXyGQsDPFsorr
366
+ headers:
367
+ Accept:
368
+ - application/json
369
+ X-Locomotive-Account-Email:
370
+ - admin@locomotivecms.com
371
+ X-Locomotive-Account-Token:
372
+ - Z9s7W_-BXyGQsDPFsorr
373
+ Content-Type:
374
+ - application/x-www-form-urlencoded
375
+ Accept-Encoding:
376
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
377
+ User-Agent:
378
+ - Ruby
379
+ response:
380
+ status:
381
+ code: 200
382
+ message: OK
383
+ headers:
384
+ Content-Type:
385
+ - application/json
386
+ Content-Length:
387
+ - '335'
388
+ Etag:
389
+ - W/"344a5668c2acd9d1006e01d9f300ea7f"
390
+ Cache-Control:
391
+ - max-age=0, private, must-revalidate
392
+ X-Request-Id:
393
+ - 77beafab-14de-4637-8cd2-2e415f8e7ca1
394
+ X-Runtime:
395
+ - '0.028522'
396
+ Connection:
397
+ - keep-alive
398
+ Server:
399
+ - thin
400
+ body:
401
+ encoding: UTF-8
402
+ string: '{"_id":"554779606469643251240300","created_at":"2015-05-04T13:51:28Z","updated_at":"2015-05-04T13:51:28Z","content_type":"image","folder":"images/header","checksum":"933d32a3720db54b73003ba10a876eec","local_path":"header/rails.png","url":"/sites/554779596469644d44050000/theme/images/header/rails.png","size":"7.31
403
+ KB","raw_size":7485}'
404
+ http_version:
405
+ recorded_at: Mon, 04 May 2015 13:51:28 GMT
406
+ recorded_with: VCR 2.9.3
@@ -2,98 +2,80 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://sample.lvh.me:4000/locomotive/api/tokens.json
5
+ uri: http://localhost:3000/locomotive/api/v3/tokens.json
6
6
  body:
7
- encoding: US-ASCII
8
- string: email=john%40doe.net&api_key=a9ac1e08c2c22c1b6f3da6db77a70cac4a615bd7
7
+ encoding: UTF-8
8
+ string: api_key=d49cd50f6f0d2b163f48fc73cb249f0244c37074&email=admin%40locomotivecms.com
9
9
  headers:
10
10
  Accept:
11
11
  - application/json
12
- Accept-Encoding:
13
- - gzip
14
- User-Agent:
15
- - unirest-ruby/1.1
16
- Content-Length:
17
- - '69'
18
12
  Content-Type:
19
13
  - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
20
18
  response:
21
19
  status:
22
- code: 200
23
- message: OK
20
+ code: 201
21
+ message: Created
24
22
  headers:
25
- Date:
26
- - Thu, 26 Mar 2015 12:13:40 GMT
27
- Status:
28
- - 200 OK
29
- Connection:
30
- - close
31
- Location:
32
- - http://sample.lvh.me:4000/locomotive/
33
23
  Content-Type:
34
- - application/json; charset=utf-8
35
- X-Ua-Compatible:
36
- - IE=Edge
24
+ - application/json
25
+ Content-Length:
26
+ - '32'
37
27
  Etag:
38
- - '"557f8d72cf11ab5399621eddec942c29"'
28
+ - W/"6ba0e226b40adfde2d656d9027a1335f"
39
29
  Cache-Control:
40
30
  - max-age=0, private, must-revalidate
41
- Set-Cookie:
42
- - _locomotive_session=ZfTEg0ye8LoQiqsY_foUHZgeq-Y; domain=.sample.lvh.me; path=/;
43
- HttpOnly
44
31
  X-Request-Id:
45
- - aa8e451806483825688c95a101e8c297
32
+ - 8820e872-e6d5-4a29-a182-60b176f4d0e8
46
33
  X-Runtime:
47
- - '0.025094'
34
+ - '0.015979'
35
+ Connection:
36
+ - keep-alive
37
+ Server:
38
+ - thin
48
39
  body:
49
40
  encoding: UTF-8
50
- string: '{"token":"9GLRWwc2MGTCF7SHiZSg"}'
41
+ string: '{"token":"Z9s7W_-BXyGQsDPFsorr"}'
51
42
  http_version:
52
- recorded_at: Thu, 26 Mar 2015 12:13:40 GMT
43
+ recorded_at: Mon, 04 May 2015 13:51:30 GMT
53
44
  - request:
54
45
  method: post
55
- uri: http://www.example.com:4000/tokens.json
46
+ uri: http://acme.example.com:3000/tokens.json
56
47
  body:
57
- encoding: US-ASCII
58
- string: email=john%40doe.net&password=easyone
48
+ encoding: UTF-8
49
+ string: email=admin%40locomotivecms.com&password=locomotive
59
50
  headers:
60
51
  Accept:
61
52
  - application/json
62
- Accept-Encoding:
63
- - gzip
64
- User-Agent:
65
- - unirest-ruby/1.1
66
- Content-Length:
67
- - '37'
68
53
  Content-Type:
69
54
  - application/x-www-form-urlencoded
55
+ Accept-Encoding:
56
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
57
+ User-Agent:
58
+ - Ruby
70
59
  response:
71
60
  status:
72
61
  code: 404
73
62
  message: Not Found
74
63
  headers:
75
- Date:
76
- - Thu, 26 Mar 2015 12:13:40 GMT
77
- Status:
78
- - 404 Not Found
79
- Connection:
80
- - close
81
64
  Content-Type:
82
- - application/json; charset=utf-8
83
- X-Ua-Compatible:
84
- - IE=Edge
65
+ - text/html
85
66
  Cache-Control:
86
67
  - no-cache
87
- Set-Cookie:
88
- - _locomotive_session=Bo_23Fg-epuS-CvNzKWRcQkKkFY; domain=.example.com; path=/;
89
- HttpOnly
90
68
  X-Request-Id:
91
- - 5b9886b71e43a1a2691b92681b4101d5
69
+ - 4df79c9f-6d22-493d-8373-11fabc659d04
92
70
  X-Runtime:
93
- - '0.046065'
71
+ - '0.019628'
72
+ Connection:
73
+ - close
74
+ Server:
75
+ - thin
94
76
  body:
95
77
  encoding: UTF-8
96
- string: '{"error":"No site found"}'
78
+ string: Hi, we are sorry but no site was found.
97
79
  http_version:
98
- recorded_at: Thu, 26 Mar 2015 12:13:40 GMT
80
+ recorded_at: Mon, 04 May 2015 13:51:30 GMT
99
81
  recorded_with: VCR 2.9.3