flms 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (516) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +102 -2
  3. data/app/assets/javascripts/flms/admin.js +1 -1
  4. data/app/assets/javascripts/flms/{bootstrap.js → admin/bootstrap.js} +0 -0
  5. data/app/assets/javascripts/flms/{layout.coffee → admin/layout.coffee} +2 -2
  6. data/app/assets/javascripts/flms/{blocks/index → admin/pages/edit}/block.coffee +0 -0
  7. data/app/assets/javascripts/flms/{blocks/index → admin/pages/edit}/block_list.coffee +1 -1
  8. data/app/assets/javascripts/flms/{blocks/index/index.coffee → admin/pages/edit/edit.coffee} +2 -2
  9. data/app/assets/javascripts/flms/public.js +17 -0
  10. data/app/assets/stylesheets/flms/admin.css +1 -1
  11. data/app/assets/stylesheets/flms/{blocks → admin/blocks}/show.sass +0 -0
  12. data/app/assets/stylesheets/flms/{home.sass → admin/home.sass} +0 -1
  13. data/app/assets/stylesheets/flms/admin/layers/form.sass +4 -0
  14. data/app/assets/stylesheets/flms/{layout.sass → admin/layout.sass} +0 -0
  15. data/app/assets/stylesheets/flms/{login.sass → admin/login.sass} +0 -0
  16. data/app/assets/stylesheets/flms/{blocks/index.sass → admin/pages/edit.sass} +1 -1
  17. data/app/assets/stylesheets/flms/public.css +8 -0
  18. data/app/assets/stylesheets/flms/public/public.sass +52 -0
  19. data/app/controllers/flms/abstract_layer_controller.rb +45 -0
  20. data/app/controllers/flms/animation_layers_controller.rb +26 -0
  21. data/app/controllers/flms/application_controller.rb +13 -0
  22. data/app/controllers/flms/blocks_controller.rb +20 -22
  23. data/app/controllers/flms/embed_layers_controller.rb +24 -0
  24. data/app/controllers/flms/image_layers_controller.rb +6 -54
  25. data/app/controllers/flms/layers_controller.rb +3 -10
  26. data/app/controllers/flms/pages_controller.rb +44 -5
  27. data/app/controllers/flms/paragraph_layers_controller.rb +24 -0
  28. data/app/controllers/flms/text_layers_controller.rb +24 -0
  29. data/app/helpers/flms/application_helper.rb +13 -0
  30. data/app/models/flms/animation_layer.rb +33 -0
  31. data/app/models/flms/block.rb +17 -1
  32. data/app/models/flms/blocks_page.rb +3 -0
  33. data/app/models/flms/embed_layer.rb +12 -0
  34. data/app/models/flms/end_state_keyframe.rb +17 -0
  35. data/app/models/flms/image_layer.rb +23 -1
  36. data/app/models/flms/keyframe.rb +130 -0
  37. data/app/models/flms/layer.rb +91 -2
  38. data/app/models/flms/page.rb +14 -2
  39. data/app/models/flms/paragraph_layer.rb +21 -0
  40. data/app/models/flms/start_state_keyframe.rb +17 -0
  41. data/app/models/flms/target_state_keyframe.rb +17 -0
  42. data/app/models/flms/text_layer.rb +20 -0
  43. data/app/uploaders/image_uploader.rb +21 -34
  44. data/app/uploaders/thumbnail_image_uploader.rb +36 -0
  45. data/app/view_objects/flms/animation_layer_view_object.rb +45 -0
  46. data/app/view_objects/flms/embed_layer_view_object.rb +15 -0
  47. data/app/view_objects/flms/image_layer_view_object.rb +22 -0
  48. data/app/view_objects/flms/keyframe_view_object.rb +92 -0
  49. data/app/view_objects/flms/layer_view_object.rb +72 -0
  50. data/app/view_objects/flms/paragraph_layer_view_object.rb +19 -0
  51. data/app/view_objects/flms/text_layer_view_object.rb +30 -0
  52. data/app/views/flms/animation_layers/_form.html.haml +56 -0
  53. data/app/views/flms/animation_layers/edit.html.haml +1 -0
  54. data/app/views/flms/animation_layers/new.html.haml +1 -0
  55. data/app/views/flms/blocks/_form.html.haml +32 -18
  56. data/app/views/flms/blocks/edit.html.haml +61 -2
  57. data/app/views/flms/blocks/index.html.haml +13 -22
  58. data/app/views/flms/blocks/show.html.haml +12 -35
  59. data/app/views/flms/elements/_animation_layer.html.haml +2 -0
  60. data/app/views/flms/elements/_block.html.haml +3 -0
  61. data/app/views/flms/elements/_embed_layer.html.haml +2 -0
  62. data/app/views/flms/elements/_image_layer.html.haml +2 -0
  63. data/app/views/flms/elements/_page.html.haml +11 -0
  64. data/app/views/flms/elements/_paragraph_layer.html.haml +4 -0
  65. data/app/views/flms/elements/_text_layer.html.haml +2 -0
  66. data/app/views/flms/embed_layers/_form.html.haml +29 -0
  67. data/app/views/flms/embed_layers/edit.html.haml +2 -0
  68. data/app/views/flms/embed_layers/new.html.haml +2 -0
  69. data/app/views/flms/image_layers/_form.html.haml +31 -17
  70. data/app/views/flms/image_layers/new.html.haml +1 -2
  71. data/app/views/flms/layers/_common_fields.html.haml +41 -0
  72. data/app/views/flms/layers/_keyframe_fields.html.haml +127 -0
  73. data/app/views/flms/pages/_add_block.html.haml +8 -0
  74. data/app/views/flms/pages/_block_list.html.haml +44 -0
  75. data/app/views/flms/pages/_form.html.haml +22 -23
  76. data/app/views/flms/pages/edit.html.haml +4 -3
  77. data/app/views/flms/pages/index.html.haml +4 -3
  78. data/app/views/flms/pages/show.html.haml +8 -6
  79. data/app/views/flms/paragraph_layers/_form.html.haml +41 -0
  80. data/app/views/flms/paragraph_layers/edit.html.haml +2 -0
  81. data/app/views/flms/paragraph_layers/new.html.haml +2 -0
  82. data/app/views/flms/text_layers/_form.html.haml +43 -0
  83. data/app/views/flms/text_layers/edit.html.haml +2 -0
  84. data/app/views/flms/text_layers/new.html.haml +2 -0
  85. data/app/views/layouts/flms/_plain_styling.html.haml +1 -0
  86. data/app/views/layouts/flms/admin.html.haml +8 -3
  87. data/app/views/layouts/flms/public.html.haml +13 -0
  88. data/config/initializers/carrierwave.rb +62 -6
  89. data/config/initializers/mime_types.rb +3 -0
  90. data/config/initializers/validators.rb +1 -0
  91. data/config/routes.rb +13 -5
  92. data/config/s3.yml.example +14 -0
  93. data/db/migrate/{20130302011705_create_flms_blocks.rb → 20130302011705_flms_create_blocks.rb} +3 -1
  94. data/db/migrate/{20130302015459_create_flms_blocks_pages.rb → 20130302015459_flms_create_blocks_pages.rb} +1 -1
  95. data/db/migrate/20130312220011_flms_create_layers.rb +40 -0
  96. data/db/migrate/20130327183815_flms_create_keyframes.rb +24 -0
  97. data/lib/flms/css_name_validator.rb +9 -0
  98. data/lib/flms/version.rb +1 -1
  99. data/lib/tasks/flms_tasks.rake +46 -6
  100. data/spec/controllers/animation_layers_controller_spec.rb +38 -0
  101. data/spec/controllers/blocks_controller_spec.rb +18 -44
  102. data/spec/controllers/embed_layers_controller_spec.rb +52 -0
  103. data/spec/controllers/image_layers_controller_spec.rb +73 -0
  104. data/spec/controllers/layers_controller_spec.rb +4 -5
  105. data/spec/controllers/pages_controller_spec.rb +66 -1
  106. data/spec/controllers/paragraph_layers_controller_spec.rb +53 -0
  107. data/spec/controllers/text_layers_controller_spec.rb +73 -0
  108. data/spec/dummy/app/views/home/index.html.haml +1 -1
  109. data/spec/dummy/config/environments/development.rb +1 -0
  110. data/spec/dummy/config/environments/production.rb +1 -0
  111. data/spec/dummy/config/environments/test.rb +1 -0
  112. data/spec/dummy/config/initializers/flms.rb +1 -0
  113. data/spec/dummy/config/s3.yml +12 -0
  114. data/spec/dummy/config/s3.yml.example +12 -0
  115. data/spec/dummy/db/development.sqlite3 +0 -0
  116. data/spec/dummy/db/schema.rb +40 -5
  117. data/spec/dummy/db/test.sqlite3 +0 -0
  118. data/spec/dummy/log/development.log +4376 -0
  119. data/spec/dummy/log/test.log +131766 -0
  120. data/spec/dummy/public/uploads/flms/animation_layer/image/1/normal_placeholder.png +0 -0
  121. data/spec/dummy/public/uploads/flms/animation_layer/image/1/placeholder.png +0 -0
  122. data/spec/dummy/public/uploads/flms/animation_layer/image/1/small_placeholder.png +0 -0
  123. data/spec/dummy/public/uploads/flms/animation_layer/image/1/thumb_placeholder.png +0 -0
  124. data/spec/dummy/public/uploads/flms/animation_layer/image/7/normal_placeholder.png +0 -0
  125. data/spec/dummy/public/uploads/flms/animation_layer/image/7/placeholder.png +0 -0
  126. data/spec/dummy/public/uploads/flms/animation_layer/image/7/small_placeholder.png +0 -0
  127. data/spec/dummy/public/uploads/flms/animation_layer/image/7/thumb_placeholder.png +0 -0
  128. data/spec/dummy/public/uploads/flms/block/thumbnail/1/placeholder.png +0 -0
  129. data/spec/dummy/public/uploads/flms/block/thumbnail/1/small_placeholder.png +0 -0
  130. data/spec/dummy/public/uploads/flms/block/thumbnail/1/thumb_placeholder.png +0 -0
  131. data/spec/dummy/public/uploads/flms/image_layer/image/1/normal_placeholder.png +0 -0
  132. data/spec/dummy/public/uploads/flms/image_layer/image/1/placeholder.png +0 -0
  133. data/spec/dummy/public/uploads/flms/image_layer/image/1/small_placeholder.png +0 -0
  134. data/spec/dummy/public/uploads/flms/image_layer/image/1/thumb_placeholder.png +0 -0
  135. data/spec/dummy/public/uploads/flms/image_layer/image/2/normal_placeholder.png +0 -0
  136. data/spec/dummy/public/uploads/flms/image_layer/image/2/placeholder.png +0 -0
  137. data/spec/dummy/public/uploads/flms/image_layer/image/2/small_placeholder.png +0 -0
  138. data/spec/dummy/public/uploads/flms/image_layer/image/2/thumb_placeholder.png +0 -0
  139. data/spec/dummy/public/uploads/flms/image_layer/image/3/normal_placeholder.png +0 -0
  140. data/spec/dummy/public/uploads/flms/image_layer/image/3/placeholder.png +0 -0
  141. data/spec/dummy/public/uploads/flms/image_layer/image/3/small_placeholder.png +0 -0
  142. data/spec/dummy/public/uploads/flms/image_layer/image/3/thumb_placeholder.png +0 -0
  143. data/spec/dummy/tmp/cache/assets/C4C/010/sprockets%2F74558ebf3d0666286090250c04b945a1 +0 -0
  144. data/spec/dummy/tmp/cache/assets/C4C/7C0/sprockets%2F829fa8a51f2e2266774e2007d7141414 +0 -0
  145. data/spec/dummy/tmp/cache/assets/C57/C80/sprockets%2F74f66b30036f872b250553c91f2981d8 +0 -0
  146. data/spec/dummy/tmp/cache/assets/C59/520/sprockets%2Ff2296184148079d68a35d80635c702fc +0 -0
  147. data/spec/dummy/tmp/cache/assets/C62/B80/sprockets%2Fe2573350e6996f3f19f06c03687339d2 +0 -0
  148. data/spec/dummy/tmp/cache/assets/C84/200/sprockets%2F6d5671bc22b630f45761e90488b3a909 +0 -0
  149. data/spec/dummy/tmp/cache/assets/C86/490/sprockets%2F196ee25088eb975920380e3b5fd22325 +0 -0
  150. data/spec/dummy/tmp/cache/assets/C86/F40/sprockets%2Fb9924512ef3de6aa72460258706865e2 +0 -0
  151. data/spec/dummy/tmp/cache/assets/CA7/AB0/sprockets%2F88f069985c1ffca86f6394209656964c +0 -0
  152. data/spec/dummy/tmp/cache/assets/CA9/AC0/sprockets%2F2f3e0ad16e81532007e094c081594f7e +0 -0
  153. data/spec/dummy/tmp/cache/assets/CA9/F00/sprockets%2F289543b9c4d5ea08789000ce30a95c00 +0 -0
  154. data/spec/dummy/tmp/cache/assets/CAB/C80/sprockets%2Fc4e739111d82c7189113aeb228816ba8 +0 -0
  155. data/spec/dummy/tmp/cache/assets/CB0/330/sprockets%2F228e5f742b01972dc6ce664713264d3c +0 -0
  156. data/spec/dummy/tmp/cache/assets/CB3/E00/sprockets%2F97a8391a80361fb1870669c06a27ae5c +0 -0
  157. data/spec/dummy/tmp/cache/assets/CC9/C00/sprockets%2F454c58b0a3b0a0a64fd60bb217197580 +0 -0
  158. data/spec/dummy/tmp/cache/assets/CD1/8F0/sprockets%2F4032f7a5b2133a8b8f963e12fd6120c5 +0 -0
  159. data/spec/dummy/tmp/cache/assets/CD7/000/sprockets%2Ff6534fbac7e738c013414d148211bd95 +0 -0
  160. data/spec/dummy/tmp/cache/assets/CD9/AA0/sprockets%2F80c500e462b3e91b00f48609b56ff91b +0 -0
  161. data/spec/dummy/tmp/cache/assets/CDB/510/sprockets%2Fd61745a24c4636f8813fa14038bac69a +0 -0
  162. data/spec/dummy/tmp/cache/assets/CDD/640/sprockets%2F557bde539a95020fd557e11f813242fa +0 -0
  163. data/spec/dummy/tmp/cache/assets/CDF/200/sprockets%2F9b251cfabb019f79e706200499d623c6 +0 -0
  164. data/spec/dummy/tmp/cache/assets/CE0/420/sprockets%2F5b3f22c66d8a269533a5689c1be5c800 +0 -0
  165. data/spec/dummy/tmp/cache/assets/CEE/C10/sprockets%2F39310232adc120c16210bdc84184fdaf +0 -0
  166. data/spec/dummy/tmp/cache/assets/D02/F10/sprockets%2Fd10499187b5f8d8d85769775d1ecb7c7 +0 -0
  167. data/spec/dummy/tmp/cache/assets/D07/A50/sprockets%2Fdda362e83c229c06b2bb63686e273d13 +0 -0
  168. data/spec/dummy/tmp/cache/assets/D09/5C0/sprockets%2F7cd3521c63623eb6f02dbb514991a6f6 +0 -0
  169. data/spec/dummy/tmp/cache/assets/D09/7C0/sprockets%2F892c677abcf22a046a610427fa29d4b7 +0 -0
  170. data/spec/dummy/tmp/cache/assets/D0B/0C0/sprockets%2Fb2722b54d89845b9619cadda1a04158c +0 -0
  171. data/spec/dummy/tmp/cache/assets/D11/9D0/sprockets%2F87436354c263adb7b069d7b3d19ace18 +0 -0
  172. data/spec/dummy/tmp/cache/assets/D15/6F0/sprockets%2F32e2b26b766ac7fb86d0c7062c976c29 +0 -0
  173. data/spec/dummy/tmp/cache/assets/D18/9C0/sprockets%2Ff92d239ff629c160ee015e3845a6c9c3 +0 -0
  174. data/spec/dummy/tmp/cache/assets/D18/DF0/sprockets%2F8d53dfef1f06c56f73026d82f29322a9 +0 -0
  175. data/spec/dummy/tmp/cache/assets/D19/060/sprockets%2F4be3ef7d038e55cffc27166271638f60 +0 -0
  176. data/spec/dummy/tmp/cache/assets/D1C/E30/sprockets%2F605ce82d89dce653d672485b9c1c52f1 +0 -0
  177. data/spec/dummy/tmp/cache/assets/D1E/1D0/sprockets%2Ffeec495723d877b92c74db2055516bc9 +0 -0
  178. data/spec/dummy/tmp/cache/assets/D22/660/sprockets%2F43f26c23b8ddf974767ca6f67b6530f6 +0 -0
  179. data/spec/dummy/tmp/cache/assets/D24/E10/sprockets%2Fd9032b251e778acab41d4639b003a1ca +0 -0
  180. data/spec/dummy/tmp/cache/assets/D25/A70/sprockets%2Fb7d53812242f41eafe2dc223317db30a +0 -0
  181. data/spec/dummy/tmp/cache/assets/D2D/190/sprockets%2Fcea5d014c171b7a836113bb9b0f9f712 +0 -0
  182. data/spec/dummy/tmp/cache/assets/D2E/130/sprockets%2F5ebb788f274dd034257c0bc0400fae50 +0 -0
  183. data/spec/dummy/tmp/cache/assets/D3B/440/sprockets%2Fabe31f236167ba051f6ff849d0a7282f +0 -0
  184. data/spec/dummy/tmp/cache/assets/D3B/550/sprockets%2Fb61caf9834ac8c31691851ac024f26ef +0 -0
  185. data/spec/dummy/tmp/cache/assets/D3B/980/sprockets%2Ff0e607eb6489ed61f27a5233cae0172e +0 -0
  186. data/spec/dummy/tmp/cache/assets/D3B/A90/sprockets%2F3a9f74af10313e521d21dc4d78b4f9b9 +0 -0
  187. data/spec/dummy/tmp/cache/assets/D46/210/sprockets%2F45a8d49c8edbaf91f38ab1495430384c +0 -0
  188. data/spec/dummy/tmp/cache/assets/D48/DD0/sprockets%2F75d43fac4136d1bbabf481f977b78637 +0 -0
  189. data/spec/dummy/tmp/cache/assets/D4A/B40/sprockets%2F509d2dc1350975d781c50dffc58ef53f +0 -0
  190. data/spec/dummy/tmp/cache/assets/D4B/D10/sprockets%2F76e4e1fa5d891fe2261834cf322f38ef +0 -0
  191. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  192. data/spec/dummy/tmp/cache/assets/D50/0B0/sprockets%2F6c3a019b7442761786cc7bef8e8e7c6c +0 -0
  193. data/spec/dummy/tmp/cache/assets/D53/F80/sprockets%2F11d791b713f9b9cf2bb85bd7f6589b84 +0 -0
  194. data/spec/dummy/tmp/cache/assets/D54/BA0/sprockets%2F89de5abea3b3002f6e73210bb7a3c330 +0 -0
  195. data/spec/dummy/tmp/cache/assets/D54/DE0/sprockets%2F77af3e306bb966f71f83e90e2a8868db +0 -0
  196. data/spec/dummy/tmp/cache/assets/D5B/1F0/sprockets%2F4d98e747aa4bb9fc8859f49a45159e1c +0 -0
  197. data/spec/dummy/tmp/cache/assets/D64/D10/sprockets%2F9857068018fbac51ecd0a7510bcca55e +0 -0
  198. data/spec/dummy/tmp/cache/assets/D66/8E0/sprockets%2F0cbda18dbb9e414ed0bf1199358e1742 +0 -0
  199. data/spec/dummy/tmp/cache/assets/D6D/150/sprockets%2Fe84b6e0602e1c5218c9da9d46da4d74b +0 -0
  200. data/spec/dummy/tmp/cache/assets/D6E/870/sprockets%2F3f77e0b5396013fd145a6fdd21bc9b7f +0 -0
  201. data/spec/dummy/tmp/cache/assets/D71/2D0/sprockets%2F958685af3478f12a33ffaa5cfa26e0d1 +0 -0
  202. data/spec/dummy/tmp/cache/assets/D77/D80/sprockets%2F7ad794c63274a9812dfbabc1dae69692 +0 -0
  203. data/spec/dummy/tmp/cache/assets/D79/DE0/sprockets%2F9e7131d002f39be972e9918bdfbbcc66 +0 -0
  204. data/spec/dummy/tmp/cache/assets/D7C/3A0/sprockets%2Fec63717067efd6b2daf3423edf70f689 +0 -0
  205. data/spec/dummy/tmp/cache/assets/D7D/BB0/sprockets%2Fe66f1c4ba6885a4d1de08c3d81f991d9 +0 -0
  206. data/spec/dummy/tmp/cache/assets/D81/1D0/sprockets%2F9f446f7e8b3c18c6f7b636b71a8ba8d4 +0 -0
  207. data/spec/dummy/tmp/cache/assets/D81/400/sprockets%2F566656e2cc9e698b1dbbd56d6e2e6b36 +0 -0
  208. data/spec/dummy/tmp/cache/assets/D8C/DE0/sprockets%2Fb95e7d75de89e1285d0e6ef8d85cb508 +0 -0
  209. data/spec/dummy/tmp/cache/assets/D91/320/sprockets%2F322e2344c1fc1234ffd9b3142eecaf6f +0 -0
  210. data/spec/dummy/tmp/cache/assets/D92/9B0/sprockets%2F96f73ad8237fa0a4bb3aa8cbe083551a +0 -0
  211. data/spec/dummy/tmp/cache/assets/D93/0C0/sprockets%2Fab900c084c9c51c312ee3457cee8cdc2 +0 -0
  212. data/spec/dummy/tmp/cache/assets/D93/3F0/sprockets%2Fb6aecc2fe36010208fc8c4cc9e04672c +0 -0
  213. data/spec/dummy/tmp/cache/assets/D97/1B0/sprockets%2Fe0ae6a22a963d0e0819ce6436eb57cae +0 -0
  214. data/spec/dummy/tmp/cache/assets/D98/FD0/sprockets%2F6f253bd2bf824ac38c69bfe1418a04be +0 -0
  215. data/spec/dummy/tmp/cache/assets/D99/CF0/sprockets%2F015b5a48fa7906d045fc23db8a60feef +0 -0
  216. data/spec/dummy/tmp/cache/assets/D9A/820/sprockets%2F594caa19e550457af23ae9fba500a9fe +0 -0
  217. data/spec/dummy/tmp/cache/assets/D9E/220/sprockets%2Fd129fcf804e89814c2f4abbe0336cba9 +0 -0
  218. data/spec/dummy/tmp/cache/assets/D9E/8D0/sprockets%2F2ae41880ba1dbb6f570fe0e790678dbf +0 -0
  219. data/spec/dummy/tmp/cache/assets/D9E/A30/sprockets%2Fc82d9ee0ea1a5360faa296957c2bf17e +0 -0
  220. data/spec/dummy/tmp/cache/assets/DA0/C20/sprockets%2Fe1a590abeca61529529de36efa97b43e +0 -0
  221. data/spec/dummy/tmp/cache/assets/DA2/330/sprockets%2F27697dddd23a0913339ccb95dabd7ae7 +0 -0
  222. data/spec/dummy/tmp/cache/assets/DA3/920/sprockets%2F6c45b9f8e0152c78b3c9be1c2e8be53c +0 -0
  223. data/spec/dummy/tmp/cache/assets/DA5/3A0/sprockets%2Fa02e5a4a95bb7c92ec5b63f908eff870 +0 -0
  224. data/spec/dummy/tmp/cache/assets/DA5/BC0/sprockets%2F5b86068a872e5bd841750d6cbd2dfdbf +0 -0
  225. data/spec/dummy/tmp/cache/assets/DA6/360/sprockets%2F1d7b3df8a061fd27e6a956bfd84a93f1 +0 -0
  226. data/spec/dummy/tmp/cache/assets/DA6/A10/sprockets%2Fd226de7dc43ae36657be35fb6e31db89 +0 -0
  227. data/spec/dummy/tmp/cache/assets/DA8/4A0/sprockets%2Ff8ba39d58ace11df624bf7e24c7b5882 +0 -0
  228. data/spec/dummy/tmp/cache/assets/DA8/C30/sprockets%2Fb7d14d588a70a56d7ddac542eef557d6 +0 -0
  229. data/spec/dummy/tmp/cache/assets/DAE/680/sprockets%2Fcd28d437e7fc959fe1e328bca40f5e74 +0 -0
  230. data/spec/dummy/tmp/cache/assets/DB2/1F0/sprockets%2F9fe57997f92efbee3b03df4510a2df57 +0 -0
  231. data/spec/dummy/tmp/cache/assets/DB8/C30/sprockets%2Fca860af2d10e0c745b6e38b12dabe05f +0 -0
  232. data/spec/dummy/tmp/cache/assets/DBF/630/sprockets%2F8423ad7ae72b0bc6baeac10405389fdf +0 -0
  233. data/spec/dummy/tmp/cache/assets/DC1/530/sprockets%2F4db0b289eee7dad03453a5924c20dcfa +0 -0
  234. data/spec/dummy/tmp/cache/assets/DC2/BA0/sprockets%2Feb1b52f8e6baba5409e0e09c3cc70e45 +0 -0
  235. data/spec/dummy/tmp/cache/assets/DCF/0B0/sprockets%2F23db7ab96a5549546bbdd0bc2e6ea86f +0 -0
  236. data/spec/dummy/tmp/cache/assets/DD0/EE0/sprockets%2F4b34c7c215efccbeaf495ee4715734fb +0 -0
  237. data/spec/dummy/tmp/cache/assets/DD4/990/sprockets%2F8dc6b77dc74dfdf830aa8f19b92c130d +0 -0
  238. data/spec/dummy/tmp/cache/assets/DD7/FC0/sprockets%2Fdee985ae48773ae9b4fc4dd0b85ce201 +0 -0
  239. data/spec/dummy/tmp/cache/assets/DD8/DC0/sprockets%2Fcc82f3b4753fc2d729ebbcfec94e3077 +0 -0
  240. data/spec/dummy/tmp/cache/assets/DD9/170/sprockets%2Fccaea8553317199dc77c526fefdfbb27 +0 -0
  241. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  242. data/spec/dummy/tmp/cache/assets/DEA/350/sprockets%2Ffc836da09a20cdbc0b7b49b2525e1bbe +0 -0
  243. data/spec/dummy/tmp/cache/assets/DF1/A10/sprockets%2Fa925a815ca0bff4d6f42fbdf0d323a4f +0 -0
  244. data/spec/dummy/tmp/cache/assets/DF3/820/sprockets%2Fede955e751bbec440cbbfc00473c34ec +0 -0
  245. data/spec/dummy/tmp/cache/assets/DFC/4B0/sprockets%2F30bac9bffe7e6a5ae42a675f55d1c29a +0 -0
  246. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  247. data/spec/dummy/tmp/cache/assets/E09/1A0/sprockets%2Fc76bb4e6dbb4f2afc0f09c79a41e988f +0 -0
  248. data/spec/dummy/tmp/cache/assets/E2D/E20/sprockets%2Fec8c39aa4e1ce3059eeab8f265ead07d +0 -0
  249. data/spec/dummy/tmp/cache/assets/E2E/010/sprockets%2Fab7b35e5d27eba9893aaef6f2bde1b72 +0 -0
  250. data/spec/dummy/tmp/cache/assets/E2E/A50/sprockets%2Fc7e5c2d6c06cfc59aabd0f814de69c3c +0 -0
  251. data/spec/dummy/tmp/cache/assets/E4B/EE0/sprockets%2F06c4dea4fc3cb561b87bd078aab0facc +0 -0
  252. data/spec/dummy/tmp/cache/assets/E5E/A60/sprockets%2Ff83d84dceff86c25a7bab27cbff33ac0 +0 -0
  253. data/spec/dummy/tmp/cache/assets/E6D/8B0/sprockets%2F9edfdf7e85cdd1a69b0eb14c6ce8ed19 +0 -0
  254. data/spec/dummy/tmp/cache/assets/E94/6D0/sprockets%2F3bdb0f5d3a20cbd18bafaaea4ba2a7b2 +0 -0
  255. data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/normal_placeholder.png +0 -0
  256. data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/placeholder.png +0 -0
  257. data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/small_placeholder.png +0 -0
  258. data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/thumb_placeholder.png +0 -0
  259. data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/normal_placeholder.png +0 -0
  260. data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/placeholder.png +0 -0
  261. data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/small_placeholder.png +0 -0
  262. data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/thumb_placeholder.png +0 -0
  263. data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/normal_placeholder.png +0 -0
  264. data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/placeholder.png +0 -0
  265. data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/small_placeholder.png +0 -0
  266. data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/thumb_placeholder.png +0 -0
  267. data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/normal_placeholder.png +0 -0
  268. data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/placeholder.png +0 -0
  269. data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/small_placeholder.png +0 -0
  270. data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/thumb_placeholder.png +0 -0
  271. data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/normal_placeholder.png +0 -0
  272. data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/placeholder.png +0 -0
  273. data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/small_placeholder.png +0 -0
  274. data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/thumb_placeholder.png +0 -0
  275. data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/normal_placeholder.png +0 -0
  276. data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/placeholder.png +0 -0
  277. data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/small_placeholder.png +0 -0
  278. data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/thumb_placeholder.png +0 -0
  279. data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/normal_placeholder.png +0 -0
  280. data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/placeholder.png +0 -0
  281. data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/small_placeholder.png +0 -0
  282. data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/thumb_placeholder.png +0 -0
  283. data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/normal_placeholder.png +0 -0
  284. data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/placeholder.png +0 -0
  285. data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/small_placeholder.png +0 -0
  286. data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/thumb_placeholder.png +0 -0
  287. data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/normal_placeholder.png +0 -0
  288. data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/placeholder.png +0 -0
  289. data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/small_placeholder.png +0 -0
  290. data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/thumb_placeholder.png +0 -0
  291. data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/normal_placeholder.png +0 -0
  292. data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/placeholder.png +0 -0
  293. data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/small_placeholder.png +0 -0
  294. data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/thumb_placeholder.png +0 -0
  295. data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/normal_placeholder.png +0 -0
  296. data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/placeholder.png +0 -0
  297. data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/small_placeholder.png +0 -0
  298. data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/thumb_placeholder.png +0 -0
  299. data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/normal_placeholder.png +0 -0
  300. data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/placeholder.png +0 -0
  301. data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/small_placeholder.png +0 -0
  302. data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/thumb_placeholder.png +0 -0
  303. data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/normal_placeholder.png +0 -0
  304. data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/placeholder.png +0 -0
  305. data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/small_placeholder.png +0 -0
  306. data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/thumb_placeholder.png +0 -0
  307. data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/normal_placeholder.png +0 -0
  308. data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/placeholder.png +0 -0
  309. data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/small_placeholder.png +0 -0
  310. data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/thumb_placeholder.png +0 -0
  311. data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/normal_placeholder.png +0 -0
  312. data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/placeholder.png +0 -0
  313. data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/small_placeholder.png +0 -0
  314. data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/thumb_placeholder.png +0 -0
  315. data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/normal_placeholder.png +0 -0
  316. data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/placeholder.png +0 -0
  317. data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/small_placeholder.png +0 -0
  318. data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/thumb_placeholder.png +0 -0
  319. data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/normal_placeholder.png +0 -0
  320. data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/placeholder.png +0 -0
  321. data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/small_placeholder.png +0 -0
  322. data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/thumb_placeholder.png +0 -0
  323. data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/normal_placeholder.png +0 -0
  324. data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/placeholder.png +0 -0
  325. data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/small_placeholder.png +0 -0
  326. data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/thumb_placeholder.png +0 -0
  327. data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/normal_placeholder.png +0 -0
  328. data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/placeholder.png +0 -0
  329. data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/small_placeholder.png +0 -0
  330. data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/thumb_placeholder.png +0 -0
  331. data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/normal_placeholder.png +0 -0
  332. data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/placeholder.png +0 -0
  333. data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/small_placeholder.png +0 -0
  334. data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/thumb_placeholder.png +0 -0
  335. data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/normal_placeholder.png +0 -0
  336. data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/placeholder.png +0 -0
  337. data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/small_placeholder.png +0 -0
  338. data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/thumb_placeholder.png +0 -0
  339. data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/normal_placeholder.png +0 -0
  340. data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/placeholder.png +0 -0
  341. data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/small_placeholder.png +0 -0
  342. data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/thumb_placeholder.png +0 -0
  343. data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/normal_placeholder.png +0 -0
  344. data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/placeholder.png +0 -0
  345. data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/small_placeholder.png +0 -0
  346. data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/thumb_placeholder.png +0 -0
  347. data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/normal_placeholder.png +0 -0
  348. data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/placeholder.png +0 -0
  349. data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/small_placeholder.png +0 -0
  350. data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/thumb_placeholder.png +0 -0
  351. data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/normal_placeholder.png +0 -0
  352. data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/placeholder.png +0 -0
  353. data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/small_placeholder.png +0 -0
  354. data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/thumb_placeholder.png +0 -0
  355. data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/normal_placeholder.png +0 -0
  356. data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/placeholder.png +0 -0
  357. data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/small_placeholder.png +0 -0
  358. data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/thumb_placeholder.png +0 -0
  359. data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/normal_placeholder.png +0 -0
  360. data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/placeholder.png +0 -0
  361. data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/small_placeholder.png +0 -0
  362. data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/thumb_placeholder.png +0 -0
  363. data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/normal_placeholder.png +0 -0
  364. data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/placeholder.png +0 -0
  365. data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/small_placeholder.png +0 -0
  366. data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/thumb_placeholder.png +0 -0
  367. data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/normal_placeholder.png +0 -0
  368. data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/placeholder.png +0 -0
  369. data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/small_placeholder.png +0 -0
  370. data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/thumb_placeholder.png +0 -0
  371. data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/normal_placeholder.png +0 -0
  372. data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/placeholder.png +0 -0
  373. data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/small_placeholder.png +0 -0
  374. data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/thumb_placeholder.png +0 -0
  375. data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/normal_placeholder.png +0 -0
  376. data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/placeholder.png +0 -0
  377. data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/small_placeholder.png +0 -0
  378. data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/thumb_placeholder.png +0 -0
  379. data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/normal_placeholder.png +0 -0
  380. data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/placeholder.png +0 -0
  381. data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/small_placeholder.png +0 -0
  382. data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/thumb_placeholder.png +0 -0
  383. data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/normal_placeholder.png +0 -0
  384. data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/placeholder.png +0 -0
  385. data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/small_placeholder.png +0 -0
  386. data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/thumb_placeholder.png +0 -0
  387. data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/normal_placeholder.png +0 -0
  388. data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/placeholder.png +0 -0
  389. data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/small_placeholder.png +0 -0
  390. data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/thumb_placeholder.png +0 -0
  391. data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/normal_placeholder.png +0 -0
  392. data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/placeholder.png +0 -0
  393. data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/small_placeholder.png +0 -0
  394. data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/thumb_placeholder.png +0 -0
  395. data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/normal_placeholder.png +0 -0
  396. data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/placeholder.png +0 -0
  397. data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/small_placeholder.png +0 -0
  398. data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/thumb_placeholder.png +0 -0
  399. data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/normal_placeholder.png +0 -0
  400. data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/placeholder.png +0 -0
  401. data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/small_placeholder.png +0 -0
  402. data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/thumb_placeholder.png +0 -0
  403. data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/normal_placeholder.png +0 -0
  404. data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/placeholder.png +0 -0
  405. data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/small_placeholder.png +0 -0
  406. data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/thumb_placeholder.png +0 -0
  407. data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/normal_placeholder.png +0 -0
  408. data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/placeholder.png +0 -0
  409. data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/small_placeholder.png +0 -0
  410. data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/thumb_placeholder.png +0 -0
  411. data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/normal_placeholder.png +0 -0
  412. data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/placeholder.png +0 -0
  413. data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/small_placeholder.png +0 -0
  414. data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/thumb_placeholder.png +0 -0
  415. data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/normal_placeholder.png +0 -0
  416. data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/placeholder.png +0 -0
  417. data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/small_placeholder.png +0 -0
  418. data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/thumb_placeholder.png +0 -0
  419. data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/normal_placeholder.png +0 -0
  420. data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/placeholder.png +0 -0
  421. data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/small_placeholder.png +0 -0
  422. data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/thumb_placeholder.png +0 -0
  423. data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/normal_placeholder.png +0 -0
  424. data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/placeholder.png +0 -0
  425. data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/small_placeholder.png +0 -0
  426. data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/thumb_placeholder.png +0 -0
  427. data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/normal_placeholder.png +0 -0
  428. data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/placeholder.png +0 -0
  429. data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/small_placeholder.png +0 -0
  430. data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/thumb_placeholder.png +0 -0
  431. data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/normal_placeholder.png +0 -0
  432. data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/placeholder.png +0 -0
  433. data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/small_placeholder.png +0 -0
  434. data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/thumb_placeholder.png +0 -0
  435. data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/normal_placeholder.png +0 -0
  436. data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/placeholder.png +0 -0
  437. data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/small_placeholder.png +0 -0
  438. data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/thumb_placeholder.png +0 -0
  439. data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/normal_placeholder.png +0 -0
  440. data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/placeholder.png +0 -0
  441. data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/small_placeholder.png +0 -0
  442. data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/thumb_placeholder.png +0 -0
  443. data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/normal_placeholder.png +0 -0
  444. data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/placeholder.png +0 -0
  445. data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/small_placeholder.png +0 -0
  446. data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/thumb_placeholder.png +0 -0
  447. data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/normal_placeholder.png +0 -0
  448. data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/placeholder.png +0 -0
  449. data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/small_placeholder.png +0 -0
  450. data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/thumb_placeholder.png +0 -0
  451. data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/normal_placeholder.png +0 -0
  452. data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/placeholder.png +0 -0
  453. data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/small_placeholder.png +0 -0
  454. data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/thumb_placeholder.png +0 -0
  455. data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/normal_placeholder.png +0 -0
  456. data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/placeholder.png +0 -0
  457. data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/small_placeholder.png +0 -0
  458. data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/thumb_placeholder.png +0 -0
  459. data/spec/factories/blocks.rb +1 -0
  460. data/spec/factories/keyframes.rb +8 -0
  461. data/spec/factories/layer.rb +33 -0
  462. data/spec/features/blocks/create_spec.rb +8 -5
  463. data/spec/features/blocks/delete_spec.rb +2 -2
  464. data/spec/features/blocks/edit_spec.rb +29 -7
  465. data/spec/features/blocks/index_spec.rb +15 -0
  466. data/spec/features/blocks/show_spec.rb +19 -5
  467. data/spec/features/layers/animation_layers/create_spec.rb +27 -0
  468. data/spec/features/layers/animation_layers/edit_spec.rb +27 -0
  469. data/spec/features/layers/embed_layers/create_spec.rb +25 -0
  470. data/spec/features/layers/embed_layers/edit_spec.rb +28 -0
  471. data/spec/features/layers/image_layers/create_spec.rb +8 -5
  472. data/spec/features/layers/image_layers/delete_spec.rb +3 -4
  473. data/spec/features/layers/image_layers/edit_spec.rb +34 -6
  474. data/spec/features/layers/paragraph_layers/create_spec.rb +27 -0
  475. data/spec/features/layers/paragraph_layers/edit_spec.rb +31 -0
  476. data/spec/features/layers/text_layers/create_spec.rb +29 -0
  477. data/spec/features/layers/text_layers/edit_spec.rb +29 -0
  478. data/spec/features/logout_spec.rb +12 -0
  479. data/spec/features/pages/edit_spec.rb +74 -0
  480. data/spec/features/pages/show_spec.rb +32 -0
  481. data/spec/models/animation_layer_spec.rb +46 -0
  482. data/spec/models/block_spec.rb +18 -0
  483. data/spec/models/embed_layer_spec.rb +21 -0
  484. data/spec/models/end_state_keyframe_spec.rb +18 -0
  485. data/spec/models/image_layer_spec.rb +19 -0
  486. data/spec/models/keyframe_spec.rb +185 -0
  487. data/spec/models/layer_spec.rb +147 -0
  488. data/spec/models/page_spec.rb +57 -7
  489. data/spec/models/paragraph_layer_spec.rb +44 -0
  490. data/spec/models/start_state_keyframe_spec.rb +18 -0
  491. data/spec/models/target_state_keyframe_spec.rb +18 -0
  492. data/spec/models/text_layer_spec.rb +56 -0
  493. data/spec/placeholder.png +0 -0
  494. data/spec/spec_helper.rb +4 -1
  495. data/spec/support/lets.rb +17 -6
  496. data/spec/validators/css_name_validator_spec.rb +34 -0
  497. data/spec/view_objects/animation_layer_view_object_spec.rb +77 -0
  498. data/spec/view_objects/image_layer_view_object_spec.rb +13 -0
  499. data/spec/view_objects/keyframe_view_object_spec.rb +119 -0
  500. data/spec/view_objects/layer_view_object_spec.rb +57 -0
  501. data/spec/view_objects/paragraph_layer_view_object_spec.rb +23 -0
  502. data/spec/view_objects/text_layer_view_object_spec.rb +33 -0
  503. data/vendor/assets/javascripts/jquery-1.8.3.min.js +2 -0
  504. data/vendor/assets/javascripts/jquery.easing.1.3.js +205 -0
  505. data/vendor/assets/javascripts/jquery.quicksand.js +443 -0
  506. data/vendor/assets/javascripts/scroll-startstop.events.jquery.js +69 -0
  507. data/vendor/assets/javascripts/skrollr.ie.min.js +2 -0
  508. data/vendor/assets/javascripts/skrollr.min.js +2 -0
  509. data/vendor/assets/javascripts/skrollr.mobile.min.js +2 -0
  510. metadata +816 -101
  511. data/app/views/layouts/flms/application.html.erb +0 -14
  512. data/db/migrate/20130312220011_create_flms_layers.rb +0 -13
  513. data/db/migrate/20130313002421_add_image_to_layers.rb +0 -5
  514. data/spec/dummy/tmp/pids/server.pid +0 -1
  515. data/spec/factories/image_layer.rb +0 -6
  516. data/spec/features/blocks/activating_blocks_spec.rb +0 -18
@@ -0,0 +1,69 @@
1
+ (function(){
2
+
3
+ var special = jQuery.event.special,
4
+ uid1 = 'D' + (+new Date()),
5
+ uid2 = 'D' + (+new Date() + 1);
6
+
7
+ special.scrollstart = {
8
+ setup: function() {
9
+
10
+ var timer,
11
+ handler = function(evt) {
12
+
13
+ var _self = this,
14
+ _args = arguments;
15
+
16
+ if (timer) {
17
+ clearTimeout(timer);
18
+ } else {
19
+ evt.type = 'scrollstart';
20
+ jQuery.event.handle.apply(_self, _args);
21
+ }
22
+
23
+ timer = setTimeout( function(){
24
+ timer = null;
25
+ }, special.scrollstop.latency);
26
+
27
+ };
28
+
29
+ jQuery(this).bind('scroll', handler).data(uid1, handler);
30
+
31
+ },
32
+ teardown: function(){
33
+ jQuery(this).unbind( 'scroll', jQuery(this).data(uid1) );
34
+ }
35
+ };
36
+
37
+ special.scrollstop = {
38
+ latency: 300,
39
+ setup: function() {
40
+
41
+ var timer,
42
+ handler = function(evt) {
43
+
44
+ var _self = this,
45
+ _args = arguments;
46
+
47
+ if (timer) {
48
+ clearTimeout(timer);
49
+ }
50
+
51
+ timer = setTimeout( function(){
52
+
53
+ timer = null;
54
+ evt.type = 'scrollstop';
55
+ jQuery.event.handle.apply(_self, _args);
56
+
57
+ }, special.scrollstop.latency);
58
+
59
+ };
60
+
61
+ jQuery(this).bind('scroll', handler).data(uid2, handler);
62
+
63
+ },
64
+ teardown: function() {
65
+ jQuery(this).unbind( 'scroll', jQuery(this).data(uid2) );
66
+ }
67
+ };
68
+
69
+ })();
@@ -0,0 +1,2 @@
1
+ /*! skrollr v0.5.6 https://github.com/Prinzhorn/skrollr | free to use under terms of MIT license */
2
+ (function(e,t){var n=/hsla?\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)%\s*,\s*(-?[\d.]+)%.*?\)/g,r=/rgba?\(\s*(-?[\d.]+%?)\s*,\s*(-?[\d.]+%?)\s*,\s*(-?[\d.]+%?).*?\)/g,i=/^#[^\s]+$/,s=t.setStyle;t.setStyle=function(e,t,i){s.apply(this,arguments);var u=e.style,a;if(t==="opacity"){u.zoom=1,i>=1&&u.removeAttribute?u.removeAttribute("filter"):u.filter="alpha(opacity="+i*100+")";return}if(i.indexOf("hsl")>-1){a=!1,i=i.replace(n,function(e,t,n,r){return a=!0,o.hsl(parseFloat(t),parseFloat(n),parseFloat(r))});if(a){try{u[t]=i}catch(f){}return}}if(i.indexOf("rgb")>-1){a=!1,i=i.replace(r,function(e,t,n,r){return a=!0,t=parseFloat(t,10),n=parseFloat(n,10),r=parseFloat(r,10),e.indexOf("%")>-1&&(t=t/100*255,n=n/100*255,r=r/100*255),o.rgb(t|0,n|0,r|0)});if(a){try{u[t]=i}catch(f){}return}}};var o={hsl:function(e,t,n,r){return e%=360,e/=60,n/=100,t=[n+=t*=(n<.5?n:1-n)/100,n-e%1*t*2,n-=t*=2,n,n+e%1*t,n+t],r=[t[~~e%6],t[(e|16)%6],t[(e|8)%6]],o.rgb(parseInt(r[0]*255,10),parseInt(r[1]*255,10),parseInt(r[2]*255,10))},rgb:function(e,t,n){return"#"+((256+e<<8|t)<<8|n).toString(16).slice(1)}};e.querySelector=e.querySelector||function(t){if(!i.test(t))throw'Unsupported selector "'+t+'". The querySelector polyfill only works for IDs.';return e.getElementById(t.substr(1))}})(document,window.skrollr);
@@ -0,0 +1,2 @@
1
+ /*! skrollr v0.5.6 https://github.com/Prinzhorn/skrollr | free to use under terms of MIT license */
2
+ (function(e,t,n){"use strict";function I(n){tt=this,n=n||{},at=n.constants||{};if(n.easing)for(var i in n.easing)F[i]=n.easing[i];rt={beforerender:n.beforerender,render:n.render},it=n.forceHeight!==!1,pt=n.smoothScrolling!==!1,dt={targetTop:tt.getScrollTop()},it&&(ut=n.scale||1),Q(s,[l],[c]);if(it){var u=t.getElementById("skrollr-body")||t.createElement("div"),a=u.style;a.minWidth="1px",a.position="absolute",a.top=a.zIndex="0",u.id||(a.width="1px",a.right="0",o.appendChild(u)),ot=function(){st=0,q(),a.height=st+s.clientHeight+"px",r.iscroll&&e.setTimeout(function(){r.iscroll.refresh()},0)}}else ot=function(){st=o.scrollHeight-s.clientHeight,q(),vt=!0,r.iscroll&&e.setTimeout(function(){r.iscroll.refresh()},0)};return tt.refresh(),K("resize",ot),function f(){S(f),U()}(),tt}var r=e.skrollr={get:function(){return tt},init:function(e){return tt||new I(e)},VERSION:"0.5.6"},i=Object.prototype.hasOwnProperty,s=t.documentElement,o=t.body,u="rendered",a="un"+u,f="skrollable",l="skrollr",c="no-"+l,h="linear",p=1e3,d=200,v="start",m="end",g="top",y="center",b="bottom",w="___has_rendered_class",E="___skrollable_id",S=e.requestAnimationFrame;(function(){var t=["ms","moz","webkit","o"],n;for(n=0;n<t.length&&!S;n++)S=e[t[n]+"RequestAnimationFrame"];var r=0;S||(S=function(t){var n=Z(),i=Math.max(0,30-(n-r));e.setTimeout(function(){t(n+i)},i),r=n+i})})();var x=/^\s*(.+)\s*$/m,T=/^data(?:-(_\w+))?(?:-?(-?\d+))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/,N=/\s*([a-z\-\[\]]+)\s*:\s*(.+?)\s*(?:;|$)/gi,C=/^([a-z\-]+)\[(\w+)\]$/,k=/-([a-z])/g,L=function(e,t){return t.toUpperCase()},A=/[\-+]?[\d]*\.?[\d]+/g,O=/\{\?\}/g,M=/rgba?\(\s*-?\d+\s*,\s*-?\d+\s*,\s*-?\d+/g,_=/[a-z\-]+-gradient/g,D=/^O|Moz|webkit|ms/,P,H;if(e.getComputedStyle){var B=e.getComputedStyle(o,null);for(var j in B){P=j.match(D)||+j==j&&B[j].match(D);if(P)break}}P=(P||[""])[0],H="-"+P.toLowerCase()+"-",D=n;var F={begin:function(){return 0},end:function(){return 1},linear:function(e){return e},quadratic:function(e){return e*e},cubic:function(e){return e*e*e},swing:function(e){return-Math.cos(e*Math.PI)/2+.5},sqrt:function(e){return Math.sqrt(e)},bounce:function(e){var t;if(e<=.5083)t=3;else if(e<=.8489)t=9;else if(e<=.96208)t=27;else{if(!(e<=.99981))return 1;t=91}return 1-Math.abs(3*Math.cos(e*t*1.028)/t)}};I.prototype.refresh=function(e){var r,i=!1;e===n?(i=!0,nt=[],mt=0,e=t.getElementsByTagName("*")):e=[].concat(e);for(r=0;r<e.length;r++){var s=e[r],o=s,l=[],c=pt;if(!s.attributes)continue;for(var h=0;h<s.attributes.length;h++){var p=s.attributes[h];if(p.name==="data-anchor-target"){o=t.querySelector(p.value);if(o===null)throw'Unable to find anchor target "'+p.value+'"';continue}if(p.name==="data-smooth-scrolling"){c=p.value!=="off";continue}var d=p.name.match(T);if(d!==null){var g=d[1];g=g&&at[g.substr(1)]||0;var y=(d[2]|0)+g,b=d[3],S=d[4]||b,x={offset:y,props:p.value,element:s};l.push(x),!b||b===v||b===m?(x.mode="absolute",b===m?x.isEnd=!0:(x.frame=y*ut,delete x.offset)):(x.mode="relative",x.anchors=[b,S])}}if(l.length){var N,C,k;!i&&E in s?(k=s[E],N=nt[k].styleAttr,C=nt[k].classAttr):(k=s[E]=mt++,N=s.style.cssText,C=s.className);var L=nt[k]={element:s,styleAttr:N,classAttr:C,anchorTarget:o,keyFrames:l,smoothScrolling:c};Q(s,[f,u],[a]),L[w]=!0}}ot();for(r=0;r<e.length;r++){var A=nt[e[r][E]];if(A===n)continue;A.keyFrames.sort(et),z(A),X(A)}return tt},I.prototype.relativeToAbsolute=function(e,t,n){var r=s.clientHeight,i=e.getBoundingClientRect(),o=i.top,u=i.bottom-i.top;return t===b?o-=r:t===y&&(o-=r/2),n===b?o+=u:n===y&&(o+=u/2),o+=tt.getScrollTop(),o+.5|0},I.prototype.animateTo=function(e,t){t=t||{};var r=Z(),i=tt.getScrollTop();return ht={startTop:i,topDiff:e-i,targetTop:e,duration:t.duration||p,startTime:r,endTime:r+(t.duration||p),easing:F[t.easing||h],done:t.done},ht.topDiff||(ht.done&&ht.done.call(tt,!1),ht=n),tt},I.prototype.stopAnimateTo=function(){ht&&ht.done&&ht.done.call(tt,!0),ht=n},I.prototype.isAnimatingTo=function(){return!!ht},I.prototype.setScrollTop=function(t){return r.iscroll?r.iscroll.scrollTo(0,-t):e.scrollTo(0,t),tt},I.prototype.getScrollTop=function(){return r.iscroll?-r.iscroll.y:e.pageYOffset||s.scrollTop||o.scrollTop||0},I.prototype.on=function(e,t){return rt[e]=t,tt},I.prototype.off=function(e){return delete rt[e],tt};var q=function(){var e,t,n,r,i,s,o,u,a;for(s=0;s<nt.length;s++){e=nt[s],t=e.element,n=e.anchorTarget,r=e.keyFrames;for(o=0;o<r.length;o++)i=r[o],i.mode==="relative"&&(u=t.style.cssText,a=t.className,t.style.cssText=e.styleAttr,t.className=e.classAttr,i.frame=tt.relativeToAbsolute(n,i.anchors[0],i.anchors[1])-i.offset,t.style.cssText=u,t.className=a),it&&!i.isEnd&&i.frame>st&&(st=i.frame)}for(s=0;s<nt.length;s++){e=nt[s],r=e.keyFrames;for(o=0;o<r.length;o++)i=r[o],i.isEnd&&(i.frame=st-i.offset)}},R=function(e,t){for(var n=0;n<nt.length;n++){var s=nt[n],o=s.smoothScrolling?e:t,f=s.keyFrames,l=f[0].frame,c=f[f.length-1].frame,h=o<=l,p=o>=c,d,v;if(h||p){var m=f[h?0:f.length-1].props;for(d in m)i.call(m,d)&&(v=J(m[d].value),r.setStyle(s.element,d,v));s[w]&&(o<l||o>c)&&(Q(s.element,[a],[u]),s[w]=!1);continue}s[w]||(Q(s.element,[u],[a]),s[w]=!0);for(var g=0;g<f.length-1;g++)if(o>=f[g].frame&&o<=f[g+1].frame){var y=f[g],b=f[g+1];for(d in y.props)if(i.call(y.props,d)){var E=(o-y.frame)/(b.frame-y.frame);E=y.props[d].easing(E),v=$(y.props[d].value,b.props[d].value,E),v=J(v),r.setStyle(s.element,d,v)}break}}},U=function(){var e=tt.getScrollTop(),t,r=Z(),i;if(ht)r>=ht.endTime?(e=ht.targetTop,t=ht.done,ht=n):(i=ht.easing((r-ht.startTime)/ht.duration),e=ht.startTop+i*ht.topDiff|0),tt.setScrollTop(e);else{var s=dt.targetTop-e;s&&(dt={startTop:lt,topDiff:e-lt,targetTop:e,startTime:ct,endTime:ct+d}),r<=dt.endTime&&(i=F.sqrt((r-dt.startTime)/d),e=dt.startTop+i*dt.topDiff|0)}e<0&&(e=0);if(vt||lt!==e){ft=e>=lt?"down":"up",vt=!1;var o={curTop:e,lastTop:lt,maxTop:st,direction:ft},u=rt.beforerender&&rt.beforerender.call(tt,o);u!==!1&&(R(e,tt.getScrollTop()),lt=e,rt.render&&rt.render.call(tt,o)),t&&t.call(tt,!1)}ct=r},z=function(e){for(var t=0;t<e.keyFrames.length;t++){var n=e.keyFrames[t],r,i,s,o={},u;while((u=N.exec(n.props))!==null)s=u[1],i=u[2],r=s.match(C),r!==null?(s=r[1],r=r[2]):r=h,i=i.indexOf("!")?W(i):[i.slice(1)],o[s]={value:i,easing:F[r]};n.props=o}},W=function(e){var t=[];return M.lastIndex=0,e=e.replace(M,function(e){return e.replace(A,function(e){return e/255*100+"%"})}),_.lastIndex=0,e=e.replace(_,function(e){return H+e}),e=e.replace(A,function(e){return t.push(+e),"{?}"}),t.unshift(e),t},X=function(e){var t={},n;for(n=0;n<e.keyFrames.length;n++)V(e.keyFrames[n],t);t={};for(n=e.keyFrames.length-1;n>=0;n--)V(e.keyFrames[n],t)},V=function(e,t){var n;for(n in t)i.call(e.props,n)||(e.props[n]=t[n]);for(n in e.props)t[n]=e.props[n]},$=function(e,t,n){if(e.length!==t.length)throw"Can't interpolate between \""+e[0]+'" and "'+t[0]+'"';var r=[e[0]];for(var i=1;i<e.length;i++)r[i]=e[i]+(t[i]-e[i])*n;return r},J=function(e){var t=1;return O.lastIndex=0,e[0].replace(O,function(){return e[t++]})};r.setStyle=function(e,t,n){var r=e.style;t=t.replace(k,L).replace("-","");if(t==="zIndex")r[t]=""+(n|0);else if(t==="float")r.styleFloat=r.cssFloat=n;else try{r[P+t.slice(0,1).toUpperCase()+t.slice(1)]=n,r[t]=n}catch(i){}};var K=function(t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,n)},Q=function(t,n,r){var i="className";e.SVGElement&&t instanceof e.SVGElement&&(t=t[i],i="baseVal");var s=t[i];for(var o=0;o<n.length;o++)Y(s).indexOf(Y(n[o]))===-1&&(s+=" "+n[o]);for(var u=0;u<r.length;u++)s=Y(s).replace(Y(r[u])," ");t[i]=G(s)},G=function(e){return e.replace(x,"$1")},Y=function(e){return" "+e+" "},Z=Date.now||function(){return+(new Date)},et=function(e,t){return e.frame-t.frame},tt,nt,rt,it,st=0,ot,ut=1,at,ft="down",lt=-1,ct=Z(),ht,pt,dt,vt,mt=0})(window,document);
@@ -0,0 +1,2 @@
1
+ /*! iScroll v4.2.2 ~ Copyright (c) 2012 Matteo Spinelli, http://cubiq.org, Released under MIT license, http://cubiq.org/license */
2
+ (function(e,t){function A(e){return i===""?e:(e=e.charAt(0).toUpperCase()+e.substr(1),i+e)}var n=Math,r=t.createElement("div").style,i=function(){var e="t,webkitT,MozT,msT,OT".split(","),t,n=0,i=e.length;for(;n<i;n++){t=e[n]+"ransform";if(t in r)return e[n].substr(0,e[n].length-1)}return!1}(),s=i?"-"+i.toLowerCase()+"-":"",o=A("transform"),u=A("transitionProperty"),a=A("transitionDuration"),f=A("transformOrigin"),l=A("transitionTimingFunction"),c=A("transitionDelay"),h=/android/gi.test(navigator.appVersion),p=/iphone|ipad/gi.test(navigator.appVersion),d=/hp-tablet/gi.test(navigator.appVersion),v=A("perspective")in r,m="ontouchstart"in e&&!d,g=i!==!1,y=A("transition")in r,b="onorientationchange"in e?"orientationchange":"resize",w=m?"touchstart":"mousedown",E=m?"touchmove":"mousemove",S=m?"touchend":"mouseup",x=m?"touchcancel":"mouseup",T=function(){if(i===!1)return!1;var e={"":"transitionend",webkit:"webkitTransitionEnd",Moz:"transitionend",O:"otransitionend",ms:"MSTransitionEnd"};return e[i]}(),N=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){return setTimeout(e,1)}}(),C=function(){return e.cancelRequestAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame||e.mozCancelRequestAnimationFrame||e.oCancelRequestAnimationFrame||e.msCancelRequestAnimationFrame||clearTimeout}(),k=v?" translateZ(0)":"",L=function(n,r){var i=this,c;i.wrapper=typeof n=="object"?n:t.getElementById(n),i.wrapper.style.overflow="hidden",i.scroller=i.wrapper.children[0],i.options={hScroll:!0,vScroll:!0,x:0,y:0,bounce:!0,bounceLock:!1,momentum:!0,lockDirection:!0,useTransform:!0,useTransition:!1,topOffset:0,checkDOMChanges:!1,handleClick:!0,hScrollbar:!0,vScrollbar:!0,fixedScrollbar:h,hideScrollbar:p,fadeScrollbar:p&&v,scrollbarClass:"",zoom:!1,zoomMin:1,zoomMax:4,doubleTapZoom:2,wheelAction:"scroll",snap:!1,snapThreshold:1,onRefresh:null,onBeforeScrollStart:function(e){e.preventDefault()},onScrollStart:null,onBeforeScrollMove:null,onScrollMove:null,onBeforeScrollEnd:null,onScrollEnd:null,onTouchEnd:null,onDestroy:null,onZoomStart:null,onZoom:null,onZoomEnd:null};for(c in r)i.options[c]=r[c];i.x=i.options.x,i.y=i.options.y,i.options.useTransform=g&&i.options.useTransform,i.options.hScrollbar=i.options.hScroll&&i.options.hScrollbar,i.options.vScrollbar=i.options.vScroll&&i.options.vScrollbar,i.options.zoom=i.options.useTransform&&i.options.zoom,i.options.useTransition=y&&i.options.useTransition,i.options.zoom&&h&&(k=""),i.scroller.style[u]=i.options.useTransform?s+"transform":"top left",i.scroller.style[a]="0",i.scroller.style[f]="0 0",i.options.useTransition&&(i.scroller.style[l]="cubic-bezier(0.33,0.66,0.66,1)"),i.options.useTransform?i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px)"+k:i.scroller.style.cssText+=";position:absolute;top:"+i.y+"px;left:"+i.x+"px",i.options.useTransition&&(i.options.fixedScrollbar=!0),i.refresh(),i._bind(b,e),i._bind(w),m||i.options.wheelAction!="none"&&(i._bind("DOMMouseScroll"),i._bind("mousewheel")),i.options.checkDOMChanges&&(i.checkDOMTime=setInterval(function(){i._checkDOMChanges()},500))};L.prototype={enabled:!0,x:0,y:0,steps:[],scale:1,currPageX:0,currPageY:0,pagesX:[],pagesY:[],aniTime:null,wheelZoomCount:0,handleEvent:function(e){var t=this;switch(e.type){case w:if(!m&&e.button!==0)return;t._start(e);break;case E:t._move(e);break;case S:case x:t._end(e);break;case b:t._resize();break;case"DOMMouseScroll":case"mousewheel":t._wheel(e);break;case T:t._transitionEnd(e)}},_checkDOMChanges:function(){if(this.moved||this.zoomed||this.animating||this.scrollerW==this.scroller.offsetWidth*this.scale&&this.scrollerH==this.scroller.offsetHeight*this.scale)return;this.refresh()},_scrollbar:function(e){var r=this,i;if(!r[e+"Scrollbar"]){r[e+"ScrollbarWrapper"]&&(g&&(r[e+"ScrollbarIndicator"].style[o]=""),r[e+"ScrollbarWrapper"].parentNode.removeChild(r[e+"ScrollbarWrapper"]),r[e+"ScrollbarWrapper"]=null,r[e+"ScrollbarIndicator"]=null);return}r[e+"ScrollbarWrapper"]||(i=t.createElement("div"),r.options.scrollbarClass?i.className=r.options.scrollbarClass+e.toUpperCase():i.style.cssText="position:absolute;z-index:100;"+(e=="h"?"height:7px;bottom:1px;left:2px;right:"+(r.vScrollbar?"7":"2")+"px":"width:7px;bottom:"+(r.hScrollbar?"7":"2")+"px;top:2px;right:1px"),i.style.cssText+=";pointer-events:none;"+s+"transition-property:opacity;"+s+"transition-duration:"+(r.options.fadeScrollbar?"350ms":"0")+";overflow:hidden;opacity:"+(r.options.hideScrollbar?"0":"1"),r.wrapper.appendChild(i),r[e+"ScrollbarWrapper"]=i,i=t.createElement("div"),r.options.scrollbarClass||(i.style.cssText="position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);"+s+"background-clip:padding-box;"+s+"box-sizing:border-box;"+(e=="h"?"height:100%":"width:100%")+";"+s+"border-radius:3px;border-radius:3px"),i.style.cssText+=";pointer-events:none;"+s+"transition-property:"+s+"transform;"+s+"transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);"+s+"transition-duration:0;"+s+"transform: translate(0,0)"+k,r.options.useTransition&&(i.style.cssText+=";"+s+"transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)"),r[e+"ScrollbarWrapper"].appendChild(i),r[e+"ScrollbarIndicator"]=i),e=="h"?(r.hScrollbarSize=r.hScrollbarWrapper.clientWidth,r.hScrollbarIndicatorSize=n.max(n.round(r.hScrollbarSize*r.hScrollbarSize/r.scrollerW),8),r.hScrollbarIndicator.style.width=r.hScrollbarIndicatorSize+"px",r.hScrollbarMaxScroll=r.hScrollbarSize-r.hScrollbarIndicatorSize,r.hScrollbarProp=r.hScrollbarMaxScroll/r.maxScrollX):(r.vScrollbarSize=r.vScrollbarWrapper.clientHeight,r.vScrollbarIndicatorSize=n.max(n.round(r.vScrollbarSize*r.vScrollbarSize/r.scrollerH),8),r.vScrollbarIndicator.style.height=r.vScrollbarIndicatorSize+"px",r.vScrollbarMaxScroll=r.vScrollbarSize-r.vScrollbarIndicatorSize,r.vScrollbarProp=r.vScrollbarMaxScroll/r.maxScrollY),r._scrollbarPos(e,!0)},_resize:function(){var e=this;setTimeout(function(){e.refresh()},h?200:0)},_pos:function(e,t){if(this.zoomed)return;e=this.hScroll?e:0,t=this.vScroll?t:0,this.options.useTransform?this.scroller.style[o]="translate("+e+"px,"+t+"px) scale("+this.scale+")"+k:(e=n.round(e),t=n.round(t),this.scroller.style.left=e+"px",this.scroller.style.top=t+"px"),this.x=e,this.y=t,this._scrollbarPos("h"),this._scrollbarPos("v")},_scrollbarPos:function(e,t){var r=this,i=e=="h"?r.x:r.y,s;if(!r[e+"Scrollbar"])return;i=r[e+"ScrollbarProp"]*i,i<0?(r.options.fixedScrollbar||(s=r[e+"ScrollbarIndicatorSize"]+n.round(i*3),s<8&&(s=8),r[e+"ScrollbarIndicator"].style[e=="h"?"width":"height"]=s+"px"),i=0):i>r[e+"ScrollbarMaxScroll"]&&(r.options.fixedScrollbar?i=r[e+"ScrollbarMaxScroll"]:(s=r[e+"ScrollbarIndicatorSize"]-n.round((i-r[e+"ScrollbarMaxScroll"])*3),s<8&&(s=8),r[e+"ScrollbarIndicator"].style[e=="h"?"width":"height"]=s+"px",i=r[e+"ScrollbarMaxScroll"]+(r[e+"ScrollbarIndicatorSize"]-s))),r[e+"ScrollbarWrapper"].style[c]="0",r[e+"ScrollbarWrapper"].style.opacity=t&&r.options.hideScrollbar?"0":"1",r[e+"ScrollbarIndicator"].style[o]="translate("+(e=="h"?i+"px,0)":"0,"+i+"px)")+k},_start:function(t){var r=this,i=m?t.touches[0]:t,s,u,a,f,l;if(!r.enabled)return;r.options.onBeforeScrollStart&&r.options.onBeforeScrollStart.call(r,t),(r.options.useTransition||r.options.zoom)&&r._transitionTime(0),r.moved=!1,r.animating=!1,r.zoomed=!1,r.distX=0,r.distY=0,r.absDistX=0,r.absDistY=0,r.dirX=0,r.dirY=0,r.options.zoom&&m&&t.touches.length>1&&(f=n.abs(t.touches[0].pageX-t.touches[1].pageX),l=n.abs(t.touches[0].pageY-t.touches[1].pageY),r.touchesDistStart=n.sqrt(f*f+l*l),r.originX=n.abs(t.touches[0].pageX+t.touches[1].pageX-r.wrapperOffsetLeft*2)/2-r.x,r.originY=n.abs(t.touches[0].pageY+t.touches[1].pageY-r.wrapperOffsetTop*2)/2-r.y,r.options.onZoomStart&&r.options.onZoomStart.call(r,t));if(r.options.momentum){r.options.useTransform?(s=getComputedStyle(r.scroller,null)[o].replace(/[^0-9\-.,]/g,"").split(","),u=+s[4],a=+s[5]):(u=+getComputedStyle(r.scroller,null).left.replace(/[^0-9-]/g,""),a=+getComputedStyle(r.scroller,null).top.replace(/[^0-9-]/g,""));if(u!=r.x||a!=r.y)r.options.useTransition?r._unbind(T):C(r.aniTime),r.steps=[],r._pos(u,a),r.options.onScrollEnd&&r.options.onScrollEnd.call(r)}r.absStartX=r.x,r.absStartY=r.y,r.startX=r.x,r.startY=r.y,r.pointX=i.pageX,r.pointY=i.pageY,r.startTime=t.timeStamp||Date.now(),r.options.onScrollStart&&r.options.onScrollStart.call(r,t),r._bind(E,e),r._bind(S,e),r._bind(x,e)},_move:function(e){var t=this,r=m?e.touches[0]:e,i=r.pageX-t.pointX,s=r.pageY-t.pointY,u=t.x+i,a=t.y+s,f,l,c,h=e.timeStamp||Date.now();t.options.onBeforeScrollMove&&t.options.onBeforeScrollMove.call(t,e);if(t.options.zoom&&m&&e.touches.length>1){f=n.abs(e.touches[0].pageX-e.touches[1].pageX),l=n.abs(e.touches[0].pageY-e.touches[1].pageY),t.touchesDist=n.sqrt(f*f+l*l),t.zoomed=!0,c=1/t.touchesDistStart*t.touchesDist*this.scale,c<t.options.zoomMin?c=.5*t.options.zoomMin*Math.pow(2,c/t.options.zoomMin):c>t.options.zoomMax&&(c=2*t.options.zoomMax*Math.pow(.5,t.options.zoomMax/c)),t.lastScale=c/this.scale,u=this.originX-this.originX*t.lastScale+this.x,a=this.originY-this.originY*t.lastScale+this.y,this.scroller.style[o]="translate("+u+"px,"+a+"px) scale("+c+")"+k,t.options.onZoom&&t.options.onZoom.call(t,e);return}t.pointX=r.pageX,t.pointY=r.pageY;if(u>0||u<t.maxScrollX)u=t.options.bounce?t.x+i/2:u>=0||t.maxScrollX>=0?0:t.maxScrollX;if(a>t.minScrollY||a<t.maxScrollY)a=t.options.bounce?t.y+s/2:a>=t.minScrollY||t.maxScrollY>=0?t.minScrollY:t.maxScrollY;t.distX+=i,t.distY+=s,t.absDistX=n.abs(t.distX),t.absDistY=n.abs(t.distY);if(t.absDistX<6&&t.absDistY<6)return;t.options.lockDirection&&(t.absDistX>t.absDistY+5?(a=t.y,s=0):t.absDistY>t.absDistX+5&&(u=t.x,i=0)),t.moved=!0,t._pos(u,a),t.dirX=i>0?-1:i<0?1:0,t.dirY=s>0?-1:s<0?1:0,h-t.startTime>300&&(t.startTime=h,t.startX=t.x,t.startY=t.y),t.options.onScrollMove&&t.options.onScrollMove.call(t,e)},_end:function(r){if(m&&r.touches.length!==0)return;var i=this,s=m?r.changedTouches[0]:r,u,f,l={dist:0,time:0},c={dist:0,time:0},h=(r.timeStamp||Date.now())-i.startTime,p=i.x,d=i.y,v,g,y,b,w;i._unbind(E,e),i._unbind(S,e),i._unbind(x,e),i.options.onBeforeScrollEnd&&i.options.onBeforeScrollEnd.call(i,r);if(i.zoomed){w=i.scale*i.lastScale,w=Math.max(i.options.zoomMin,w),w=Math.min(i.options.zoomMax,w),i.lastScale=w/i.scale,i.scale=w,i.x=i.originX-i.originX*i.lastScale+i.x,i.y=i.originY-i.originY*i.lastScale+i.y,i.scroller.style[a]="200ms",i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px) scale("+i.scale+")"+k,i.zoomed=!1,i.refresh(),i.options.onZoomEnd&&i.options.onZoomEnd.call(i,r);return}if(!i.moved){m&&(i.doubleTapTimer&&i.options.zoom?(clearTimeout(i.doubleTapTimer),i.doubleTapTimer=null,i.options.onZoomStart&&i.options.onZoomStart.call(i,r),i.zoom(i.pointX,i.pointY,i.scale==1?i.options.doubleTapZoom:1),i.options.onZoomEnd&&setTimeout(function(){i.options.onZoomEnd.call(i,r)},200)):this.options.handleClick&&(i.doubleTapTimer=setTimeout(function(){i.doubleTapTimer=null,u=s.target;while(u.nodeType!=1)u=u.parentNode;u.tagName!="SELECT"&&u.tagName!="INPUT"&&u.tagName!="TEXTAREA"&&(f=t.createEvent("MouseEvents"),f.initMouseEvent("click",!0,!0,r.view,1,s.screenX,s.screenY,s.clientX,s.clientY,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,0,null),f._fake=!0,u.dispatchEvent(f))},i.options.zoom?250:0))),i._resetPos(400),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,r);return}if(h<300&&i.options.momentum){l=p?i._momentum(p-i.startX,h,-i.x,i.scrollerW-i.wrapperW+i.x,i.options.bounce?i.wrapperW:0):l,c=d?i._momentum(d-i.startY,h,-i.y,i.maxScrollY<0?i.scrollerH-i.wrapperH+i.y-i.minScrollY:0,i.options.bounce?i.wrapperH:0):c,p=i.x+l.dist,d=i.y+c.dist;if(i.x>0&&p>0||i.x<i.maxScrollX&&p<i.maxScrollX)l={dist:0,time:0};if(i.y>i.minScrollY&&d>i.minScrollY||i.y<i.maxScrollY&&d<i.maxScrollY)c={dist:0,time:0}}if(l.dist||c.dist){y=n.max(n.max(l.time,c.time),10),i.options.snap&&(v=p-i.absStartX,g=d-i.absStartY,n.abs(v)<i.options.snapThreshold&&n.abs(g)<i.options.snapThreshold?i.scrollTo(i.absStartX,i.absStartY,200):(b=i._snap(p,d),p=b.x,d=b.y,y=n.max(b.time,y))),i.scrollTo(n.round(p),n.round(d),y),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,r);return}if(i.options.snap){v=p-i.absStartX,g=d-i.absStartY,n.abs(v)<i.options.snapThreshold&&n.abs(g)<i.options.snapThreshold?i.scrollTo(i.absStartX,i.absStartY,200):(b=i._snap(i.x,i.y),(b.x!=i.x||b.y!=i.y)&&i.scrollTo(b.x,b.y,b.time)),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,r);return}i._resetPos(200),i.options.onTouchEnd&&i.options.onTouchEnd.call(i,r)},_resetPos:function(e){var t=this,n=t.x>=0?0:t.x<t.maxScrollX?t.maxScrollX:t.x,r=t.y>=t.minScrollY||t.maxScrollY>0?t.minScrollY:t.y<t.maxScrollY?t.maxScrollY:t.y;if(n==t.x&&r==t.y){t.moved&&(t.moved=!1,t.options.onScrollEnd&&t.options.onScrollEnd.call(t)),t.hScrollbar&&t.options.hideScrollbar&&(i=="webkit"&&(t.hScrollbarWrapper.style[c]="300ms"),t.hScrollbarWrapper.style.opacity="0"),t.vScrollbar&&t.options.hideScrollbar&&(i=="webkit"&&(t.vScrollbarWrapper.style[c]="300ms"),t.vScrollbarWrapper.style.opacity="0");return}t.scrollTo(n,r,e||0)},_wheel:function(e){var t=this,n,r,i,s,o;if("wheelDeltaX"in e)n=e.wheelDeltaX/12,r=e.wheelDeltaY/12;else if("wheelDelta"in e)n=r=e.wheelDelta/12;else{if(!("detail"in e))return;n=r=-e.detail*3}if(t.options.wheelAction=="zoom"){o=t.scale*Math.pow(2,1/3*(r?r/Math.abs(r):0)),o<t.options.zoomMin&&(o=t.options.zoomMin),o>t.options.zoomMax&&(o=t.options.zoomMax),o!=t.scale&&(!t.wheelZoomCount&&t.options.onZoomStart&&t.options.onZoomStart.call(t,e),t.wheelZoomCount++,t.zoom(e.pageX,e.pageY,o,400),setTimeout(function(){t.wheelZoomCount--,!t.wheelZoomCount&&t.options.onZoomEnd&&t.options.onZoomEnd.call(t,e)},400));return}i=t.x+n,s=t.y+r,i>0?i=0:i<t.maxScrollX&&(i=t.maxScrollX),s>t.minScrollY?s=t.minScrollY:s<t.maxScrollY&&(s=t.maxScrollY),t.maxScrollY<0&&t.scrollTo(i,s,0)},_transitionEnd:function(e){var t=this;if(e.target!=t.scroller)return;t._unbind(T),t._startAni()},_startAni:function(){var e=this,t=e.x,r=e.y,i=Date.now(),s,o,u;if(e.animating)return;if(!e.steps.length){e._resetPos(400);return}s=e.steps.shift(),s.x==t&&s.y==r&&(s.time=0),e.animating=!0,e.moved=!0;if(e.options.useTransition){e._transitionTime(s.time),e._pos(s.x,s.y),e.animating=!1,s.time?e._bind(T):e._resetPos(0);return}u=function(){var a=Date.now(),f,l;if(a>=i+s.time){e._pos(s.x,s.y),e.animating=!1,e.options.onAnimationEnd&&e.options.onAnimationEnd.call(e),e._startAni();return}a=(a-i)/s.time-1,o=n.sqrt(1-a*a),f=(s.x-t)*o+t,l=(s.y-r)*o+r,e._pos(f,l),e.animating&&(e.aniTime=N(u))},u()},_transitionTime:function(e){e+="ms",this.scroller.style[a]=e,this.hScrollbar&&(this.hScrollbarIndicator.style[a]=e),this.vScrollbar&&(this.vScrollbarIndicator.style[a]=e)},_momentum:function(e,t,r,i,s){var o=6e-4,u=n.abs(e)/t,a=u*u/(2*o),f=0,l=0;return e>0&&a>r?(l=s/(6/(a/u*o)),r+=l,u=u*r/a,a=r):e<0&&a>i&&(l=s/(6/(a/u*o)),i+=l,u=u*i/a,a=i),a*=e<0?-1:1,f=u/o,{dist:a,time:n.round(f)}},_offset:function(e){var t=-e.offsetLeft,n=-e.offsetTop;while(e=e.offsetParent)t-=e.offsetLeft,n-=e.offsetTop;return e!=this.wrapper&&(t*=this.scale,n*=this.scale),{left:t,top:n}},_snap:function(e,t){var r=this,i,s,o,u,a,f;o=r.pagesX.length-1;for(i=0,s=r.pagesX.length;i<s;i++)if(e>=r.pagesX[i]){o=i;break}o==r.currPageX&&o>0&&r.dirX<0&&o--,e=r.pagesX[o],a=n.abs(e-r.pagesX[r.currPageX]),a=a?n.abs(r.x-e)/a*500:0,r.currPageX=o,o=r.pagesY.length-1;for(i=0;i<o;i++)if(t>=r.pagesY[i]){o=i;break}return o==r.currPageY&&o>0&&r.dirY<0&&o--,t=r.pagesY[o],f=n.abs(t-r.pagesY[r.currPageY]),f=f?n.abs(r.y-t)/f*500:0,r.currPageY=o,u=n.round(n.max(a,f))||200,{x:e,y:t,time:u}},_bind:function(e,t,n){(t||this.scroller).addEventListener(e,this,!!n)},_unbind:function(e,t,n){(t||this.scroller).removeEventListener(e,this,!!n)},destroy:function(){var t=this;t.scroller.style[o]="",t.hScrollbar=!1,t.vScrollbar=!1,t._scrollbar("h"),t._scrollbar("v"),t._unbind(b,e),t._unbind(w),t._unbind(E,e),t._unbind(S,e),t._unbind(x,e),t.options.hasTouch||(t._unbind("DOMMouseScroll"),t._unbind("mousewheel")),t.options.useTransition&&t._unbind(T),t.options.checkDOMChanges&&clearInterval(t.checkDOMTime),t.options.onDestroy&&t.options.onDestroy.call(t)},refresh:function(){var e=this,t,r,i,s,o=0,u=0;e.scale<e.options.zoomMin&&(e.scale=e.options.zoomMin),e.wrapperW=e.wrapper.clientWidth||1,e.wrapperH=e.wrapper.clientHeight||1,e.minScrollY=-e.options.topOffset||0,e.scrollerW=n.round(e.scroller.offsetWidth*e.scale),e.scrollerH=n.round((e.scroller.offsetHeight+e.minScrollY)*e.scale),e.maxScrollX=e.wrapperW-e.scrollerW,e.maxScrollY=e.wrapperH-e.scrollerH+e.minScrollY,e.dirX=0,e.dirY=0,e.options.onRefresh&&e.options.onRefresh.call(e),e.hScroll=e.options.hScroll&&e.maxScrollX<0,e.vScroll=e.options.vScroll&&(!e.options.bounceLock&&!e.hScroll||e.scrollerH>e.wrapperH),e.hScrollbar=e.hScroll&&e.options.hScrollbar,e.vScrollbar=e.vScroll&&e.options.vScrollbar&&e.scrollerH>e.wrapperH,t=e._offset(e.wrapper),e.wrapperOffsetLeft=-t.left,e.wrapperOffsetTop=-t.top;if(typeof e.options.snap=="string"){e.pagesX=[],e.pagesY=[],s=e.scroller.querySelectorAll(e.options.snap);for(r=0,i=s.length;r<i;r++)o=e._offset(s[r]),o.left+=e.wrapperOffsetLeft,o.top+=e.wrapperOffsetTop,e.pagesX[r]=o.left<e.maxScrollX?e.maxScrollX:o.left*e.scale,e.pagesY[r]=o.top<e.maxScrollY?e.maxScrollY:o.top*e.scale}else if(e.options.snap){e.pagesX=[];while(o>=e.maxScrollX)e.pagesX[u]=o,o-=e.wrapperW,u++;e.maxScrollX%e.wrapperW&&(e.pagesX[e.pagesX.length]=e.maxScrollX-e.pagesX[e.pagesX.length-1]+e.pagesX[e.pagesX.length-1]),o=0,u=0,e.pagesY=[];while(o>=e.maxScrollY)e.pagesY[u]=o,o-=e.wrapperH,u++;e.maxScrollY%e.wrapperH&&(e.pagesY[e.pagesY.length]=e.maxScrollY-e.pagesY[e.pagesY.length-1]+e.pagesY[e.pagesY.length-1])}e._scrollbar("h"),e._scrollbar("v"),e.zoomed||(e.scroller.style[a]="0",e._resetPos(400))},scrollTo:function(e,t,n,r){var i=this,s=e,o,u;i.stop(),s.length||(s=[{x:e,y:t,time:n,relative:r}]);for(o=0,u=s.length;o<u;o++)s[o].relative&&(s[o].x=i.x-s[o].x,s[o].y=i.y-s[o].y),i.steps.push({x:s[o].x,y:s[o].y,time:s[o].time||0});i._startAni()},scrollToElement:function(e,t){var r=this,i;e=e.nodeType?e:r.scroller.querySelector(e);if(!e)return;i=r._offset(e),i.left+=r.wrapperOffsetLeft,i.top+=r.wrapperOffsetTop,i.left=i.left>0?0:i.left<r.maxScrollX?r.maxScrollX:i.left,i.top=i.top>r.minScrollY?r.minScrollY:i.top<r.maxScrollY?r.maxScrollY:i.top,t=t===undefined?n.max(n.abs(i.left)*2,n.abs(i.top)*2):t,r.scrollTo(i.left,i.top,t)},scrollToPage:function(e,t,n){var r=this,i,s;n=n===undefined?400:n,r.options.onScrollStart&&r.options.onScrollStart.call(r),r.options.snap?(e=e=="next"?r.currPageX+1:e=="prev"?r.currPageX-1:e,t=t=="next"?r.currPageY+1:t=="prev"?r.currPageY-1:t,e=e<0?0:e>r.pagesX.length-1?r.pagesX.length-1:e,t=t<0?0:t>r.pagesY.length-1?r.pagesY.length-1:t,r.currPageX=e,r.currPageY=t,i=r.pagesX[e],s=r.pagesY[t]):(i=-r.wrapperW*e,s=-r.wrapperH*t,i<r.maxScrollX&&(i=r.maxScrollX),s<r.maxScrollY&&(s=r.maxScrollY)),r.scrollTo(i,s,n)},disable:function(){this.stop(),this._resetPos(0),this.enabled=!1,this._unbind(E,e),this._unbind(S,e),this._unbind(x,e)},enable:function(){this.enabled=!0},stop:function(){this.options.useTransition?this._unbind(T):C(this.aniTime),this.steps=[],this.moved=!1,this.animating=!1},zoom:function(e,t,n,r){var i=this,s=n/i.scale;if(!i.options.useTransform)return;i.zoomed=!0,r=r===undefined?200:r,e=e-i.wrapperOffsetLeft-i.x,t=t-i.wrapperOffsetTop-i.y,i.x=e-e*s+i.x,i.y=t-t*s+i.y,i.scale=n,i.refresh(),i.x=i.x>0?0:i.x<i.maxScrollX?i.maxScrollX:i.x,i.y=i.y>i.minScrollY?i.minScrollY:i.y<i.maxScrollY?i.maxScrollY:i.y,i.scroller.style[a]=r+"ms",i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px) scale("+n+")"+k,i.zoomed=!1},isReady:function(){return!this.moved&&!this.zoomed&&!this.animating}},r=null,typeof exports!="undefined"?exports.iScroll=L:e.iScroll=L})(window,document),function(e,t,n){t.addEventListener("DOMContentLoaded",function(){e.setTimeout(function(){skrollr.iscroll=new iScroll(t.body,{bounce:!1,useTransform:!1}),t.documentElement.style.overflow=t.body.style.overflow="hidden";var n=t.getElementById("skrollr-body");if(!n)throw"For mobile support skrollr needs a #skrollr-body element";n.style.cssText+="overflow:hidden;position:absolute;width:100%;",e.scroll(0,0)},200)},!1)}(window,document);
metadata CHANGED
@@ -1,387 +1,451 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flms
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.3
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kevin Goslar
8
+ - Robert Douglas
9
+ - Daniel Hawthorn
10
+ - Dan Burton
11
+ - Maxwell Elliott
9
12
  autorequire:
10
13
  bindir: bin
11
14
  cert_chain: []
12
- date: 2013-03-16 00:00:00.000000000 Z
15
+ date: 2013-06-10 00:00:00.000000000 Z
13
16
  dependencies:
14
17
  - !ruby/object:Gem::Dependency
15
18
  prerelease: false
19
+ name: rails
16
20
  version_requirements: !ruby/object:Gem::Requirement
17
21
  requirements:
18
22
  - - ~>
19
23
  - !ruby/object:Gem::Version
20
- version: 3.2.12
21
- none: false
22
- type: :runtime
23
- name: rails
24
+ version: 3.2.13
24
25
  requirement: !ruby/object:Gem::Requirement
25
26
  requirements:
26
27
  - - ~>
27
28
  - !ruby/object:Gem::Version
28
- version: 3.2.12
29
- none: false
29
+ version: 3.2.13
30
+ type: :runtime
30
31
  - !ruby/object:Gem::Dependency
31
32
  prerelease: false
33
+ name: cancan
32
34
  version_requirements: !ruby/object:Gem::Requirement
33
35
  requirements:
34
36
  - - ! '>='
35
37
  - !ruby/object:Gem::Version
36
38
  version: '0'
37
- none: false
38
- type: :runtime
39
- name: cancan
40
39
  requirement: !ruby/object:Gem::Requirement
41
40
  requirements:
42
41
  - - ! '>='
43
42
  - !ruby/object:Gem::Version
44
43
  version: '0'
45
- none: false
44
+ type: :runtime
46
45
  - !ruby/object:Gem::Dependency
47
46
  prerelease: false
47
+ name: carrierwave
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ! '>='
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
53
- none: false
54
- type: :runtime
55
- name: carrierwave
56
53
  requirement: !ruby/object:Gem::Requirement
57
54
  requirements:
58
55
  - - ! '>='
59
56
  - !ruby/object:Gem::Version
60
57
  version: '0'
61
- none: false
58
+ type: :runtime
62
59
  - !ruby/object:Gem::Dependency
63
60
  prerelease: false
61
+ name: coffee-rails
64
62
  version_requirements: !ruby/object:Gem::Requirement
65
63
  requirements:
66
64
  - - ! '>='
67
65
  - !ruby/object:Gem::Version
68
66
  version: '0'
69
- none: false
70
- type: :runtime
71
- name: coffee-rails
72
67
  requirement: !ruby/object:Gem::Requirement
73
68
  requirements:
74
69
  - - ! '>='
75
70
  - !ruby/object:Gem::Version
76
71
  version: '0'
77
- none: false
72
+ type: :runtime
78
73
  - !ruby/object:Gem::Dependency
79
74
  prerelease: false
75
+ name: devise
80
76
  version_requirements: !ruby/object:Gem::Requirement
81
77
  requirements:
82
78
  - - ! '>='
83
79
  - !ruby/object:Gem::Version
84
80
  version: '0'
85
- none: false
86
- type: :runtime
87
- name: devise
88
81
  requirement: !ruby/object:Gem::Requirement
89
82
  requirements:
90
83
  - - ! '>='
91
84
  - !ruby/object:Gem::Version
92
85
  version: '0'
93
- none: false
86
+ type: :runtime
94
87
  - !ruby/object:Gem::Dependency
95
88
  prerelease: false
89
+ name: fog
96
90
  version_requirements: !ruby/object:Gem::Requirement
97
91
  requirements:
98
92
  - - ! '>='
99
93
  - !ruby/object:Gem::Version
100
94
  version: '0'
101
- none: false
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
102
100
  type: :runtime
101
+ - !ruby/object:Gem::Dependency
102
+ prerelease: false
103
103
  name: haml-rails
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
104
109
  requirement: !ruby/object:Gem::Requirement
105
110
  requirements:
106
111
  - - ! '>='
107
112
  - !ruby/object:Gem::Version
108
113
  version: '0'
109
- none: false
114
+ type: :runtime
110
115
  - !ruby/object:Gem::Dependency
111
116
  prerelease: false
117
+ name: mini_magick
112
118
  version_requirements: !ruby/object:Gem::Requirement
113
119
  requirements:
114
120
  - - ! '>='
115
121
  - !ruby/object:Gem::Version
116
122
  version: '0'
117
- none: false
118
- type: :runtime
119
- name: modularity-rails
120
123
  requirement: !ruby/object:Gem::Requirement
121
124
  requirements:
122
125
  - - ! '>='
123
126
  - !ruby/object:Gem::Version
124
127
  version: '0'
125
- none: false
128
+ type: :runtime
126
129
  - !ruby/object:Gem::Dependency
127
130
  prerelease: false
131
+ name: modularity-rails
128
132
  version_requirements: !ruby/object:Gem::Requirement
129
133
  requirements:
130
134
  - - ! '>='
131
135
  - !ruby/object:Gem::Version
132
136
  version: '0'
133
- none: false
134
- type: :runtime
135
- name: sass-rails
136
137
  requirement: !ruby/object:Gem::Requirement
137
138
  requirements:
138
139
  - - ! '>='
139
140
  - !ruby/object:Gem::Version
140
141
  version: '0'
141
- none: false
142
+ type: :runtime
142
143
  - !ruby/object:Gem::Dependency
143
144
  prerelease: false
145
+ name: sass-rails
144
146
  version_requirements: !ruby/object:Gem::Requirement
145
147
  requirements:
146
148
  - - ! '>='
147
149
  - !ruby/object:Gem::Version
148
150
  version: '0'
149
- none: false
150
- type: :development
151
- name: capybara
152
151
  requirement: !ruby/object:Gem::Requirement
153
152
  requirements:
154
153
  - - ! '>='
155
154
  - !ruby/object:Gem::Version
156
155
  version: '0'
157
- none: false
156
+ type: :runtime
158
157
  - !ruby/object:Gem::Dependency
159
158
  prerelease: false
159
+ name: capybara
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
162
  - - ! '>='
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
- none: false
166
- type: :development
167
- name: database_cleaner
168
165
  requirement: !ruby/object:Gem::Requirement
169
166
  requirements:
170
167
  - - ! '>='
171
168
  - !ruby/object:Gem::Version
172
169
  version: '0'
173
- none: false
170
+ type: :development
174
171
  - !ruby/object:Gem::Dependency
175
172
  prerelease: false
173
+ name: database_cleaner
176
174
  version_requirements: !ruby/object:Gem::Requirement
177
175
  requirements:
178
176
  - - ! '>='
179
177
  - !ruby/object:Gem::Version
180
178
  version: '0'
181
- none: false
182
- type: :development
183
- name: factory_girl
184
179
  requirement: !ruby/object:Gem::Requirement
185
180
  requirements:
186
181
  - - ! '>='
187
182
  - !ruby/object:Gem::Version
188
183
  version: '0'
189
- none: false
184
+ type: :development
190
185
  - !ruby/object:Gem::Dependency
191
186
  prerelease: false
187
+ name: factory_girl
192
188
  version_requirements: !ruby/object:Gem::Requirement
193
189
  requirements:
194
190
  - - ! '>='
195
191
  - !ruby/object:Gem::Version
196
192
  version: '0'
197
- none: false
198
- type: :development
199
- name: factory_girl_rails
200
193
  requirement: !ruby/object:Gem::Requirement
201
194
  requirements:
202
195
  - - ! '>='
203
196
  - !ruby/object:Gem::Version
204
197
  version: '0'
205
- none: false
198
+ type: :development
206
199
  - !ruby/object:Gem::Dependency
207
200
  prerelease: false
201
+ name: factory_girl_rails
208
202
  version_requirements: !ruby/object:Gem::Requirement
209
203
  requirements:
210
204
  - - ! '>='
211
205
  - !ruby/object:Gem::Version
212
206
  version: '0'
213
- none: false
214
- type: :development
215
- name: faker
216
207
  requirement: !ruby/object:Gem::Requirement
217
208
  requirements:
218
209
  - - ! '>='
219
210
  - !ruby/object:Gem::Version
220
211
  version: '0'
221
- none: false
212
+ type: :development
222
213
  - !ruby/object:Gem::Dependency
223
214
  prerelease: false
215
+ name: faker
224
216
  version_requirements: !ruby/object:Gem::Requirement
225
217
  requirements:
226
218
  - - ! '>='
227
219
  - !ruby/object:Gem::Version
228
220
  version: '0'
229
- none: false
230
- type: :development
231
- name: guard-rspec
232
221
  requirement: !ruby/object:Gem::Requirement
233
222
  requirements:
234
223
  - - ! '>='
235
224
  - !ruby/object:Gem::Version
236
225
  version: '0'
237
- none: false
226
+ type: :development
238
227
  - !ruby/object:Gem::Dependency
239
228
  prerelease: false
229
+ name: guard-rspec
240
230
  version_requirements: !ruby/object:Gem::Requirement
241
231
  requirements:
242
232
  - - ! '>='
243
233
  - !ruby/object:Gem::Version
244
234
  version: '0'
245
- none: false
246
- type: :development
247
- name: jquery-rails
248
235
  requirement: !ruby/object:Gem::Requirement
249
236
  requirements:
250
237
  - - ! '>='
251
238
  - !ruby/object:Gem::Version
252
239
  version: '0'
253
- none: false
240
+ type: :development
254
241
  - !ruby/object:Gem::Dependency
255
242
  prerelease: false
243
+ name: jquery-rails
256
244
  version_requirements: !ruby/object:Gem::Requirement
257
245
  requirements:
258
246
  - - ! '>='
259
247
  - !ruby/object:Gem::Version
260
248
  version: '0'
261
- none: false
262
- type: :development
263
- name: poltergeist
264
249
  requirement: !ruby/object:Gem::Requirement
265
250
  requirements:
266
251
  - - ! '>='
267
252
  - !ruby/object:Gem::Version
268
253
  version: '0'
269
- none: false
254
+ type: :development
270
255
  - !ruby/object:Gem::Dependency
271
256
  prerelease: false
257
+ name: poltergeist
272
258
  version_requirements: !ruby/object:Gem::Requirement
273
259
  requirements:
274
260
  - - ! '>='
275
261
  - !ruby/object:Gem::Version
276
262
  version: '0'
277
- none: false
278
- type: :development
279
- name: rb-fsevent
280
263
  requirement: !ruby/object:Gem::Requirement
281
264
  requirements:
282
265
  - - ! '>='
283
266
  - !ruby/object:Gem::Version
284
267
  version: '0'
285
- none: false
268
+ type: :development
286
269
  - !ruby/object:Gem::Dependency
287
270
  prerelease: false
271
+ name: rb-fsevent
288
272
  version_requirements: !ruby/object:Gem::Requirement
289
273
  requirements:
290
274
  - - ! '>='
291
275
  - !ruby/object:Gem::Version
292
276
  version: '0'
293
- none: false
277
+ requirement: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ! '>='
280
+ - !ruby/object:Gem::Version
281
+ version: '0'
294
282
  type: :development
283
+ - !ruby/object:Gem::Dependency
284
+ prerelease: false
295
285
  name: rspec-rails
286
+ version_requirements: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ! '>='
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
296
291
  requirement: !ruby/object:Gem::Requirement
297
292
  requirements:
298
293
  - - ! '>='
299
294
  - !ruby/object:Gem::Version
300
295
  version: '0'
301
- none: false
296
+ type: :development
302
297
  - !ruby/object:Gem::Dependency
303
298
  prerelease: false
299
+ name: selenium-webdriver
304
300
  version_requirements: !ruby/object:Gem::Requirement
305
301
  requirements:
306
302
  - - ! '>='
307
303
  - !ruby/object:Gem::Version
308
304
  version: '0'
309
- none: false
305
+ requirement: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ! '>='
308
+ - !ruby/object:Gem::Version
309
+ version: '0'
310
310
  type: :development
311
+ - !ruby/object:Gem::Dependency
312
+ prerelease: false
311
313
  name: sqlite3
314
+ version_requirements: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - ! '>='
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
312
319
  requirement: !ruby/object:Gem::Requirement
313
320
  requirements:
314
321
  - - ! '>='
315
322
  - !ruby/object:Gem::Version
316
323
  version: '0'
317
- none: false
324
+ type: :development
318
325
  description: A CMS for web pages that use interactive layers to present animated content.
319
326
  email:
320
327
  - kevin.goslar@originate.com
328
+ - rob.douglas@originate.com
329
+ - daniel.hawthorn@originate.com
330
+ - dan.burton@originate.com
331
+ - maxwell.elliott@originate.com
321
332
  executables: []
322
333
  extensions: []
323
334
  extra_rdoc_files: []
324
335
  files:
336
+ - app/assets/javascripts/flms/admin/bootstrap.js
337
+ - app/assets/javascripts/flms/admin/layout.coffee
338
+ - app/assets/javascripts/flms/admin/pages/edit/block.coffee
339
+ - app/assets/javascripts/flms/admin/pages/edit/block_list.coffee
340
+ - app/assets/javascripts/flms/admin/pages/edit/edit.coffee
325
341
  - app/assets/javascripts/flms/admin.js
326
- - app/assets/javascripts/flms/blocks/index/block.coffee
327
- - app/assets/javascripts/flms/blocks/index/block_list.coffee
328
- - app/assets/javascripts/flms/blocks/index/index.coffee
329
- - app/assets/javascripts/flms/bootstrap.js
330
- - app/assets/javascripts/flms/layout.coffee
342
+ - app/assets/javascripts/flms/public.js
343
+ - app/assets/stylesheets/flms/admin/blocks/show.sass
344
+ - app/assets/stylesheets/flms/admin/home.sass
345
+ - app/assets/stylesheets/flms/admin/layers/form.sass
346
+ - app/assets/stylesheets/flms/admin/layout.sass
347
+ - app/assets/stylesheets/flms/admin/login.sass
348
+ - app/assets/stylesheets/flms/admin/pages/edit.sass
331
349
  - app/assets/stylesheets/flms/admin.css
332
- - app/assets/stylesheets/flms/blocks/index.sass
333
- - app/assets/stylesheets/flms/blocks/show.sass
334
- - app/assets/stylesheets/flms/home.sass
335
- - app/assets/stylesheets/flms/layout.sass
336
- - app/assets/stylesheets/flms/login.sass
350
+ - app/assets/stylesheets/flms/public/public.sass
351
+ - app/assets/stylesheets/flms/public.css
352
+ - app/controllers/flms/abstract_layer_controller.rb
337
353
  - app/controllers/flms/admin_controller.rb
354
+ - app/controllers/flms/animation_layers_controller.rb
338
355
  - app/controllers/flms/application_controller.rb
339
356
  - app/controllers/flms/blocks_controller.rb
340
357
  - app/controllers/flms/dashboard_controller.rb
358
+ - app/controllers/flms/embed_layers_controller.rb
341
359
  - app/controllers/flms/image_layers_controller.rb
342
360
  - app/controllers/flms/layers_controller.rb
343
361
  - app/controllers/flms/pages_controller.rb
362
+ - app/controllers/flms/paragraph_layers_controller.rb
344
363
  - app/controllers/flms/sessions_controller.rb
364
+ - app/controllers/flms/text_layers_controller.rb
345
365
  - app/controllers/flms/users_controller.rb
346
366
  - app/helpers/flms/application_helper.rb
367
+ - app/models/flms/animation_layer.rb
347
368
  - app/models/flms/block.rb
348
369
  - app/models/flms/blocks_page.rb
370
+ - app/models/flms/embed_layer.rb
371
+ - app/models/flms/end_state_keyframe.rb
349
372
  - app/models/flms/image_layer.rb
373
+ - app/models/flms/keyframe.rb
350
374
  - app/models/flms/layer.rb
351
375
  - app/models/flms/page.rb
376
+ - app/models/flms/paragraph_layer.rb
377
+ - app/models/flms/start_state_keyframe.rb
378
+ - app/models/flms/target_state_keyframe.rb
379
+ - app/models/flms/text_layer.rb
352
380
  - app/models/flms/user.rb
353
381
  - app/uploaders/image_uploader.rb
382
+ - app/uploaders/thumbnail_image_uploader.rb
383
+ - app/view_objects/flms/animation_layer_view_object.rb
384
+ - app/view_objects/flms/embed_layer_view_object.rb
385
+ - app/view_objects/flms/image_layer_view_object.rb
386
+ - app/view_objects/flms/keyframe_view_object.rb
387
+ - app/view_objects/flms/layer_view_object.rb
388
+ - app/view_objects/flms/paragraph_layer_view_object.rb
389
+ - app/view_objects/flms/text_layer_view_object.rb
390
+ - app/views/flms/animation_layers/_form.html.haml
391
+ - app/views/flms/animation_layers/edit.html.haml
392
+ - app/views/flms/animation_layers/new.html.haml
354
393
  - app/views/flms/blocks/_form.html.haml
355
394
  - app/views/flms/blocks/edit.html.haml
356
395
  - app/views/flms/blocks/index.html.haml
357
396
  - app/views/flms/blocks/new.html.haml
358
397
  - app/views/flms/blocks/show.html.haml
359
398
  - app/views/flms/dashboard/index.html.haml
399
+ - app/views/flms/elements/_animation_layer.html.haml
400
+ - app/views/flms/elements/_block.html.haml
401
+ - app/views/flms/elements/_embed_layer.html.haml
402
+ - app/views/flms/elements/_image_layer.html.haml
403
+ - app/views/flms/elements/_page.html.haml
404
+ - app/views/flms/elements/_paragraph_layer.html.haml
405
+ - app/views/flms/elements/_text_layer.html.haml
406
+ - app/views/flms/embed_layers/_form.html.haml
407
+ - app/views/flms/embed_layers/edit.html.haml
408
+ - app/views/flms/embed_layers/new.html.haml
360
409
  - app/views/flms/image_layers/_form.html.haml
361
410
  - app/views/flms/image_layers/edit.html.haml
362
411
  - app/views/flms/image_layers/new.html.haml
412
+ - app/views/flms/layers/_common_fields.html.haml
413
+ - app/views/flms/layers/_keyframe_fields.html.haml
414
+ - app/views/flms/pages/_add_block.html.haml
415
+ - app/views/flms/pages/_block_list.html.haml
363
416
  - app/views/flms/pages/_form.html.haml
364
417
  - app/views/flms/pages/edit.html.haml
365
418
  - app/views/flms/pages/index.html.haml
366
419
  - app/views/flms/pages/new.html.haml
367
420
  - app/views/flms/pages/show.html.haml
421
+ - app/views/flms/paragraph_layers/_form.html.haml
422
+ - app/views/flms/paragraph_layers/edit.html.haml
423
+ - app/views/flms/paragraph_layers/new.html.haml
368
424
  - app/views/flms/sessions/new.html.haml
425
+ - app/views/flms/text_layers/_form.html.haml
426
+ - app/views/flms/text_layers/edit.html.haml
427
+ - app/views/flms/text_layers/new.html.haml
369
428
  - app/views/flms/users/_form.html.haml
370
429
  - app/views/flms/users/index.html.haml
371
430
  - app/views/flms/users/new.html.haml
431
+ - app/views/layouts/flms/_plain_styling.html.haml
372
432
  - app/views/layouts/flms/admin.html.haml
373
433
  - app/views/layouts/flms/admin_login.html.haml
374
- - app/views/layouts/flms/application.html.erb
434
+ - app/views/layouts/flms/public.html.haml
375
435
  - config/initializers/carrierwave.rb
376
436
  - config/initializers/devise.rb
437
+ - config/initializers/mime_types.rb
438
+ - config/initializers/validators.rb
377
439
  - config/locales/devise.en.yml
378
440
  - config/routes.rb
441
+ - config/s3.yml.example
379
442
  - db/migrate/20130208224914_flms_devise_create_users.rb
380
443
  - db/migrate/20130216032241_flms_create_pages.rb
381
- - db/migrate/20130302011705_create_flms_blocks.rb
382
- - db/migrate/20130302015459_create_flms_blocks_pages.rb
383
- - db/migrate/20130312220011_create_flms_layers.rb
384
- - db/migrate/20130313002421_add_image_to_layers.rb
444
+ - db/migrate/20130302011705_flms_create_blocks.rb
445
+ - db/migrate/20130302015459_flms_create_blocks_pages.rb
446
+ - db/migrate/20130312220011_flms_create_layers.rb
447
+ - db/migrate/20130327183815_flms_create_keyframes.rb
448
+ - lib/flms/css_name_validator.rb
385
449
  - lib/flms/engine.rb
386
450
  - lib/flms/version.rb
387
451
  - lib/flms.rb
@@ -389,17 +453,29 @@ files:
389
453
  - vendor/assets/images/glyphicons-halflings-white.png
390
454
  - vendor/assets/images/glyphicons-halflings.png
391
455
  - vendor/assets/javascripts/bootstrapSwitch.js
456
+ - vendor/assets/javascripts/jquery-1.8.3.min.js
392
457
  - vendor/assets/javascripts/jquery-ui.js
458
+ - vendor/assets/javascripts/jquery.easing.1.3.js
459
+ - vendor/assets/javascripts/jquery.quicksand.js
460
+ - vendor/assets/javascripts/scroll-startstop.events.jquery.js
461
+ - vendor/assets/javascripts/skrollr.ie.min.js
462
+ - vendor/assets/javascripts/skrollr.min.js
463
+ - vendor/assets/javascripts/skrollr.mobile.min.js
393
464
  - vendor/assets/stylesheets/bootstrap.css
394
465
  - vendor/assets/stylesheets/bootstrapSwitch.css
395
466
  - vendor/assets/stylesheets/jquery-ui.css
396
467
  - MIT-LICENSE
397
468
  - Rakefile
398
469
  - README.md
470
+ - spec/controllers/animation_layers_controller_spec.rb
399
471
  - spec/controllers/blocks_controller_spec.rb
400
472
  - spec/controllers/dashboard_controller_spec.rb
473
+ - spec/controllers/embed_layers_controller_spec.rb
474
+ - spec/controllers/image_layers_controller_spec.rb
401
475
  - spec/controllers/layers_controller_spec.rb
402
476
  - spec/controllers/pages_controller_spec.rb
477
+ - spec/controllers/paragraph_layers_controller_spec.rb
478
+ - spec/controllers/text_layers_controller_spec.rb
403
479
  - spec/controllers/users_controller_spec.rb
404
480
  - spec/dummy/app/assets/javascripts/application.js
405
481
  - spec/dummy/app/assets/stylesheets/application.css
@@ -426,6 +502,8 @@ files:
426
502
  - spec/dummy/config/initializers/wrap_parameters.rb
427
503
  - spec/dummy/config/locales/en.yml
428
504
  - spec/dummy/config/routes.rb
505
+ - spec/dummy/config/s3.yml
506
+ - spec/dummy/config/s3.yml.example
429
507
  - spec/dummy/config.ru
430
508
  - spec/dummy/db/development.sqlite3
431
509
  - spec/dummy/db/production.sqlite3
@@ -438,119 +516,436 @@ files:
438
516
  - spec/dummy/public/422.html
439
517
  - spec/dummy/public/500.html
440
518
  - spec/dummy/public/favicon.ico
519
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/normal_placeholder.png
520
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/placeholder.png
521
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/small_placeholder.png
522
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/thumb_placeholder.png
523
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/normal_placeholder.png
524
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/placeholder.png
525
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/small_placeholder.png
526
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/thumb_placeholder.png
527
+ - spec/dummy/public/uploads/flms/block/thumbnail/1/placeholder.png
528
+ - spec/dummy/public/uploads/flms/block/thumbnail/1/small_placeholder.png
529
+ - spec/dummy/public/uploads/flms/block/thumbnail/1/thumb_placeholder.png
530
+ - spec/dummy/public/uploads/flms/image_layer/image/1/normal_placeholder.png
531
+ - spec/dummy/public/uploads/flms/image_layer/image/1/placeholder.png
532
+ - spec/dummy/public/uploads/flms/image_layer/image/1/small_placeholder.png
533
+ - spec/dummy/public/uploads/flms/image_layer/image/1/thumb_placeholder.png
534
+ - spec/dummy/public/uploads/flms/image_layer/image/2/normal_placeholder.png
535
+ - spec/dummy/public/uploads/flms/image_layer/image/2/placeholder.png
536
+ - spec/dummy/public/uploads/flms/image_layer/image/2/small_placeholder.png
537
+ - spec/dummy/public/uploads/flms/image_layer/image/2/thumb_placeholder.png
538
+ - spec/dummy/public/uploads/flms/image_layer/image/3/normal_placeholder.png
539
+ - spec/dummy/public/uploads/flms/image_layer/image/3/placeholder.png
540
+ - spec/dummy/public/uploads/flms/image_layer/image/3/small_placeholder.png
541
+ - spec/dummy/public/uploads/flms/image_layer/image/3/thumb_placeholder.png
441
542
  - spec/dummy/Rakefile
442
543
  - spec/dummy/script/rails
443
544
  - spec/dummy/tmp/cache/assets/C4C/010/sprockets%2F74558ebf3d0666286090250c04b945a1
545
+ - spec/dummy/tmp/cache/assets/C4C/7C0/sprockets%2F829fa8a51f2e2266774e2007d7141414
546
+ - spec/dummy/tmp/cache/assets/C57/C80/sprockets%2F74f66b30036f872b250553c91f2981d8
547
+ - spec/dummy/tmp/cache/assets/C59/520/sprockets%2Ff2296184148079d68a35d80635c702fc
548
+ - spec/dummy/tmp/cache/assets/C62/B80/sprockets%2Fe2573350e6996f3f19f06c03687339d2
444
549
  - spec/dummy/tmp/cache/assets/C84/200/sprockets%2F6d5671bc22b630f45761e90488b3a909
550
+ - spec/dummy/tmp/cache/assets/C86/490/sprockets%2F196ee25088eb975920380e3b5fd22325
551
+ - spec/dummy/tmp/cache/assets/C86/F40/sprockets%2Fb9924512ef3de6aa72460258706865e2
445
552
  - spec/dummy/tmp/cache/assets/C8A/F50/sprockets%2F604b0fb8ee1c08f9036750897c890831
553
+ - spec/dummy/tmp/cache/assets/CA7/AB0/sprockets%2F88f069985c1ffca86f6394209656964c
446
554
  - spec/dummy/tmp/cache/assets/CA9/AC0/sprockets%2F2f3e0ad16e81532007e094c081594f7e
555
+ - spec/dummy/tmp/cache/assets/CA9/F00/sprockets%2F289543b9c4d5ea08789000ce30a95c00
447
556
  - spec/dummy/tmp/cache/assets/CAB/C80/sprockets%2Fc4e739111d82c7189113aeb228816ba8
557
+ - spec/dummy/tmp/cache/assets/CB0/330/sprockets%2F228e5f742b01972dc6ce664713264d3c
448
558
  - spec/dummy/tmp/cache/assets/CB3/E00/sprockets%2F97a8391a80361fb1870669c06a27ae5c
449
559
  - spec/dummy/tmp/cache/assets/CBC/250/sprockets%2F1b2102711103acac21fe74936046ddb4
560
+ - spec/dummy/tmp/cache/assets/CC9/C00/sprockets%2F454c58b0a3b0a0a64fd60bb217197580
450
561
  - spec/dummy/tmp/cache/assets/CCF/210/sprockets%2F43b5c2ffc8a62726b4ed6234001571a4
451
562
  - spec/dummy/tmp/cache/assets/CD0/D40/sprockets%2F7e3d7254f3137e2108220770b3dd1bfc
452
563
  - spec/dummy/tmp/cache/assets/CD1/8F0/sprockets%2F4032f7a5b2133a8b8f963e12fd6120c5
564
+ - spec/dummy/tmp/cache/assets/CD7/000/sprockets%2Ff6534fbac7e738c013414d148211bd95
453
565
  - spec/dummy/tmp/cache/assets/CD9/360/sprockets%2F057bf14a58d60283276e83db123f4fa3
454
566
  - spec/dummy/tmp/cache/assets/CD9/AA0/sprockets%2F80c500e462b3e91b00f48609b56ff91b
455
567
  - spec/dummy/tmp/cache/assets/CDB/510/sprockets%2Fd61745a24c4636f8813fa14038bac69a
568
+ - spec/dummy/tmp/cache/assets/CDD/640/sprockets%2F557bde539a95020fd557e11f813242fa
569
+ - spec/dummy/tmp/cache/assets/CDF/200/sprockets%2F9b251cfabb019f79e706200499d623c6
570
+ - spec/dummy/tmp/cache/assets/CE0/420/sprockets%2F5b3f22c66d8a269533a5689c1be5c800
571
+ - spec/dummy/tmp/cache/assets/CEE/C10/sprockets%2F39310232adc120c16210bdc84184fdaf
572
+ - spec/dummy/tmp/cache/assets/D02/F10/sprockets%2Fd10499187b5f8d8d85769775d1ecb7c7
456
573
  - spec/dummy/tmp/cache/assets/D06/AF0/sprockets%2F02a9a4f214368781ba86ed42d5bef203
574
+ - spec/dummy/tmp/cache/assets/D07/A50/sprockets%2Fdda362e83c229c06b2bb63686e273d13
457
575
  - spec/dummy/tmp/cache/assets/D09/5C0/sprockets%2F7cd3521c63623eb6f02dbb514991a6f6
576
+ - spec/dummy/tmp/cache/assets/D09/7C0/sprockets%2F892c677abcf22a046a610427fa29d4b7
458
577
  - spec/dummy/tmp/cache/assets/D0B/0C0/sprockets%2Fb2722b54d89845b9619cadda1a04158c
459
578
  - spec/dummy/tmp/cache/assets/D0C/570/sprockets%2F7e3d63e1412ae56b44b23d95547f0cc7
579
+ - spec/dummy/tmp/cache/assets/D11/9D0/sprockets%2F87436354c263adb7b069d7b3d19ace18
580
+ - spec/dummy/tmp/cache/assets/D15/6F0/sprockets%2F32e2b26b766ac7fb86d0c7062c976c29
460
581
  - spec/dummy/tmp/cache/assets/D17/6B0/sprockets%2F43a81531e358ce9bb7af8417c875d63a
461
582
  - spec/dummy/tmp/cache/assets/D18/9C0/sprockets%2Ff92d239ff629c160ee015e3845a6c9c3
583
+ - spec/dummy/tmp/cache/assets/D18/DF0/sprockets%2F8d53dfef1f06c56f73026d82f29322a9
462
584
  - spec/dummy/tmp/cache/assets/D19/060/sprockets%2F4be3ef7d038e55cffc27166271638f60
463
585
  - spec/dummy/tmp/cache/assets/D1A/3F0/sprockets%2F84181c4b293f3a1c4efe9226652f9e6e
586
+ - spec/dummy/tmp/cache/assets/D1C/E30/sprockets%2F605ce82d89dce653d672485b9c1c52f1
464
587
  - spec/dummy/tmp/cache/assets/D1E/190/sprockets%2Ff4d68b867965b6cb8d21aea19a053993
588
+ - spec/dummy/tmp/cache/assets/D1E/1D0/sprockets%2Ffeec495723d877b92c74db2055516bc9
465
589
  - spec/dummy/tmp/cache/assets/D20/050/sprockets%2F9a286a605e66598f88191e2aa6bd72dd
590
+ - spec/dummy/tmp/cache/assets/D22/660/sprockets%2F43f26c23b8ddf974767ca6f67b6530f6
591
+ - spec/dummy/tmp/cache/assets/D24/E10/sprockets%2Fd9032b251e778acab41d4639b003a1ca
592
+ - spec/dummy/tmp/cache/assets/D25/A70/sprockets%2Fb7d53812242f41eafe2dc223317db30a
593
+ - spec/dummy/tmp/cache/assets/D2D/190/sprockets%2Fcea5d014c171b7a836113bb9b0f9f712
466
594
  - spec/dummy/tmp/cache/assets/D2E/130/sprockets%2F5ebb788f274dd034257c0bc0400fae50
467
595
  - spec/dummy/tmp/cache/assets/D2E/F10/sprockets%2F156bfd6b405a129f5f003243cf60aea9
468
596
  - spec/dummy/tmp/cache/assets/D30/FA0/sprockets%2Fb9d61dc7d19024512c0bdb72391d9bb2
469
597
  - spec/dummy/tmp/cache/assets/D3B/440/sprockets%2Fabe31f236167ba051f6ff849d0a7282f
470
598
  - spec/dummy/tmp/cache/assets/D3B/550/sprockets%2Fb61caf9834ac8c31691851ac024f26ef
599
+ - spec/dummy/tmp/cache/assets/D3B/980/sprockets%2Ff0e607eb6489ed61f27a5233cae0172e
600
+ - spec/dummy/tmp/cache/assets/D3B/A90/sprockets%2F3a9f74af10313e521d21dc4d78b4f9b9
471
601
  - spec/dummy/tmp/cache/assets/D44/A50/sprockets%2F7602cd388554ba54eb914c1b2d7ff68c
472
602
  - spec/dummy/tmp/cache/assets/D45/CC0/sprockets%2F741e31abcfe889c718bfa7ee58080305
473
603
  - spec/dummy/tmp/cache/assets/D46/210/sprockets%2F45a8d49c8edbaf91f38ab1495430384c
604
+ - spec/dummy/tmp/cache/assets/D48/DD0/sprockets%2F75d43fac4136d1bbabf481f977b78637
605
+ - spec/dummy/tmp/cache/assets/D4A/B40/sprockets%2F509d2dc1350975d781c50dffc58ef53f
606
+ - spec/dummy/tmp/cache/assets/D4B/D10/sprockets%2F76e4e1fa5d891fe2261834cf322f38ef
474
607
  - spec/dummy/tmp/cache/assets/D4C/DB0/sprockets%2F18810d4978693cfac8703a96dccbcf80
475
608
  - spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
476
609
  - spec/dummy/tmp/cache/assets/D50/0B0/sprockets%2F6c3a019b7442761786cc7bef8e8e7c6c
477
610
  - spec/dummy/tmp/cache/assets/D53/F80/sprockets%2F11d791b713f9b9cf2bb85bd7f6589b84
611
+ - spec/dummy/tmp/cache/assets/D54/BA0/sprockets%2F89de5abea3b3002f6e73210bb7a3c330
478
612
  - spec/dummy/tmp/cache/assets/D54/DE0/sprockets%2F77af3e306bb966f71f83e90e2a8868db
479
613
  - spec/dummy/tmp/cache/assets/D5B/1F0/sprockets%2F4d98e747aa4bb9fc8859f49a45159e1c
480
614
  - spec/dummy/tmp/cache/assets/D64/D10/sprockets%2F9857068018fbac51ecd0a7510bcca55e
481
615
  - spec/dummy/tmp/cache/assets/D66/8E0/sprockets%2F0cbda18dbb9e414ed0bf1199358e1742
482
616
  - spec/dummy/tmp/cache/assets/D67/480/sprockets%2Fd7dc8cc56f98d1314c3d2ca9c422c104
617
+ - spec/dummy/tmp/cache/assets/D6D/150/sprockets%2Fe84b6e0602e1c5218c9da9d46da4d74b
483
618
  - spec/dummy/tmp/cache/assets/D6E/870/sprockets%2F3f77e0b5396013fd145a6fdd21bc9b7f
484
619
  - spec/dummy/tmp/cache/assets/D71/2D0/sprockets%2F958685af3478f12a33ffaa5cfa26e0d1
485
620
  - spec/dummy/tmp/cache/assets/D77/D80/sprockets%2F7ad794c63274a9812dfbabc1dae69692
486
621
  - spec/dummy/tmp/cache/assets/D79/DE0/sprockets%2F9e7131d002f39be972e9918bdfbbcc66
487
622
  - spec/dummy/tmp/cache/assets/D7C/3A0/sprockets%2Fec63717067efd6b2daf3423edf70f689
623
+ - spec/dummy/tmp/cache/assets/D7D/BB0/sprockets%2Fe66f1c4ba6885a4d1de08c3d81f991d9
624
+ - spec/dummy/tmp/cache/assets/D81/1D0/sprockets%2F9f446f7e8b3c18c6f7b636b71a8ba8d4
488
625
  - spec/dummy/tmp/cache/assets/D81/400/sprockets%2F566656e2cc9e698b1dbbd56d6e2e6b36
626
+ - spec/dummy/tmp/cache/assets/D8C/DE0/sprockets%2Fb95e7d75de89e1285d0e6ef8d85cb508
489
627
  - spec/dummy/tmp/cache/assets/D91/320/sprockets%2F322e2344c1fc1234ffd9b3142eecaf6f
628
+ - spec/dummy/tmp/cache/assets/D92/9B0/sprockets%2F96f73ad8237fa0a4bb3aa8cbe083551a
490
629
  - spec/dummy/tmp/cache/assets/D93/0C0/sprockets%2Fab900c084c9c51c312ee3457cee8cdc2
491
630
  - spec/dummy/tmp/cache/assets/D93/3F0/sprockets%2Fb6aecc2fe36010208fc8c4cc9e04672c
492
631
  - spec/dummy/tmp/cache/assets/D97/1B0/sprockets%2Fe0ae6a22a963d0e0819ce6436eb57cae
493
632
  - spec/dummy/tmp/cache/assets/D98/FD0/sprockets%2F6f253bd2bf824ac38c69bfe1418a04be
494
633
  - spec/dummy/tmp/cache/assets/D99/CF0/sprockets%2F015b5a48fa7906d045fc23db8a60feef
634
+ - spec/dummy/tmp/cache/assets/D9A/820/sprockets%2F594caa19e550457af23ae9fba500a9fe
635
+ - spec/dummy/tmp/cache/assets/D9E/220/sprockets%2Fd129fcf804e89814c2f4abbe0336cba9
636
+ - spec/dummy/tmp/cache/assets/D9E/8D0/sprockets%2F2ae41880ba1dbb6f570fe0e790678dbf
637
+ - spec/dummy/tmp/cache/assets/D9E/A30/sprockets%2Fc82d9ee0ea1a5360faa296957c2bf17e
638
+ - spec/dummy/tmp/cache/assets/DA0/C20/sprockets%2Fe1a590abeca61529529de36efa97b43e
495
639
  - spec/dummy/tmp/cache/assets/DA2/330/sprockets%2F27697dddd23a0913339ccb95dabd7ae7
496
640
  - spec/dummy/tmp/cache/assets/DA3/920/sprockets%2F6c45b9f8e0152c78b3c9be1c2e8be53c
641
+ - spec/dummy/tmp/cache/assets/DA5/3A0/sprockets%2Fa02e5a4a95bb7c92ec5b63f908eff870
497
642
  - spec/dummy/tmp/cache/assets/DA5/BC0/sprockets%2F5b86068a872e5bd841750d6cbd2dfdbf
643
+ - spec/dummy/tmp/cache/assets/DA6/360/sprockets%2F1d7b3df8a061fd27e6a956bfd84a93f1
644
+ - spec/dummy/tmp/cache/assets/DA6/A10/sprockets%2Fd226de7dc43ae36657be35fb6e31db89
498
645
  - spec/dummy/tmp/cache/assets/DA8/4A0/sprockets%2Ff8ba39d58ace11df624bf7e24c7b5882
499
646
  - spec/dummy/tmp/cache/assets/DA8/C30/sprockets%2Fb7d14d588a70a56d7ddac542eef557d6
500
647
  - spec/dummy/tmp/cache/assets/DA9/370/sprockets%2Fdf257d496b11ea9c1bb7ee139d68c83e
501
648
  - spec/dummy/tmp/cache/assets/DAC/D80/sprockets%2Fb8ca14c15e0301b935aaaef327bdc40a
649
+ - spec/dummy/tmp/cache/assets/DAE/680/sprockets%2Fcd28d437e7fc959fe1e328bca40f5e74
650
+ - spec/dummy/tmp/cache/assets/DB2/1F0/sprockets%2F9fe57997f92efbee3b03df4510a2df57
502
651
  - spec/dummy/tmp/cache/assets/DB6/C30/sprockets%2F377ff9998fde36fcace7c7419ba8b301
503
652
  - spec/dummy/tmp/cache/assets/DB8/C30/sprockets%2Fca860af2d10e0c745b6e38b12dabe05f
504
653
  - spec/dummy/tmp/cache/assets/DBF/630/sprockets%2F8423ad7ae72b0bc6baeac10405389fdf
505
654
  - spec/dummy/tmp/cache/assets/DC1/530/sprockets%2F4db0b289eee7dad03453a5924c20dcfa
655
+ - spec/dummy/tmp/cache/assets/DC2/BA0/sprockets%2Feb1b52f8e6baba5409e0e09c3cc70e45
506
656
  - spec/dummy/tmp/cache/assets/DC6/7D0/sprockets%2Ff7689ac5fafbf683c537892e6ff7f8c3
507
657
  - spec/dummy/tmp/cache/assets/DCC/B80/sprockets%2Fb7ae6e7bfa8984c54a4dfaf0011617cd
508
658
  - spec/dummy/tmp/cache/assets/DCF/0B0/sprockets%2F23db7ab96a5549546bbdd0bc2e6ea86f
659
+ - spec/dummy/tmp/cache/assets/DD0/EE0/sprockets%2F4b34c7c215efccbeaf495ee4715734fb
509
660
  - spec/dummy/tmp/cache/assets/DD4/990/sprockets%2F8dc6b77dc74dfdf830aa8f19b92c130d
661
+ - spec/dummy/tmp/cache/assets/DD7/FC0/sprockets%2Fdee985ae48773ae9b4fc4dd0b85ce201
662
+ - spec/dummy/tmp/cache/assets/DD8/DC0/sprockets%2Fcc82f3b4753fc2d729ebbcfec94e3077
663
+ - spec/dummy/tmp/cache/assets/DD9/170/sprockets%2Fccaea8553317199dc77c526fefdfbb27
664
+ - spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
510
665
  - spec/dummy/tmp/cache/assets/DDE/5C0/sprockets%2Ffc38a19244e2fceafe166b8b498fef18
666
+ - spec/dummy/tmp/cache/assets/DEA/350/sprockets%2Ffc836da09a20cdbc0b7b49b2525e1bbe
511
667
  - spec/dummy/tmp/cache/assets/DF1/A10/sprockets%2Fa925a815ca0bff4d6f42fbdf0d323a4f
512
668
  - spec/dummy/tmp/cache/assets/DF3/820/sprockets%2Fede955e751bbec440cbbfc00473c34ec
669
+ - spec/dummy/tmp/cache/assets/DFC/4B0/sprockets%2F30bac9bffe7e6a5ae42a675f55d1c29a
513
670
  - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
671
+ - spec/dummy/tmp/cache/assets/E09/1A0/sprockets%2Fc76bb4e6dbb4f2afc0f09c79a41e988f
514
672
  - spec/dummy/tmp/cache/assets/E2D/E20/sprockets%2Fec8c39aa4e1ce3059eeab8f265ead07d
673
+ - spec/dummy/tmp/cache/assets/E2E/010/sprockets%2Fab7b35e5d27eba9893aaef6f2bde1b72
674
+ - spec/dummy/tmp/cache/assets/E2E/A50/sprockets%2Fc7e5c2d6c06cfc59aabd0f814de69c3c
515
675
  - spec/dummy/tmp/cache/assets/E3A/110/sprockets%2Fb6d5158ff7ac6d2ca99bfe56a7ddd2e3
516
676
  - spec/dummy/tmp/cache/assets/E4B/EE0/sprockets%2F06c4dea4fc3cb561b87bd078aab0facc
517
677
  - spec/dummy/tmp/cache/assets/E5E/A60/sprockets%2Ff83d84dceff86c25a7bab27cbff33ac0
518
678
  - spec/dummy/tmp/cache/assets/E6D/8B0/sprockets%2F9edfdf7e85cdd1a69b0eb14c6ce8ed19
519
- - spec/dummy/tmp/pids/server.pid
679
+ - spec/dummy/tmp/cache/assets/E94/6D0/sprockets%2F3bdb0f5d3a20cbd18bafaaea4ba2a7b2
520
680
  - spec/dummy/tmp/public/uploads/flms/image_layer/image/5/300px-BabySinclair.jpg
681
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/normal_placeholder.png
682
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/placeholder.png
683
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/small_placeholder.png
684
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/thumb_placeholder.png
685
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/normal_placeholder.png
686
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/placeholder.png
687
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/small_placeholder.png
688
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/thumb_placeholder.png
689
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/normal_placeholder.png
690
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/placeholder.png
691
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/small_placeholder.png
692
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/thumb_placeholder.png
693
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/normal_placeholder.png
694
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/placeholder.png
695
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/small_placeholder.png
696
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/thumb_placeholder.png
697
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/normal_placeholder.png
698
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/placeholder.png
699
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/small_placeholder.png
700
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/thumb_placeholder.png
701
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/normal_placeholder.png
702
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/placeholder.png
703
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/small_placeholder.png
704
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/thumb_placeholder.png
705
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/normal_placeholder.png
706
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/placeholder.png
707
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/small_placeholder.png
708
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/thumb_placeholder.png
709
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/normal_placeholder.png
710
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/placeholder.png
711
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/small_placeholder.png
712
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/thumb_placeholder.png
713
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/normal_placeholder.png
714
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/placeholder.png
715
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/small_placeholder.png
716
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/thumb_placeholder.png
717
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/normal_placeholder.png
718
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/placeholder.png
719
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/small_placeholder.png
720
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/thumb_placeholder.png
721
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/normal_placeholder.png
722
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/placeholder.png
723
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/small_placeholder.png
724
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/thumb_placeholder.png
725
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/normal_placeholder.png
726
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/placeholder.png
727
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/small_placeholder.png
728
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/thumb_placeholder.png
729
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/normal_placeholder.png
730
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/placeholder.png
731
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/small_placeholder.png
732
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/thumb_placeholder.png
733
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/normal_placeholder.png
734
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/placeholder.png
735
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/small_placeholder.png
736
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/thumb_placeholder.png
737
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/normal_placeholder.png
738
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/placeholder.png
739
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/small_placeholder.png
740
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/thumb_placeholder.png
741
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/normal_placeholder.png
742
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/placeholder.png
743
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/small_placeholder.png
744
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/thumb_placeholder.png
745
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/normal_placeholder.png
746
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/placeholder.png
747
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/small_placeholder.png
748
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/thumb_placeholder.png
749
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/normal_placeholder.png
750
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/placeholder.png
751
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/small_placeholder.png
752
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/thumb_placeholder.png
753
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/normal_placeholder.png
754
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/placeholder.png
755
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/small_placeholder.png
756
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/thumb_placeholder.png
757
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/normal_placeholder.png
758
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/placeholder.png
759
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/small_placeholder.png
760
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/thumb_placeholder.png
761
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/normal_placeholder.png
762
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/placeholder.png
763
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/small_placeholder.png
764
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/thumb_placeholder.png
765
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/normal_placeholder.png
766
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/placeholder.png
767
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/small_placeholder.png
768
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/thumb_placeholder.png
769
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/normal_placeholder.png
770
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/placeholder.png
771
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/small_placeholder.png
772
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/thumb_placeholder.png
773
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/normal_placeholder.png
774
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/placeholder.png
775
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/small_placeholder.png
776
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/thumb_placeholder.png
777
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/normal_placeholder.png
778
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/placeholder.png
779
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/small_placeholder.png
780
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/thumb_placeholder.png
781
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/normal_placeholder.png
782
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/placeholder.png
783
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/small_placeholder.png
784
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/thumb_placeholder.png
785
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/normal_placeholder.png
786
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/placeholder.png
787
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/small_placeholder.png
788
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/thumb_placeholder.png
789
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/normal_placeholder.png
790
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/placeholder.png
791
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/small_placeholder.png
792
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/thumb_placeholder.png
793
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/normal_placeholder.png
794
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/placeholder.png
795
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/small_placeholder.png
796
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/thumb_placeholder.png
797
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/normal_placeholder.png
798
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/placeholder.png
799
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/small_placeholder.png
800
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/thumb_placeholder.png
801
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/normal_placeholder.png
802
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/placeholder.png
803
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/small_placeholder.png
804
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/thumb_placeholder.png
805
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/normal_placeholder.png
806
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/placeholder.png
807
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/small_placeholder.png
808
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/thumb_placeholder.png
809
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/normal_placeholder.png
810
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/placeholder.png
811
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/small_placeholder.png
812
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/thumb_placeholder.png
813
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/normal_placeholder.png
814
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/placeholder.png
815
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/small_placeholder.png
816
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/thumb_placeholder.png
817
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/normal_placeholder.png
818
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/placeholder.png
819
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/small_placeholder.png
820
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/thumb_placeholder.png
821
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/normal_placeholder.png
822
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/placeholder.png
823
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/small_placeholder.png
824
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/thumb_placeholder.png
825
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/normal_placeholder.png
826
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/placeholder.png
827
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/small_placeholder.png
828
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/thumb_placeholder.png
829
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/normal_placeholder.png
830
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/placeholder.png
831
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/small_placeholder.png
832
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/thumb_placeholder.png
833
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/normal_placeholder.png
834
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/placeholder.png
835
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/small_placeholder.png
836
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/thumb_placeholder.png
837
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/normal_placeholder.png
838
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/placeholder.png
839
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/small_placeholder.png
840
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/thumb_placeholder.png
841
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/normal_placeholder.png
842
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/placeholder.png
843
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/small_placeholder.png
844
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/thumb_placeholder.png
845
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/normal_placeholder.png
846
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/placeholder.png
847
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/small_placeholder.png
848
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/thumb_placeholder.png
849
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/normal_placeholder.png
850
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/placeholder.png
851
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/small_placeholder.png
852
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/thumb_placeholder.png
853
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/normal_placeholder.png
854
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/placeholder.png
855
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/small_placeholder.png
856
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/thumb_placeholder.png
857
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/normal_placeholder.png
858
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/placeholder.png
859
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/small_placeholder.png
860
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/thumb_placeholder.png
861
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/normal_placeholder.png
862
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/placeholder.png
863
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/small_placeholder.png
864
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/thumb_placeholder.png
865
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/normal_placeholder.png
866
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/placeholder.png
867
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/small_placeholder.png
868
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/thumb_placeholder.png
869
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/normal_placeholder.png
870
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/placeholder.png
871
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/small_placeholder.png
872
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/thumb_placeholder.png
873
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/normal_placeholder.png
874
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/placeholder.png
875
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/small_placeholder.png
876
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/thumb_placeholder.png
877
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/normal_placeholder.png
878
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/placeholder.png
879
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/small_placeholder.png
880
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/thumb_placeholder.png
881
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/normal_placeholder.png
882
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/placeholder.png
883
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/small_placeholder.png
884
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/thumb_placeholder.png
521
885
  - spec/dummy/tmp/uploads/flms/image_layer/image/4/300px-BabySinclair.jpg
522
886
  - spec/factories/blocks.rb
523
- - spec/factories/image_layer.rb
887
+ - spec/factories/keyframes.rb
524
888
  - spec/factories/layer.rb
525
889
  - spec/factories/pages.rb
526
890
  - spec/factories/users.rb
527
- - spec/features/blocks/activating_blocks_spec.rb
528
891
  - spec/features/blocks/create_spec.rb
529
892
  - spec/features/blocks/delete_spec.rb
530
893
  - spec/features/blocks/edit_spec.rb
894
+ - spec/features/blocks/index_spec.rb
531
895
  - spec/features/blocks/show_spec.rb
532
896
  - spec/features/dashboard_spec.rb
897
+ - spec/features/layers/animation_layers/create_spec.rb
898
+ - spec/features/layers/animation_layers/edit_spec.rb
899
+ - spec/features/layers/embed_layers/create_spec.rb
900
+ - spec/features/layers/embed_layers/edit_spec.rb
533
901
  - spec/features/layers/image_layers/create_spec.rb
534
902
  - spec/features/layers/image_layers/delete_spec.rb
535
903
  - spec/features/layers/image_layers/edit_spec.rb
904
+ - spec/features/layers/paragraph_layers/create_spec.rb
905
+ - spec/features/layers/paragraph_layers/edit_spec.rb
906
+ - spec/features/layers/text_layers/create_spec.rb
907
+ - spec/features/layers/text_layers/edit_spec.rb
536
908
  - spec/features/login_spec.rb
909
+ - spec/features/logout_spec.rb
537
910
  - spec/features/pages/create_spec.rb
538
911
  - spec/features/pages/delete_spec.rb
912
+ - spec/features/pages/edit_spec.rb
539
913
  - spec/features/pages/index_spec.rb
914
+ - spec/features/pages/show_spec.rb
540
915
  - spec/features/pages/update_spec.rb
541
916
  - spec/features/users/create_spec.rb
542
917
  - spec/features/users/delete_spec.rb
543
918
  - spec/features/users/index_spec.rb
544
919
  - spec/flms_spec.rb
920
+ - spec/models/animation_layer_spec.rb
545
921
  - spec/models/block_spec.rb
922
+ - spec/models/embed_layer_spec.rb
923
+ - spec/models/end_state_keyframe_spec.rb
924
+ - spec/models/image_layer_spec.rb
925
+ - spec/models/keyframe_spec.rb
926
+ - spec/models/layer_spec.rb
546
927
  - spec/models/page_spec.rb
928
+ - spec/models/paragraph_layer_spec.rb
929
+ - spec/models/start_state_keyframe_spec.rb
930
+ - spec/models/target_state_keyframe_spec.rb
931
+ - spec/models/text_layer_spec.rb
547
932
  - spec/models/user_spec.rb
933
+ - spec/placeholder.png
548
934
  - spec/spec_helper.rb
549
935
  - spec/support/access_control.rb
550
936
  - spec/support/capybara_helpers.rb
551
937
  - spec/support/lets.rb
938
+ - spec/validators/css_name_validator_spec.rb
939
+ - spec/view_objects/animation_layer_view_object_spec.rb
940
+ - spec/view_objects/image_layer_view_object_spec.rb
941
+ - spec/view_objects/keyframe_view_object_spec.rb
942
+ - spec/view_objects/layer_view_object_spec.rb
943
+ - spec/view_objects/paragraph_layer_view_object_spec.rb
944
+ - spec/view_objects/text_layer_view_object_spec.rb
552
945
  homepage: https://github.com/Originate-Inc/flms
553
- licenses: []
946
+ licenses:
947
+ - MIT
948
+ metadata: {}
554
949
  post_install_message:
555
950
  rdoc_options: []
556
951
  require_paths:
@@ -560,24 +955,27 @@ required_ruby_version: !ruby/object:Gem::Requirement
560
955
  - - ! '>='
561
956
  - !ruby/object:Gem::Version
562
957
  version: '0'
563
- none: false
564
958
  required_rubygems_version: !ruby/object:Gem::Requirement
565
959
  requirements:
566
960
  - - ! '>='
567
961
  - !ruby/object:Gem::Version
568
962
  version: '0'
569
- none: false
570
963
  requirements: []
571
964
  rubyforge_project:
572
- rubygems_version: 1.8.25
965
+ rubygems_version: 2.0.3
573
966
  signing_key:
574
- specification_version: 3
967
+ specification_version: 4
575
968
  summary: Floating Layer Management System
576
969
  test_files:
970
+ - spec/controllers/animation_layers_controller_spec.rb
577
971
  - spec/controllers/blocks_controller_spec.rb
578
972
  - spec/controllers/dashboard_controller_spec.rb
973
+ - spec/controllers/embed_layers_controller_spec.rb
974
+ - spec/controllers/image_layers_controller_spec.rb
579
975
  - spec/controllers/layers_controller_spec.rb
580
976
  - spec/controllers/pages_controller_spec.rb
977
+ - spec/controllers/paragraph_layers_controller_spec.rb
978
+ - spec/controllers/text_layers_controller_spec.rb
581
979
  - spec/controllers/users_controller_spec.rb
582
980
  - spec/dummy/app/assets/javascripts/application.js
583
981
  - spec/dummy/app/assets/stylesheets/application.css
@@ -604,6 +1002,8 @@ test_files:
604
1002
  - spec/dummy/config/initializers/wrap_parameters.rb
605
1003
  - spec/dummy/config/locales/en.yml
606
1004
  - spec/dummy/config/routes.rb
1005
+ - spec/dummy/config/s3.yml
1006
+ - spec/dummy/config/s3.yml.example
607
1007
  - spec/dummy/config.ru
608
1008
  - spec/dummy/db/development.sqlite3
609
1009
  - spec/dummy/db/production.sqlite3
@@ -616,114 +1016,429 @@ test_files:
616
1016
  - spec/dummy/public/422.html
617
1017
  - spec/dummy/public/500.html
618
1018
  - spec/dummy/public/favicon.ico
1019
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/normal_placeholder.png
1020
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/placeholder.png
1021
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/small_placeholder.png
1022
+ - spec/dummy/public/uploads/flms/animation_layer/image/1/thumb_placeholder.png
1023
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/normal_placeholder.png
1024
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/placeholder.png
1025
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/small_placeholder.png
1026
+ - spec/dummy/public/uploads/flms/animation_layer/image/7/thumb_placeholder.png
1027
+ - spec/dummy/public/uploads/flms/block/thumbnail/1/placeholder.png
1028
+ - spec/dummy/public/uploads/flms/block/thumbnail/1/small_placeholder.png
1029
+ - spec/dummy/public/uploads/flms/block/thumbnail/1/thumb_placeholder.png
1030
+ - spec/dummy/public/uploads/flms/image_layer/image/1/normal_placeholder.png
1031
+ - spec/dummy/public/uploads/flms/image_layer/image/1/placeholder.png
1032
+ - spec/dummy/public/uploads/flms/image_layer/image/1/small_placeholder.png
1033
+ - spec/dummy/public/uploads/flms/image_layer/image/1/thumb_placeholder.png
1034
+ - spec/dummy/public/uploads/flms/image_layer/image/2/normal_placeholder.png
1035
+ - spec/dummy/public/uploads/flms/image_layer/image/2/placeholder.png
1036
+ - spec/dummy/public/uploads/flms/image_layer/image/2/small_placeholder.png
1037
+ - spec/dummy/public/uploads/flms/image_layer/image/2/thumb_placeholder.png
1038
+ - spec/dummy/public/uploads/flms/image_layer/image/3/normal_placeholder.png
1039
+ - spec/dummy/public/uploads/flms/image_layer/image/3/placeholder.png
1040
+ - spec/dummy/public/uploads/flms/image_layer/image/3/small_placeholder.png
1041
+ - spec/dummy/public/uploads/flms/image_layer/image/3/thumb_placeholder.png
619
1042
  - spec/dummy/Rakefile
620
1043
  - spec/dummy/script/rails
621
1044
  - spec/dummy/tmp/cache/assets/C4C/010/sprockets%2F74558ebf3d0666286090250c04b945a1
1045
+ - spec/dummy/tmp/cache/assets/C4C/7C0/sprockets%2F829fa8a51f2e2266774e2007d7141414
1046
+ - spec/dummy/tmp/cache/assets/C57/C80/sprockets%2F74f66b30036f872b250553c91f2981d8
1047
+ - spec/dummy/tmp/cache/assets/C59/520/sprockets%2Ff2296184148079d68a35d80635c702fc
1048
+ - spec/dummy/tmp/cache/assets/C62/B80/sprockets%2Fe2573350e6996f3f19f06c03687339d2
622
1049
  - spec/dummy/tmp/cache/assets/C84/200/sprockets%2F6d5671bc22b630f45761e90488b3a909
1050
+ - spec/dummy/tmp/cache/assets/C86/490/sprockets%2F196ee25088eb975920380e3b5fd22325
1051
+ - spec/dummy/tmp/cache/assets/C86/F40/sprockets%2Fb9924512ef3de6aa72460258706865e2
623
1052
  - spec/dummy/tmp/cache/assets/C8A/F50/sprockets%2F604b0fb8ee1c08f9036750897c890831
1053
+ - spec/dummy/tmp/cache/assets/CA7/AB0/sprockets%2F88f069985c1ffca86f6394209656964c
624
1054
  - spec/dummy/tmp/cache/assets/CA9/AC0/sprockets%2F2f3e0ad16e81532007e094c081594f7e
1055
+ - spec/dummy/tmp/cache/assets/CA9/F00/sprockets%2F289543b9c4d5ea08789000ce30a95c00
625
1056
  - spec/dummy/tmp/cache/assets/CAB/C80/sprockets%2Fc4e739111d82c7189113aeb228816ba8
1057
+ - spec/dummy/tmp/cache/assets/CB0/330/sprockets%2F228e5f742b01972dc6ce664713264d3c
626
1058
  - spec/dummy/tmp/cache/assets/CB3/E00/sprockets%2F97a8391a80361fb1870669c06a27ae5c
627
1059
  - spec/dummy/tmp/cache/assets/CBC/250/sprockets%2F1b2102711103acac21fe74936046ddb4
1060
+ - spec/dummy/tmp/cache/assets/CC9/C00/sprockets%2F454c58b0a3b0a0a64fd60bb217197580
628
1061
  - spec/dummy/tmp/cache/assets/CCF/210/sprockets%2F43b5c2ffc8a62726b4ed6234001571a4
629
1062
  - spec/dummy/tmp/cache/assets/CD0/D40/sprockets%2F7e3d7254f3137e2108220770b3dd1bfc
630
1063
  - spec/dummy/tmp/cache/assets/CD1/8F0/sprockets%2F4032f7a5b2133a8b8f963e12fd6120c5
1064
+ - spec/dummy/tmp/cache/assets/CD7/000/sprockets%2Ff6534fbac7e738c013414d148211bd95
631
1065
  - spec/dummy/tmp/cache/assets/CD9/360/sprockets%2F057bf14a58d60283276e83db123f4fa3
632
1066
  - spec/dummy/tmp/cache/assets/CD9/AA0/sprockets%2F80c500e462b3e91b00f48609b56ff91b
633
1067
  - spec/dummy/tmp/cache/assets/CDB/510/sprockets%2Fd61745a24c4636f8813fa14038bac69a
1068
+ - spec/dummy/tmp/cache/assets/CDD/640/sprockets%2F557bde539a95020fd557e11f813242fa
1069
+ - spec/dummy/tmp/cache/assets/CDF/200/sprockets%2F9b251cfabb019f79e706200499d623c6
1070
+ - spec/dummy/tmp/cache/assets/CE0/420/sprockets%2F5b3f22c66d8a269533a5689c1be5c800
1071
+ - spec/dummy/tmp/cache/assets/CEE/C10/sprockets%2F39310232adc120c16210bdc84184fdaf
1072
+ - spec/dummy/tmp/cache/assets/D02/F10/sprockets%2Fd10499187b5f8d8d85769775d1ecb7c7
634
1073
  - spec/dummy/tmp/cache/assets/D06/AF0/sprockets%2F02a9a4f214368781ba86ed42d5bef203
1074
+ - spec/dummy/tmp/cache/assets/D07/A50/sprockets%2Fdda362e83c229c06b2bb63686e273d13
635
1075
  - spec/dummy/tmp/cache/assets/D09/5C0/sprockets%2F7cd3521c63623eb6f02dbb514991a6f6
1076
+ - spec/dummy/tmp/cache/assets/D09/7C0/sprockets%2F892c677abcf22a046a610427fa29d4b7
636
1077
  - spec/dummy/tmp/cache/assets/D0B/0C0/sprockets%2Fb2722b54d89845b9619cadda1a04158c
637
1078
  - spec/dummy/tmp/cache/assets/D0C/570/sprockets%2F7e3d63e1412ae56b44b23d95547f0cc7
1079
+ - spec/dummy/tmp/cache/assets/D11/9D0/sprockets%2F87436354c263adb7b069d7b3d19ace18
1080
+ - spec/dummy/tmp/cache/assets/D15/6F0/sprockets%2F32e2b26b766ac7fb86d0c7062c976c29
638
1081
  - spec/dummy/tmp/cache/assets/D17/6B0/sprockets%2F43a81531e358ce9bb7af8417c875d63a
639
1082
  - spec/dummy/tmp/cache/assets/D18/9C0/sprockets%2Ff92d239ff629c160ee015e3845a6c9c3
1083
+ - spec/dummy/tmp/cache/assets/D18/DF0/sprockets%2F8d53dfef1f06c56f73026d82f29322a9
640
1084
  - spec/dummy/tmp/cache/assets/D19/060/sprockets%2F4be3ef7d038e55cffc27166271638f60
641
1085
  - spec/dummy/tmp/cache/assets/D1A/3F0/sprockets%2F84181c4b293f3a1c4efe9226652f9e6e
1086
+ - spec/dummy/tmp/cache/assets/D1C/E30/sprockets%2F605ce82d89dce653d672485b9c1c52f1
642
1087
  - spec/dummy/tmp/cache/assets/D1E/190/sprockets%2Ff4d68b867965b6cb8d21aea19a053993
1088
+ - spec/dummy/tmp/cache/assets/D1E/1D0/sprockets%2Ffeec495723d877b92c74db2055516bc9
643
1089
  - spec/dummy/tmp/cache/assets/D20/050/sprockets%2F9a286a605e66598f88191e2aa6bd72dd
1090
+ - spec/dummy/tmp/cache/assets/D22/660/sprockets%2F43f26c23b8ddf974767ca6f67b6530f6
1091
+ - spec/dummy/tmp/cache/assets/D24/E10/sprockets%2Fd9032b251e778acab41d4639b003a1ca
1092
+ - spec/dummy/tmp/cache/assets/D25/A70/sprockets%2Fb7d53812242f41eafe2dc223317db30a
1093
+ - spec/dummy/tmp/cache/assets/D2D/190/sprockets%2Fcea5d014c171b7a836113bb9b0f9f712
644
1094
  - spec/dummy/tmp/cache/assets/D2E/130/sprockets%2F5ebb788f274dd034257c0bc0400fae50
645
1095
  - spec/dummy/tmp/cache/assets/D2E/F10/sprockets%2F156bfd6b405a129f5f003243cf60aea9
646
1096
  - spec/dummy/tmp/cache/assets/D30/FA0/sprockets%2Fb9d61dc7d19024512c0bdb72391d9bb2
647
1097
  - spec/dummy/tmp/cache/assets/D3B/440/sprockets%2Fabe31f236167ba051f6ff849d0a7282f
648
1098
  - spec/dummy/tmp/cache/assets/D3B/550/sprockets%2Fb61caf9834ac8c31691851ac024f26ef
1099
+ - spec/dummy/tmp/cache/assets/D3B/980/sprockets%2Ff0e607eb6489ed61f27a5233cae0172e
1100
+ - spec/dummy/tmp/cache/assets/D3B/A90/sprockets%2F3a9f74af10313e521d21dc4d78b4f9b9
649
1101
  - spec/dummy/tmp/cache/assets/D44/A50/sprockets%2F7602cd388554ba54eb914c1b2d7ff68c
650
1102
  - spec/dummy/tmp/cache/assets/D45/CC0/sprockets%2F741e31abcfe889c718bfa7ee58080305
651
1103
  - spec/dummy/tmp/cache/assets/D46/210/sprockets%2F45a8d49c8edbaf91f38ab1495430384c
1104
+ - spec/dummy/tmp/cache/assets/D48/DD0/sprockets%2F75d43fac4136d1bbabf481f977b78637
1105
+ - spec/dummy/tmp/cache/assets/D4A/B40/sprockets%2F509d2dc1350975d781c50dffc58ef53f
1106
+ - spec/dummy/tmp/cache/assets/D4B/D10/sprockets%2F76e4e1fa5d891fe2261834cf322f38ef
652
1107
  - spec/dummy/tmp/cache/assets/D4C/DB0/sprockets%2F18810d4978693cfac8703a96dccbcf80
653
1108
  - spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
654
1109
  - spec/dummy/tmp/cache/assets/D50/0B0/sprockets%2F6c3a019b7442761786cc7bef8e8e7c6c
655
1110
  - spec/dummy/tmp/cache/assets/D53/F80/sprockets%2F11d791b713f9b9cf2bb85bd7f6589b84
1111
+ - spec/dummy/tmp/cache/assets/D54/BA0/sprockets%2F89de5abea3b3002f6e73210bb7a3c330
656
1112
  - spec/dummy/tmp/cache/assets/D54/DE0/sprockets%2F77af3e306bb966f71f83e90e2a8868db
657
1113
  - spec/dummy/tmp/cache/assets/D5B/1F0/sprockets%2F4d98e747aa4bb9fc8859f49a45159e1c
658
1114
  - spec/dummy/tmp/cache/assets/D64/D10/sprockets%2F9857068018fbac51ecd0a7510bcca55e
659
1115
  - spec/dummy/tmp/cache/assets/D66/8E0/sprockets%2F0cbda18dbb9e414ed0bf1199358e1742
660
1116
  - spec/dummy/tmp/cache/assets/D67/480/sprockets%2Fd7dc8cc56f98d1314c3d2ca9c422c104
1117
+ - spec/dummy/tmp/cache/assets/D6D/150/sprockets%2Fe84b6e0602e1c5218c9da9d46da4d74b
661
1118
  - spec/dummy/tmp/cache/assets/D6E/870/sprockets%2F3f77e0b5396013fd145a6fdd21bc9b7f
662
1119
  - spec/dummy/tmp/cache/assets/D71/2D0/sprockets%2F958685af3478f12a33ffaa5cfa26e0d1
663
1120
  - spec/dummy/tmp/cache/assets/D77/D80/sprockets%2F7ad794c63274a9812dfbabc1dae69692
664
1121
  - spec/dummy/tmp/cache/assets/D79/DE0/sprockets%2F9e7131d002f39be972e9918bdfbbcc66
665
1122
  - spec/dummy/tmp/cache/assets/D7C/3A0/sprockets%2Fec63717067efd6b2daf3423edf70f689
1123
+ - spec/dummy/tmp/cache/assets/D7D/BB0/sprockets%2Fe66f1c4ba6885a4d1de08c3d81f991d9
1124
+ - spec/dummy/tmp/cache/assets/D81/1D0/sprockets%2F9f446f7e8b3c18c6f7b636b71a8ba8d4
666
1125
  - spec/dummy/tmp/cache/assets/D81/400/sprockets%2F566656e2cc9e698b1dbbd56d6e2e6b36
1126
+ - spec/dummy/tmp/cache/assets/D8C/DE0/sprockets%2Fb95e7d75de89e1285d0e6ef8d85cb508
667
1127
  - spec/dummy/tmp/cache/assets/D91/320/sprockets%2F322e2344c1fc1234ffd9b3142eecaf6f
1128
+ - spec/dummy/tmp/cache/assets/D92/9B0/sprockets%2F96f73ad8237fa0a4bb3aa8cbe083551a
668
1129
  - spec/dummy/tmp/cache/assets/D93/0C0/sprockets%2Fab900c084c9c51c312ee3457cee8cdc2
669
1130
  - spec/dummy/tmp/cache/assets/D93/3F0/sprockets%2Fb6aecc2fe36010208fc8c4cc9e04672c
670
1131
  - spec/dummy/tmp/cache/assets/D97/1B0/sprockets%2Fe0ae6a22a963d0e0819ce6436eb57cae
671
1132
  - spec/dummy/tmp/cache/assets/D98/FD0/sprockets%2F6f253bd2bf824ac38c69bfe1418a04be
672
1133
  - spec/dummy/tmp/cache/assets/D99/CF0/sprockets%2F015b5a48fa7906d045fc23db8a60feef
1134
+ - spec/dummy/tmp/cache/assets/D9A/820/sprockets%2F594caa19e550457af23ae9fba500a9fe
1135
+ - spec/dummy/tmp/cache/assets/D9E/220/sprockets%2Fd129fcf804e89814c2f4abbe0336cba9
1136
+ - spec/dummy/tmp/cache/assets/D9E/8D0/sprockets%2F2ae41880ba1dbb6f570fe0e790678dbf
1137
+ - spec/dummy/tmp/cache/assets/D9E/A30/sprockets%2Fc82d9ee0ea1a5360faa296957c2bf17e
1138
+ - spec/dummy/tmp/cache/assets/DA0/C20/sprockets%2Fe1a590abeca61529529de36efa97b43e
673
1139
  - spec/dummy/tmp/cache/assets/DA2/330/sprockets%2F27697dddd23a0913339ccb95dabd7ae7
674
1140
  - spec/dummy/tmp/cache/assets/DA3/920/sprockets%2F6c45b9f8e0152c78b3c9be1c2e8be53c
1141
+ - spec/dummy/tmp/cache/assets/DA5/3A0/sprockets%2Fa02e5a4a95bb7c92ec5b63f908eff870
675
1142
  - spec/dummy/tmp/cache/assets/DA5/BC0/sprockets%2F5b86068a872e5bd841750d6cbd2dfdbf
1143
+ - spec/dummy/tmp/cache/assets/DA6/360/sprockets%2F1d7b3df8a061fd27e6a956bfd84a93f1
1144
+ - spec/dummy/tmp/cache/assets/DA6/A10/sprockets%2Fd226de7dc43ae36657be35fb6e31db89
676
1145
  - spec/dummy/tmp/cache/assets/DA8/4A0/sprockets%2Ff8ba39d58ace11df624bf7e24c7b5882
677
1146
  - spec/dummy/tmp/cache/assets/DA8/C30/sprockets%2Fb7d14d588a70a56d7ddac542eef557d6
678
1147
  - spec/dummy/tmp/cache/assets/DA9/370/sprockets%2Fdf257d496b11ea9c1bb7ee139d68c83e
679
1148
  - spec/dummy/tmp/cache/assets/DAC/D80/sprockets%2Fb8ca14c15e0301b935aaaef327bdc40a
1149
+ - spec/dummy/tmp/cache/assets/DAE/680/sprockets%2Fcd28d437e7fc959fe1e328bca40f5e74
1150
+ - spec/dummy/tmp/cache/assets/DB2/1F0/sprockets%2F9fe57997f92efbee3b03df4510a2df57
680
1151
  - spec/dummy/tmp/cache/assets/DB6/C30/sprockets%2F377ff9998fde36fcace7c7419ba8b301
681
1152
  - spec/dummy/tmp/cache/assets/DB8/C30/sprockets%2Fca860af2d10e0c745b6e38b12dabe05f
682
1153
  - spec/dummy/tmp/cache/assets/DBF/630/sprockets%2F8423ad7ae72b0bc6baeac10405389fdf
683
1154
  - spec/dummy/tmp/cache/assets/DC1/530/sprockets%2F4db0b289eee7dad03453a5924c20dcfa
1155
+ - spec/dummy/tmp/cache/assets/DC2/BA0/sprockets%2Feb1b52f8e6baba5409e0e09c3cc70e45
684
1156
  - spec/dummy/tmp/cache/assets/DC6/7D0/sprockets%2Ff7689ac5fafbf683c537892e6ff7f8c3
685
1157
  - spec/dummy/tmp/cache/assets/DCC/B80/sprockets%2Fb7ae6e7bfa8984c54a4dfaf0011617cd
686
1158
  - spec/dummy/tmp/cache/assets/DCF/0B0/sprockets%2F23db7ab96a5549546bbdd0bc2e6ea86f
1159
+ - spec/dummy/tmp/cache/assets/DD0/EE0/sprockets%2F4b34c7c215efccbeaf495ee4715734fb
687
1160
  - spec/dummy/tmp/cache/assets/DD4/990/sprockets%2F8dc6b77dc74dfdf830aa8f19b92c130d
1161
+ - spec/dummy/tmp/cache/assets/DD7/FC0/sprockets%2Fdee985ae48773ae9b4fc4dd0b85ce201
1162
+ - spec/dummy/tmp/cache/assets/DD8/DC0/sprockets%2Fcc82f3b4753fc2d729ebbcfec94e3077
1163
+ - spec/dummy/tmp/cache/assets/DD9/170/sprockets%2Fccaea8553317199dc77c526fefdfbb27
1164
+ - spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
688
1165
  - spec/dummy/tmp/cache/assets/DDE/5C0/sprockets%2Ffc38a19244e2fceafe166b8b498fef18
1166
+ - spec/dummy/tmp/cache/assets/DEA/350/sprockets%2Ffc836da09a20cdbc0b7b49b2525e1bbe
689
1167
  - spec/dummy/tmp/cache/assets/DF1/A10/sprockets%2Fa925a815ca0bff4d6f42fbdf0d323a4f
690
1168
  - spec/dummy/tmp/cache/assets/DF3/820/sprockets%2Fede955e751bbec440cbbfc00473c34ec
1169
+ - spec/dummy/tmp/cache/assets/DFC/4B0/sprockets%2F30bac9bffe7e6a5ae42a675f55d1c29a
691
1170
  - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
1171
+ - spec/dummy/tmp/cache/assets/E09/1A0/sprockets%2Fc76bb4e6dbb4f2afc0f09c79a41e988f
692
1172
  - spec/dummy/tmp/cache/assets/E2D/E20/sprockets%2Fec8c39aa4e1ce3059eeab8f265ead07d
1173
+ - spec/dummy/tmp/cache/assets/E2E/010/sprockets%2Fab7b35e5d27eba9893aaef6f2bde1b72
1174
+ - spec/dummy/tmp/cache/assets/E2E/A50/sprockets%2Fc7e5c2d6c06cfc59aabd0f814de69c3c
693
1175
  - spec/dummy/tmp/cache/assets/E3A/110/sprockets%2Fb6d5158ff7ac6d2ca99bfe56a7ddd2e3
694
1176
  - spec/dummy/tmp/cache/assets/E4B/EE0/sprockets%2F06c4dea4fc3cb561b87bd078aab0facc
695
1177
  - spec/dummy/tmp/cache/assets/E5E/A60/sprockets%2Ff83d84dceff86c25a7bab27cbff33ac0
696
1178
  - spec/dummy/tmp/cache/assets/E6D/8B0/sprockets%2F9edfdf7e85cdd1a69b0eb14c6ce8ed19
697
- - spec/dummy/tmp/pids/server.pid
1179
+ - spec/dummy/tmp/cache/assets/E94/6D0/sprockets%2F3bdb0f5d3a20cbd18bafaaea4ba2a7b2
698
1180
  - spec/dummy/tmp/public/uploads/flms/image_layer/image/5/300px-BabySinclair.jpg
1181
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/normal_placeholder.png
1182
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/placeholder.png
1183
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/small_placeholder.png
1184
+ - spec/dummy/tmp/uploads/20130503-1614-5904-3619/thumb_placeholder.png
1185
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/normal_placeholder.png
1186
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/placeholder.png
1187
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/small_placeholder.png
1188
+ - spec/dummy/tmp/uploads/20130503-1614-5904-6961/thumb_placeholder.png
1189
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/normal_placeholder.png
1190
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/placeholder.png
1191
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/small_placeholder.png
1192
+ - spec/dummy/tmp/uploads/20130503-1614-5904-8166/thumb_placeholder.png
1193
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/normal_placeholder.png
1194
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/placeholder.png
1195
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/small_placeholder.png
1196
+ - spec/dummy/tmp/uploads/20130503-1630-6161-2793/thumb_placeholder.png
1197
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/normal_placeholder.png
1198
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/placeholder.png
1199
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/small_placeholder.png
1200
+ - spec/dummy/tmp/uploads/20130503-1630-6161-4124/thumb_placeholder.png
1201
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/normal_placeholder.png
1202
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/placeholder.png
1203
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/small_placeholder.png
1204
+ - spec/dummy/tmp/uploads/20130503-1630-6161-5065/thumb_placeholder.png
1205
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/normal_placeholder.png
1206
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/placeholder.png
1207
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/small_placeholder.png
1208
+ - spec/dummy/tmp/uploads/20130506-1009-4529-0167/thumb_placeholder.png
1209
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/normal_placeholder.png
1210
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/placeholder.png
1211
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/small_placeholder.png
1212
+ - spec/dummy/tmp/uploads/20130506-1009-4529-1078/thumb_placeholder.png
1213
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/normal_placeholder.png
1214
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/placeholder.png
1215
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/small_placeholder.png
1216
+ - spec/dummy/tmp/uploads/20130506-1009-4529-8277/thumb_placeholder.png
1217
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/normal_placeholder.png
1218
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/placeholder.png
1219
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/small_placeholder.png
1220
+ - spec/dummy/tmp/uploads/20130506-1015-4718-5926/thumb_placeholder.png
1221
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/normal_placeholder.png
1222
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/placeholder.png
1223
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/small_placeholder.png
1224
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8555/thumb_placeholder.png
1225
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/normal_placeholder.png
1226
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/placeholder.png
1227
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/small_placeholder.png
1228
+ - spec/dummy/tmp/uploads/20130506-1015-4718-8970/thumb_placeholder.png
1229
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/normal_placeholder.png
1230
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/placeholder.png
1231
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/small_placeholder.png
1232
+ - spec/dummy/tmp/uploads/20130506-1016-4827-2822/thumb_placeholder.png
1233
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/normal_placeholder.png
1234
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/placeholder.png
1235
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/small_placeholder.png
1236
+ - spec/dummy/tmp/uploads/20130506-1016-4827-5903/thumb_placeholder.png
1237
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/normal_placeholder.png
1238
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/placeholder.png
1239
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/small_placeholder.png
1240
+ - spec/dummy/tmp/uploads/20130506-1016-4827-7236/thumb_placeholder.png
1241
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/normal_placeholder.png
1242
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/placeholder.png
1243
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/small_placeholder.png
1244
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1171/thumb_placeholder.png
1245
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/normal_placeholder.png
1246
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/placeholder.png
1247
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/small_placeholder.png
1248
+ - spec/dummy/tmp/uploads/20130514-1348-12420-1953/thumb_placeholder.png
1249
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/normal_placeholder.png
1250
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/placeholder.png
1251
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/small_placeholder.png
1252
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2097/thumb_placeholder.png
1253
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/normal_placeholder.png
1254
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/placeholder.png
1255
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/small_placeholder.png
1256
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2484/thumb_placeholder.png
1257
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/normal_placeholder.png
1258
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/placeholder.png
1259
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/small_placeholder.png
1260
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2606/thumb_placeholder.png
1261
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/normal_placeholder.png
1262
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/placeholder.png
1263
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/small_placeholder.png
1264
+ - spec/dummy/tmp/uploads/20130514-1348-12420-2640/thumb_placeholder.png
1265
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/normal_placeholder.png
1266
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/placeholder.png
1267
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/small_placeholder.png
1268
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3942/thumb_placeholder.png
1269
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/normal_placeholder.png
1270
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/placeholder.png
1271
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/small_placeholder.png
1272
+ - spec/dummy/tmp/uploads/20130514-1348-12420-3995/thumb_placeholder.png
1273
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/normal_placeholder.png
1274
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/placeholder.png
1275
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/small_placeholder.png
1276
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4465/thumb_placeholder.png
1277
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/normal_placeholder.png
1278
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/placeholder.png
1279
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/small_placeholder.png
1280
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4513/thumb_placeholder.png
1281
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/normal_placeholder.png
1282
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/placeholder.png
1283
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/small_placeholder.png
1284
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4527/thumb_placeholder.png
1285
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/normal_placeholder.png
1286
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/placeholder.png
1287
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/small_placeholder.png
1288
+ - spec/dummy/tmp/uploads/20130514-1348-12420-4926/thumb_placeholder.png
1289
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/normal_placeholder.png
1290
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/placeholder.png
1291
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/small_placeholder.png
1292
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5213/thumb_placeholder.png
1293
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/normal_placeholder.png
1294
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/placeholder.png
1295
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/small_placeholder.png
1296
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5546/thumb_placeholder.png
1297
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/normal_placeholder.png
1298
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/placeholder.png
1299
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/small_placeholder.png
1300
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5678/thumb_placeholder.png
1301
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/normal_placeholder.png
1302
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/placeholder.png
1303
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/small_placeholder.png
1304
+ - spec/dummy/tmp/uploads/20130514-1348-12420-5947/thumb_placeholder.png
1305
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/normal_placeholder.png
1306
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/placeholder.png
1307
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/small_placeholder.png
1308
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6549/thumb_placeholder.png
1309
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/normal_placeholder.png
1310
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/placeholder.png
1311
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/small_placeholder.png
1312
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6797/thumb_placeholder.png
1313
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/normal_placeholder.png
1314
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/placeholder.png
1315
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/small_placeholder.png
1316
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6962/thumb_placeholder.png
1317
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/normal_placeholder.png
1318
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/placeholder.png
1319
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/small_placeholder.png
1320
+ - spec/dummy/tmp/uploads/20130514-1348-12420-6970/thumb_placeholder.png
1321
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/normal_placeholder.png
1322
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/placeholder.png
1323
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/small_placeholder.png
1324
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8091/thumb_placeholder.png
1325
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/normal_placeholder.png
1326
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/placeholder.png
1327
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/small_placeholder.png
1328
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8800/thumb_placeholder.png
1329
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/normal_placeholder.png
1330
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/placeholder.png
1331
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/small_placeholder.png
1332
+ - spec/dummy/tmp/uploads/20130514-1348-12420-8918/thumb_placeholder.png
1333
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/normal_placeholder.png
1334
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/placeholder.png
1335
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/small_placeholder.png
1336
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9407/thumb_placeholder.png
1337
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/normal_placeholder.png
1338
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/placeholder.png
1339
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/small_placeholder.png
1340
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9499/thumb_placeholder.png
1341
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/normal_placeholder.png
1342
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/placeholder.png
1343
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/small_placeholder.png
1344
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9908/thumb_placeholder.png
1345
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/normal_placeholder.png
1346
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/placeholder.png
1347
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/small_placeholder.png
1348
+ - spec/dummy/tmp/uploads/20130514-1348-12420-9932/thumb_placeholder.png
1349
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/normal_placeholder.png
1350
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/placeholder.png
1351
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/small_placeholder.png
1352
+ - spec/dummy/tmp/uploads/20130514-1349-12420-0034/thumb_placeholder.png
1353
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/normal_placeholder.png
1354
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/placeholder.png
1355
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/small_placeholder.png
1356
+ - spec/dummy/tmp/uploads/20130514-1349-12420-2633/thumb_placeholder.png
1357
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/normal_placeholder.png
1358
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/placeholder.png
1359
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/small_placeholder.png
1360
+ - spec/dummy/tmp/uploads/20130514-1349-12420-3840/thumb_placeholder.png
1361
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/normal_placeholder.png
1362
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/placeholder.png
1363
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/small_placeholder.png
1364
+ - spec/dummy/tmp/uploads/20130514-1349-12420-4800/thumb_placeholder.png
1365
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/normal_placeholder.png
1366
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/placeholder.png
1367
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/small_placeholder.png
1368
+ - spec/dummy/tmp/uploads/20130514-1349-12420-6878/thumb_placeholder.png
1369
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/normal_placeholder.png
1370
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/placeholder.png
1371
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/small_placeholder.png
1372
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7145/thumb_placeholder.png
1373
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/normal_placeholder.png
1374
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/placeholder.png
1375
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/small_placeholder.png
1376
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7187/thumb_placeholder.png
1377
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/normal_placeholder.png
1378
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/placeholder.png
1379
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/small_placeholder.png
1380
+ - spec/dummy/tmp/uploads/20130514-1349-12420-7499/thumb_placeholder.png
1381
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/normal_placeholder.png
1382
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/placeholder.png
1383
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/small_placeholder.png
1384
+ - spec/dummy/tmp/uploads/20130515-1904-24025-2789/thumb_placeholder.png
699
1385
  - spec/dummy/tmp/uploads/flms/image_layer/image/4/300px-BabySinclair.jpg
700
1386
  - spec/factories/blocks.rb
701
- - spec/factories/image_layer.rb
1387
+ - spec/factories/keyframes.rb
702
1388
  - spec/factories/layer.rb
703
1389
  - spec/factories/pages.rb
704
1390
  - spec/factories/users.rb
705
- - spec/features/blocks/activating_blocks_spec.rb
706
1391
  - spec/features/blocks/create_spec.rb
707
1392
  - spec/features/blocks/delete_spec.rb
708
1393
  - spec/features/blocks/edit_spec.rb
1394
+ - spec/features/blocks/index_spec.rb
709
1395
  - spec/features/blocks/show_spec.rb
710
1396
  - spec/features/dashboard_spec.rb
1397
+ - spec/features/layers/animation_layers/create_spec.rb
1398
+ - spec/features/layers/animation_layers/edit_spec.rb
1399
+ - spec/features/layers/embed_layers/create_spec.rb
1400
+ - spec/features/layers/embed_layers/edit_spec.rb
711
1401
  - spec/features/layers/image_layers/create_spec.rb
712
1402
  - spec/features/layers/image_layers/delete_spec.rb
713
1403
  - spec/features/layers/image_layers/edit_spec.rb
1404
+ - spec/features/layers/paragraph_layers/create_spec.rb
1405
+ - spec/features/layers/paragraph_layers/edit_spec.rb
1406
+ - spec/features/layers/text_layers/create_spec.rb
1407
+ - spec/features/layers/text_layers/edit_spec.rb
714
1408
  - spec/features/login_spec.rb
1409
+ - spec/features/logout_spec.rb
715
1410
  - spec/features/pages/create_spec.rb
716
1411
  - spec/features/pages/delete_spec.rb
1412
+ - spec/features/pages/edit_spec.rb
717
1413
  - spec/features/pages/index_spec.rb
1414
+ - spec/features/pages/show_spec.rb
718
1415
  - spec/features/pages/update_spec.rb
719
1416
  - spec/features/users/create_spec.rb
720
1417
  - spec/features/users/delete_spec.rb
721
1418
  - spec/features/users/index_spec.rb
722
1419
  - spec/flms_spec.rb
1420
+ - spec/models/animation_layer_spec.rb
723
1421
  - spec/models/block_spec.rb
1422
+ - spec/models/embed_layer_spec.rb
1423
+ - spec/models/end_state_keyframe_spec.rb
1424
+ - spec/models/image_layer_spec.rb
1425
+ - spec/models/keyframe_spec.rb
1426
+ - spec/models/layer_spec.rb
724
1427
  - spec/models/page_spec.rb
1428
+ - spec/models/paragraph_layer_spec.rb
1429
+ - spec/models/start_state_keyframe_spec.rb
1430
+ - spec/models/target_state_keyframe_spec.rb
1431
+ - spec/models/text_layer_spec.rb
725
1432
  - spec/models/user_spec.rb
1433
+ - spec/placeholder.png
726
1434
  - spec/spec_helper.rb
727
1435
  - spec/support/access_control.rb
728
1436
  - spec/support/capybara_helpers.rb
729
1437
  - spec/support/lets.rb
1438
+ - spec/validators/css_name_validator_spec.rb
1439
+ - spec/view_objects/animation_layer_view_object_spec.rb
1440
+ - spec/view_objects/image_layer_view_object_spec.rb
1441
+ - spec/view_objects/keyframe_view_object_spec.rb
1442
+ - spec/view_objects/layer_view_object_spec.rb
1443
+ - spec/view_objects/paragraph_layer_view_object_spec.rb
1444
+ - spec/view_objects/text_layer_view_object_spec.rb