flms 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/README.md +102 -2
- data/app/assets/javascripts/flms/admin.js +1 -1
- data/app/assets/javascripts/flms/{bootstrap.js → admin/bootstrap.js} +0 -0
- data/app/assets/javascripts/flms/{layout.coffee → admin/layout.coffee} +2 -2
- data/app/assets/javascripts/flms/{blocks/index → admin/pages/edit}/block.coffee +0 -0
- data/app/assets/javascripts/flms/{blocks/index → admin/pages/edit}/block_list.coffee +1 -1
- data/app/assets/javascripts/flms/{blocks/index/index.coffee → admin/pages/edit/edit.coffee} +2 -2
- data/app/assets/javascripts/flms/public.js +17 -0
- data/app/assets/stylesheets/flms/admin.css +1 -1
- data/app/assets/stylesheets/flms/{blocks → admin/blocks}/show.sass +0 -0
- data/app/assets/stylesheets/flms/{home.sass → admin/home.sass} +0 -1
- data/app/assets/stylesheets/flms/admin/layers/form.sass +4 -0
- data/app/assets/stylesheets/flms/{layout.sass → admin/layout.sass} +0 -0
- data/app/assets/stylesheets/flms/{login.sass → admin/login.sass} +0 -0
- data/app/assets/stylesheets/flms/{blocks/index.sass → admin/pages/edit.sass} +1 -1
- data/app/assets/stylesheets/flms/public.css +8 -0
- data/app/assets/stylesheets/flms/public/public.sass +52 -0
- data/app/controllers/flms/abstract_layer_controller.rb +45 -0
- data/app/controllers/flms/animation_layers_controller.rb +26 -0
- data/app/controllers/flms/application_controller.rb +13 -0
- data/app/controllers/flms/blocks_controller.rb +20 -22
- data/app/controllers/flms/embed_layers_controller.rb +24 -0
- data/app/controllers/flms/image_layers_controller.rb +6 -54
- data/app/controllers/flms/layers_controller.rb +3 -10
- data/app/controllers/flms/pages_controller.rb +44 -5
- data/app/controllers/flms/paragraph_layers_controller.rb +24 -0
- data/app/controllers/flms/text_layers_controller.rb +24 -0
- data/app/helpers/flms/application_helper.rb +13 -0
- data/app/models/flms/animation_layer.rb +33 -0
- data/app/models/flms/block.rb +17 -1
- data/app/models/flms/blocks_page.rb +3 -0
- data/app/models/flms/embed_layer.rb +12 -0
- data/app/models/flms/end_state_keyframe.rb +17 -0
- data/app/models/flms/image_layer.rb +23 -1
- data/app/models/flms/keyframe.rb +130 -0
- data/app/models/flms/layer.rb +91 -2
- data/app/models/flms/page.rb +14 -2
- data/app/models/flms/paragraph_layer.rb +21 -0
- data/app/models/flms/start_state_keyframe.rb +17 -0
- data/app/models/flms/target_state_keyframe.rb +17 -0
- data/app/models/flms/text_layer.rb +20 -0
- data/app/uploaders/image_uploader.rb +21 -34
- data/app/uploaders/thumbnail_image_uploader.rb +36 -0
- data/app/view_objects/flms/animation_layer_view_object.rb +45 -0
- data/app/view_objects/flms/embed_layer_view_object.rb +15 -0
- data/app/view_objects/flms/image_layer_view_object.rb +22 -0
- data/app/view_objects/flms/keyframe_view_object.rb +92 -0
- data/app/view_objects/flms/layer_view_object.rb +72 -0
- data/app/view_objects/flms/paragraph_layer_view_object.rb +19 -0
- data/app/view_objects/flms/text_layer_view_object.rb +30 -0
- data/app/views/flms/animation_layers/_form.html.haml +56 -0
- data/app/views/flms/animation_layers/edit.html.haml +1 -0
- data/app/views/flms/animation_layers/new.html.haml +1 -0
- data/app/views/flms/blocks/_form.html.haml +32 -18
- data/app/views/flms/blocks/edit.html.haml +61 -2
- data/app/views/flms/blocks/index.html.haml +13 -22
- data/app/views/flms/blocks/show.html.haml +12 -35
- data/app/views/flms/elements/_animation_layer.html.haml +2 -0
- data/app/views/flms/elements/_block.html.haml +3 -0
- data/app/views/flms/elements/_embed_layer.html.haml +2 -0
- data/app/views/flms/elements/_image_layer.html.haml +2 -0
- data/app/views/flms/elements/_page.html.haml +11 -0
- data/app/views/flms/elements/_paragraph_layer.html.haml +4 -0
- data/app/views/flms/elements/_text_layer.html.haml +2 -0
- data/app/views/flms/embed_layers/_form.html.haml +29 -0
- data/app/views/flms/embed_layers/edit.html.haml +2 -0
- data/app/views/flms/embed_layers/new.html.haml +2 -0
- data/app/views/flms/image_layers/_form.html.haml +31 -17
- data/app/views/flms/image_layers/new.html.haml +1 -2
- data/app/views/flms/layers/_common_fields.html.haml +41 -0
- data/app/views/flms/layers/_keyframe_fields.html.haml +127 -0
- data/app/views/flms/pages/_add_block.html.haml +8 -0
- data/app/views/flms/pages/_block_list.html.haml +44 -0
- data/app/views/flms/pages/_form.html.haml +22 -23
- data/app/views/flms/pages/edit.html.haml +4 -3
- data/app/views/flms/pages/index.html.haml +4 -3
- data/app/views/flms/pages/show.html.haml +8 -6
- data/app/views/flms/paragraph_layers/_form.html.haml +41 -0
- data/app/views/flms/paragraph_layers/edit.html.haml +2 -0
- data/app/views/flms/paragraph_layers/new.html.haml +2 -0
- data/app/views/flms/text_layers/_form.html.haml +43 -0
- data/app/views/flms/text_layers/edit.html.haml +2 -0
- data/app/views/flms/text_layers/new.html.haml +2 -0
- data/app/views/layouts/flms/_plain_styling.html.haml +1 -0
- data/app/views/layouts/flms/admin.html.haml +8 -3
- data/app/views/layouts/flms/public.html.haml +13 -0
- data/config/initializers/carrierwave.rb +62 -6
- data/config/initializers/mime_types.rb +3 -0
- data/config/initializers/validators.rb +1 -0
- data/config/routes.rb +13 -5
- data/config/s3.yml.example +14 -0
- data/db/migrate/{20130302011705_create_flms_blocks.rb → 20130302011705_flms_create_blocks.rb} +3 -1
- data/db/migrate/{20130302015459_create_flms_blocks_pages.rb → 20130302015459_flms_create_blocks_pages.rb} +1 -1
- data/db/migrate/20130312220011_flms_create_layers.rb +40 -0
- data/db/migrate/20130327183815_flms_create_keyframes.rb +24 -0
- data/lib/flms/css_name_validator.rb +9 -0
- data/lib/flms/version.rb +1 -1
- data/lib/tasks/flms_tasks.rake +46 -6
- data/spec/controllers/animation_layers_controller_spec.rb +38 -0
- data/spec/controllers/blocks_controller_spec.rb +18 -44
- data/spec/controllers/embed_layers_controller_spec.rb +52 -0
- data/spec/controllers/image_layers_controller_spec.rb +73 -0
- data/spec/controllers/layers_controller_spec.rb +4 -5
- data/spec/controllers/pages_controller_spec.rb +66 -1
- data/spec/controllers/paragraph_layers_controller_spec.rb +53 -0
- data/spec/controllers/text_layers_controller_spec.rb +73 -0
- data/spec/dummy/app/views/home/index.html.haml +1 -1
- data/spec/dummy/config/environments/development.rb +1 -0
- data/spec/dummy/config/environments/production.rb +1 -0
- data/spec/dummy/config/environments/test.rb +1 -0
- data/spec/dummy/config/initializers/flms.rb +1 -0
- data/spec/dummy/config/s3.yml +12 -0
- data/spec/dummy/config/s3.yml.example +12 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +40 -5
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +4376 -0
- data/spec/dummy/log/test.log +131766 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/1/normal_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/1/placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/1/small_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/1/thumb_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/7/normal_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/7/placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/7/small_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/animation_layer/image/7/thumb_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/block/thumbnail/1/placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/block/thumbnail/1/small_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/block/thumbnail/1/thumb_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/1/normal_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/1/placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/1/small_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/1/thumb_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/2/normal_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/2/placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/2/small_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/2/thumb_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/3/normal_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/3/placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/3/small_placeholder.png +0 -0
- data/spec/dummy/public/uploads/flms/image_layer/image/3/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/cache/assets/C4C/010/sprockets%2F74558ebf3d0666286090250c04b945a1 +0 -0
- data/spec/dummy/tmp/cache/assets/C4C/7C0/sprockets%2F829fa8a51f2e2266774e2007d7141414 +0 -0
- data/spec/dummy/tmp/cache/assets/C57/C80/sprockets%2F74f66b30036f872b250553c91f2981d8 +0 -0
- data/spec/dummy/tmp/cache/assets/C59/520/sprockets%2Ff2296184148079d68a35d80635c702fc +0 -0
- data/spec/dummy/tmp/cache/assets/C62/B80/sprockets%2Fe2573350e6996f3f19f06c03687339d2 +0 -0
- data/spec/dummy/tmp/cache/assets/C84/200/sprockets%2F6d5671bc22b630f45761e90488b3a909 +0 -0
- data/spec/dummy/tmp/cache/assets/C86/490/sprockets%2F196ee25088eb975920380e3b5fd22325 +0 -0
- data/spec/dummy/tmp/cache/assets/C86/F40/sprockets%2Fb9924512ef3de6aa72460258706865e2 +0 -0
- data/spec/dummy/tmp/cache/assets/CA7/AB0/sprockets%2F88f069985c1ffca86f6394209656964c +0 -0
- data/spec/dummy/tmp/cache/assets/CA9/AC0/sprockets%2F2f3e0ad16e81532007e094c081594f7e +0 -0
- data/spec/dummy/tmp/cache/assets/CA9/F00/sprockets%2F289543b9c4d5ea08789000ce30a95c00 +0 -0
- data/spec/dummy/tmp/cache/assets/CAB/C80/sprockets%2Fc4e739111d82c7189113aeb228816ba8 +0 -0
- data/spec/dummy/tmp/cache/assets/CB0/330/sprockets%2F228e5f742b01972dc6ce664713264d3c +0 -0
- data/spec/dummy/tmp/cache/assets/CB3/E00/sprockets%2F97a8391a80361fb1870669c06a27ae5c +0 -0
- data/spec/dummy/tmp/cache/assets/CC9/C00/sprockets%2F454c58b0a3b0a0a64fd60bb217197580 +0 -0
- data/spec/dummy/tmp/cache/assets/CD1/8F0/sprockets%2F4032f7a5b2133a8b8f963e12fd6120c5 +0 -0
- data/spec/dummy/tmp/cache/assets/CD7/000/sprockets%2Ff6534fbac7e738c013414d148211bd95 +0 -0
- data/spec/dummy/tmp/cache/assets/CD9/AA0/sprockets%2F80c500e462b3e91b00f48609b56ff91b +0 -0
- data/spec/dummy/tmp/cache/assets/CDB/510/sprockets%2Fd61745a24c4636f8813fa14038bac69a +0 -0
- data/spec/dummy/tmp/cache/assets/CDD/640/sprockets%2F557bde539a95020fd557e11f813242fa +0 -0
- data/spec/dummy/tmp/cache/assets/CDF/200/sprockets%2F9b251cfabb019f79e706200499d623c6 +0 -0
- data/spec/dummy/tmp/cache/assets/CE0/420/sprockets%2F5b3f22c66d8a269533a5689c1be5c800 +0 -0
- data/spec/dummy/tmp/cache/assets/CEE/C10/sprockets%2F39310232adc120c16210bdc84184fdaf +0 -0
- data/spec/dummy/tmp/cache/assets/D02/F10/sprockets%2Fd10499187b5f8d8d85769775d1ecb7c7 +0 -0
- data/spec/dummy/tmp/cache/assets/D07/A50/sprockets%2Fdda362e83c229c06b2bb63686e273d13 +0 -0
- data/spec/dummy/tmp/cache/assets/D09/5C0/sprockets%2F7cd3521c63623eb6f02dbb514991a6f6 +0 -0
- data/spec/dummy/tmp/cache/assets/D09/7C0/sprockets%2F892c677abcf22a046a610427fa29d4b7 +0 -0
- data/spec/dummy/tmp/cache/assets/D0B/0C0/sprockets%2Fb2722b54d89845b9619cadda1a04158c +0 -0
- data/spec/dummy/tmp/cache/assets/D11/9D0/sprockets%2F87436354c263adb7b069d7b3d19ace18 +0 -0
- data/spec/dummy/tmp/cache/assets/D15/6F0/sprockets%2F32e2b26b766ac7fb86d0c7062c976c29 +0 -0
- data/spec/dummy/tmp/cache/assets/D18/9C0/sprockets%2Ff92d239ff629c160ee015e3845a6c9c3 +0 -0
- data/spec/dummy/tmp/cache/assets/D18/DF0/sprockets%2F8d53dfef1f06c56f73026d82f29322a9 +0 -0
- data/spec/dummy/tmp/cache/assets/D19/060/sprockets%2F4be3ef7d038e55cffc27166271638f60 +0 -0
- data/spec/dummy/tmp/cache/assets/D1C/E30/sprockets%2F605ce82d89dce653d672485b9c1c52f1 +0 -0
- data/spec/dummy/tmp/cache/assets/D1E/1D0/sprockets%2Ffeec495723d877b92c74db2055516bc9 +0 -0
- data/spec/dummy/tmp/cache/assets/D22/660/sprockets%2F43f26c23b8ddf974767ca6f67b6530f6 +0 -0
- data/spec/dummy/tmp/cache/assets/D24/E10/sprockets%2Fd9032b251e778acab41d4639b003a1ca +0 -0
- data/spec/dummy/tmp/cache/assets/D25/A70/sprockets%2Fb7d53812242f41eafe2dc223317db30a +0 -0
- data/spec/dummy/tmp/cache/assets/D2D/190/sprockets%2Fcea5d014c171b7a836113bb9b0f9f712 +0 -0
- data/spec/dummy/tmp/cache/assets/D2E/130/sprockets%2F5ebb788f274dd034257c0bc0400fae50 +0 -0
- data/spec/dummy/tmp/cache/assets/D3B/440/sprockets%2Fabe31f236167ba051f6ff849d0a7282f +0 -0
- data/spec/dummy/tmp/cache/assets/D3B/550/sprockets%2Fb61caf9834ac8c31691851ac024f26ef +0 -0
- data/spec/dummy/tmp/cache/assets/D3B/980/sprockets%2Ff0e607eb6489ed61f27a5233cae0172e +0 -0
- data/spec/dummy/tmp/cache/assets/D3B/A90/sprockets%2F3a9f74af10313e521d21dc4d78b4f9b9 +0 -0
- data/spec/dummy/tmp/cache/assets/D46/210/sprockets%2F45a8d49c8edbaf91f38ab1495430384c +0 -0
- data/spec/dummy/tmp/cache/assets/D48/DD0/sprockets%2F75d43fac4136d1bbabf481f977b78637 +0 -0
- data/spec/dummy/tmp/cache/assets/D4A/B40/sprockets%2F509d2dc1350975d781c50dffc58ef53f +0 -0
- data/spec/dummy/tmp/cache/assets/D4B/D10/sprockets%2F76e4e1fa5d891fe2261834cf322f38ef +0 -0
- data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/D50/0B0/sprockets%2F6c3a019b7442761786cc7bef8e8e7c6c +0 -0
- data/spec/dummy/tmp/cache/assets/D53/F80/sprockets%2F11d791b713f9b9cf2bb85bd7f6589b84 +0 -0
- data/spec/dummy/tmp/cache/assets/D54/BA0/sprockets%2F89de5abea3b3002f6e73210bb7a3c330 +0 -0
- data/spec/dummy/tmp/cache/assets/D54/DE0/sprockets%2F77af3e306bb966f71f83e90e2a8868db +0 -0
- data/spec/dummy/tmp/cache/assets/D5B/1F0/sprockets%2F4d98e747aa4bb9fc8859f49a45159e1c +0 -0
- data/spec/dummy/tmp/cache/assets/D64/D10/sprockets%2F9857068018fbac51ecd0a7510bcca55e +0 -0
- data/spec/dummy/tmp/cache/assets/D66/8E0/sprockets%2F0cbda18dbb9e414ed0bf1199358e1742 +0 -0
- data/spec/dummy/tmp/cache/assets/D6D/150/sprockets%2Fe84b6e0602e1c5218c9da9d46da4d74b +0 -0
- data/spec/dummy/tmp/cache/assets/D6E/870/sprockets%2F3f77e0b5396013fd145a6fdd21bc9b7f +0 -0
- data/spec/dummy/tmp/cache/assets/D71/2D0/sprockets%2F958685af3478f12a33ffaa5cfa26e0d1 +0 -0
- data/spec/dummy/tmp/cache/assets/D77/D80/sprockets%2F7ad794c63274a9812dfbabc1dae69692 +0 -0
- data/spec/dummy/tmp/cache/assets/D79/DE0/sprockets%2F9e7131d002f39be972e9918bdfbbcc66 +0 -0
- data/spec/dummy/tmp/cache/assets/D7C/3A0/sprockets%2Fec63717067efd6b2daf3423edf70f689 +0 -0
- data/spec/dummy/tmp/cache/assets/D7D/BB0/sprockets%2Fe66f1c4ba6885a4d1de08c3d81f991d9 +0 -0
- data/spec/dummy/tmp/cache/assets/D81/1D0/sprockets%2F9f446f7e8b3c18c6f7b636b71a8ba8d4 +0 -0
- data/spec/dummy/tmp/cache/assets/D81/400/sprockets%2F566656e2cc9e698b1dbbd56d6e2e6b36 +0 -0
- data/spec/dummy/tmp/cache/assets/D8C/DE0/sprockets%2Fb95e7d75de89e1285d0e6ef8d85cb508 +0 -0
- data/spec/dummy/tmp/cache/assets/D91/320/sprockets%2F322e2344c1fc1234ffd9b3142eecaf6f +0 -0
- data/spec/dummy/tmp/cache/assets/D92/9B0/sprockets%2F96f73ad8237fa0a4bb3aa8cbe083551a +0 -0
- data/spec/dummy/tmp/cache/assets/D93/0C0/sprockets%2Fab900c084c9c51c312ee3457cee8cdc2 +0 -0
- data/spec/dummy/tmp/cache/assets/D93/3F0/sprockets%2Fb6aecc2fe36010208fc8c4cc9e04672c +0 -0
- data/spec/dummy/tmp/cache/assets/D97/1B0/sprockets%2Fe0ae6a22a963d0e0819ce6436eb57cae +0 -0
- data/spec/dummy/tmp/cache/assets/D98/FD0/sprockets%2F6f253bd2bf824ac38c69bfe1418a04be +0 -0
- data/spec/dummy/tmp/cache/assets/D99/CF0/sprockets%2F015b5a48fa7906d045fc23db8a60feef +0 -0
- data/spec/dummy/tmp/cache/assets/D9A/820/sprockets%2F594caa19e550457af23ae9fba500a9fe +0 -0
- data/spec/dummy/tmp/cache/assets/D9E/220/sprockets%2Fd129fcf804e89814c2f4abbe0336cba9 +0 -0
- data/spec/dummy/tmp/cache/assets/D9E/8D0/sprockets%2F2ae41880ba1dbb6f570fe0e790678dbf +0 -0
- data/spec/dummy/tmp/cache/assets/D9E/A30/sprockets%2Fc82d9ee0ea1a5360faa296957c2bf17e +0 -0
- data/spec/dummy/tmp/cache/assets/DA0/C20/sprockets%2Fe1a590abeca61529529de36efa97b43e +0 -0
- data/spec/dummy/tmp/cache/assets/DA2/330/sprockets%2F27697dddd23a0913339ccb95dabd7ae7 +0 -0
- data/spec/dummy/tmp/cache/assets/DA3/920/sprockets%2F6c45b9f8e0152c78b3c9be1c2e8be53c +0 -0
- data/spec/dummy/tmp/cache/assets/DA5/3A0/sprockets%2Fa02e5a4a95bb7c92ec5b63f908eff870 +0 -0
- data/spec/dummy/tmp/cache/assets/DA5/BC0/sprockets%2F5b86068a872e5bd841750d6cbd2dfdbf +0 -0
- data/spec/dummy/tmp/cache/assets/DA6/360/sprockets%2F1d7b3df8a061fd27e6a956bfd84a93f1 +0 -0
- data/spec/dummy/tmp/cache/assets/DA6/A10/sprockets%2Fd226de7dc43ae36657be35fb6e31db89 +0 -0
- data/spec/dummy/tmp/cache/assets/DA8/4A0/sprockets%2Ff8ba39d58ace11df624bf7e24c7b5882 +0 -0
- data/spec/dummy/tmp/cache/assets/DA8/C30/sprockets%2Fb7d14d588a70a56d7ddac542eef557d6 +0 -0
- data/spec/dummy/tmp/cache/assets/DAE/680/sprockets%2Fcd28d437e7fc959fe1e328bca40f5e74 +0 -0
- data/spec/dummy/tmp/cache/assets/DB2/1F0/sprockets%2F9fe57997f92efbee3b03df4510a2df57 +0 -0
- data/spec/dummy/tmp/cache/assets/DB8/C30/sprockets%2Fca860af2d10e0c745b6e38b12dabe05f +0 -0
- data/spec/dummy/tmp/cache/assets/DBF/630/sprockets%2F8423ad7ae72b0bc6baeac10405389fdf +0 -0
- data/spec/dummy/tmp/cache/assets/DC1/530/sprockets%2F4db0b289eee7dad03453a5924c20dcfa +0 -0
- data/spec/dummy/tmp/cache/assets/DC2/BA0/sprockets%2Feb1b52f8e6baba5409e0e09c3cc70e45 +0 -0
- data/spec/dummy/tmp/cache/assets/DCF/0B0/sprockets%2F23db7ab96a5549546bbdd0bc2e6ea86f +0 -0
- data/spec/dummy/tmp/cache/assets/DD0/EE0/sprockets%2F4b34c7c215efccbeaf495ee4715734fb +0 -0
- data/spec/dummy/tmp/cache/assets/DD4/990/sprockets%2F8dc6b77dc74dfdf830aa8f19b92c130d +0 -0
- data/spec/dummy/tmp/cache/assets/DD7/FC0/sprockets%2Fdee985ae48773ae9b4fc4dd0b85ce201 +0 -0
- data/spec/dummy/tmp/cache/assets/DD8/DC0/sprockets%2Fcc82f3b4753fc2d729ebbcfec94e3077 +0 -0
- data/spec/dummy/tmp/cache/assets/DD9/170/sprockets%2Fccaea8553317199dc77c526fefdfbb27 +0 -0
- data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/DEA/350/sprockets%2Ffc836da09a20cdbc0b7b49b2525e1bbe +0 -0
- data/spec/dummy/tmp/cache/assets/DF1/A10/sprockets%2Fa925a815ca0bff4d6f42fbdf0d323a4f +0 -0
- data/spec/dummy/tmp/cache/assets/DF3/820/sprockets%2Fede955e751bbec440cbbfc00473c34ec +0 -0
- data/spec/dummy/tmp/cache/assets/DFC/4B0/sprockets%2F30bac9bffe7e6a5ae42a675f55d1c29a +0 -0
- data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/E09/1A0/sprockets%2Fc76bb4e6dbb4f2afc0f09c79a41e988f +0 -0
- data/spec/dummy/tmp/cache/assets/E2D/E20/sprockets%2Fec8c39aa4e1ce3059eeab8f265ead07d +0 -0
- data/spec/dummy/tmp/cache/assets/E2E/010/sprockets%2Fab7b35e5d27eba9893aaef6f2bde1b72 +0 -0
- data/spec/dummy/tmp/cache/assets/E2E/A50/sprockets%2Fc7e5c2d6c06cfc59aabd0f814de69c3c +0 -0
- data/spec/dummy/tmp/cache/assets/E4B/EE0/sprockets%2F06c4dea4fc3cb561b87bd078aab0facc +0 -0
- data/spec/dummy/tmp/cache/assets/E5E/A60/sprockets%2Ff83d84dceff86c25a7bab27cbff33ac0 +0 -0
- data/spec/dummy/tmp/cache/assets/E6D/8B0/sprockets%2F9edfdf7e85cdd1a69b0eb14c6ce8ed19 +0 -0
- data/spec/dummy/tmp/cache/assets/E94/6D0/sprockets%2F3bdb0f5d3a20cbd18bafaaea4ba2a7b2 +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-3619/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-6961/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1614-5904-8166/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-2793/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-4124/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130503-1630-6161-5065/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-0167/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-1078/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1009-4529-8277/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-5926/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8555/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1015-4718-8970/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-2822/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-5903/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130506-1016-4827-7236/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1171/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-1953/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2097/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2484/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2606/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-2640/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3942/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-3995/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4465/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4513/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4527/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-4926/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5213/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5546/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5678/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-5947/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6549/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6797/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6962/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-6970/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8091/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8800/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-8918/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9407/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9499/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9908/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1348-12420-9932/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-0034/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-2633/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-3840/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-4800/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-6878/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7145/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7187/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130514-1349-12420-7499/thumb_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/normal_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/small_placeholder.png +0 -0
- data/spec/dummy/tmp/uploads/20130515-1904-24025-2789/thumb_placeholder.png +0 -0
- data/spec/factories/blocks.rb +1 -0
- data/spec/factories/keyframes.rb +8 -0
- data/spec/factories/layer.rb +33 -0
- data/spec/features/blocks/create_spec.rb +8 -5
- data/spec/features/blocks/delete_spec.rb +2 -2
- data/spec/features/blocks/edit_spec.rb +29 -7
- data/spec/features/blocks/index_spec.rb +15 -0
- data/spec/features/blocks/show_spec.rb +19 -5
- data/spec/features/layers/animation_layers/create_spec.rb +27 -0
- data/spec/features/layers/animation_layers/edit_spec.rb +27 -0
- data/spec/features/layers/embed_layers/create_spec.rb +25 -0
- data/spec/features/layers/embed_layers/edit_spec.rb +28 -0
- data/spec/features/layers/image_layers/create_spec.rb +8 -5
- data/spec/features/layers/image_layers/delete_spec.rb +3 -4
- data/spec/features/layers/image_layers/edit_spec.rb +34 -6
- data/spec/features/layers/paragraph_layers/create_spec.rb +27 -0
- data/spec/features/layers/paragraph_layers/edit_spec.rb +31 -0
- data/spec/features/layers/text_layers/create_spec.rb +29 -0
- data/spec/features/layers/text_layers/edit_spec.rb +29 -0
- data/spec/features/logout_spec.rb +12 -0
- data/spec/features/pages/edit_spec.rb +74 -0
- data/spec/features/pages/show_spec.rb +32 -0
- data/spec/models/animation_layer_spec.rb +46 -0
- data/spec/models/block_spec.rb +18 -0
- data/spec/models/embed_layer_spec.rb +21 -0
- data/spec/models/end_state_keyframe_spec.rb +18 -0
- data/spec/models/image_layer_spec.rb +19 -0
- data/spec/models/keyframe_spec.rb +185 -0
- data/spec/models/layer_spec.rb +147 -0
- data/spec/models/page_spec.rb +57 -7
- data/spec/models/paragraph_layer_spec.rb +44 -0
- data/spec/models/start_state_keyframe_spec.rb +18 -0
- data/spec/models/target_state_keyframe_spec.rb +18 -0
- data/spec/models/text_layer_spec.rb +56 -0
- data/spec/placeholder.png +0 -0
- data/spec/spec_helper.rb +4 -1
- data/spec/support/lets.rb +17 -6
- data/spec/validators/css_name_validator_spec.rb +34 -0
- data/spec/view_objects/animation_layer_view_object_spec.rb +77 -0
- data/spec/view_objects/image_layer_view_object_spec.rb +13 -0
- data/spec/view_objects/keyframe_view_object_spec.rb +119 -0
- data/spec/view_objects/layer_view_object_spec.rb +57 -0
- data/spec/view_objects/paragraph_layer_view_object_spec.rb +23 -0
- data/spec/view_objects/text_layer_view_object_spec.rb +33 -0
- data/vendor/assets/javascripts/jquery-1.8.3.min.js +2 -0
- data/vendor/assets/javascripts/jquery.easing.1.3.js +205 -0
- data/vendor/assets/javascripts/jquery.quicksand.js +443 -0
- data/vendor/assets/javascripts/scroll-startstop.events.jquery.js +69 -0
- data/vendor/assets/javascripts/skrollr.ie.min.js +2 -0
- data/vendor/assets/javascripts/skrollr.min.js +2 -0
- data/vendor/assets/javascripts/skrollr.mobile.min.js +2 -0
- metadata +816 -101
- data/app/views/layouts/flms/application.html.erb +0 -14
- data/db/migrate/20130312220011_create_flms_layers.rb +0 -13
- data/db/migrate/20130313002421_add_image_to_layers.rb +0 -5
- data/spec/dummy/tmp/pids/server.pid +0 -1
- data/spec/factories/image_layer.rb +0 -6
- data/spec/features/blocks/activating_blocks_spec.rb +0 -18
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::ParagraphLayer do
|
4
|
+
include NamedFactories
|
5
|
+
|
6
|
+
describe 'view_object' do
|
7
|
+
it 'provides a view object' do
|
8
|
+
expect(subject.view_object).to be_a Flms::ParagraphLayerViewObject
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'defaults' do
|
13
|
+
it 'generates a default width' do
|
14
|
+
expect(subject.width).to eql 0.2
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'validation' do
|
19
|
+
describe 'header' do
|
20
|
+
it 'does not permit null header' do
|
21
|
+
paragraph_layer_1a1.update_attribute(:header, nil)
|
22
|
+
expect(paragraph_layer_1a1).to have(1).error_on(:header)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'body' do
|
27
|
+
it 'does not permit null body' do
|
28
|
+
paragraph_layer_1a1.update_attribute(:body, nil)
|
29
|
+
expect(paragraph_layer_1a1).to have(1).error_on(:body)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'defaults' do
|
35
|
+
it 'sets default font color of fff' do
|
36
|
+
expect(subject.color).to eql 'fff'
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'sets default width to 20%' do
|
40
|
+
expect(subject.width).to eql 0.20
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::StartStateKeyframe do
|
4
|
+
describe 'defaults' do
|
5
|
+
it 'initializes correct defaults for a start keyframe' do
|
6
|
+
k = Flms::StartStateKeyframe.new
|
7
|
+
expect(k.scroll_start).to eql 0
|
8
|
+
expect(k.scroll_duration).to eql 100
|
9
|
+
expect(k.width).to eql 1.0
|
10
|
+
expect(k.height).to eql 1.0
|
11
|
+
expect(k.position_x).to eql 0.5
|
12
|
+
expect(k.position_y).to eql 0.5
|
13
|
+
expect(k.opacity).to eql 0.0
|
14
|
+
expect(k.scale).to eql 1.0
|
15
|
+
expect(k.blur).to eql 0.0
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::TargetStateKeyframe do
|
4
|
+
describe 'defaults' do
|
5
|
+
it 'initializes correct defaults for a target keyframe' do
|
6
|
+
k = Flms::TargetStateKeyframe.new
|
7
|
+
expect(k.scroll_start).to be_nil
|
8
|
+
expect(k.scroll_duration).to eql 100
|
9
|
+
expect(k.width).to eql 1.0
|
10
|
+
expect(k.height).to eql 1.0
|
11
|
+
expect(k.position_x).to eql 0.5
|
12
|
+
expect(k.position_y).to eql 0.5
|
13
|
+
expect(k.opacity).to eql 1.0
|
14
|
+
expect(k.scale).to eql 1.0
|
15
|
+
expect(k.blur).to eql 0.0
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::TextLayer do
|
4
|
+
include NamedFactories
|
5
|
+
|
6
|
+
describe 'view_object' do
|
7
|
+
it 'provides a view object' do
|
8
|
+
expect(Flms::TextLayer.new.view_object.is_a?(Flms::TextLayerViewObject)).to be_true
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'validation' do
|
13
|
+
describe 'color' do
|
14
|
+
it 'permits 3-digit hex color' do
|
15
|
+
text_layer_1a1.update_attribute(:color, '1bc')
|
16
|
+
expect(text_layer_1a1.color).to eql '1bc'
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'permits 6-digit hex color' do
|
20
|
+
text_layer_1a1.update_attribute(:color, 'abcdef')
|
21
|
+
expect(text_layer_1a1.color).to eql 'abcdef'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'does not permit non-hex color' do
|
25
|
+
text_layer_1a1.update_attribute(:color, 'abadcolorvalue')
|
26
|
+
expect(text_layer_1a1).to have(1).error_on(:color)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'text' do
|
31
|
+
it 'does not permit null text' do
|
32
|
+
text_layer_1a1.update_attribute(:text, nil)
|
33
|
+
expect(text_layer_1a1).to have(1).error_on(:text)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'font_size' do
|
38
|
+
it 'does not permit negative size' do
|
39
|
+
text_layer_1a1.update_attribute(:font_size, -1.0)
|
40
|
+
expect(text_layer_1a1).to have(1).error_on(:font_size)
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'does not permit null size' do
|
44
|
+
text_layer_1a1.update_attribute(:font_size, nil)
|
45
|
+
expect(text_layer_1a1).to have(1).error_on(:font_size)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe 'defaults' do
|
51
|
+
it 'sets default font color of fff' do
|
52
|
+
expect(subject.color).to eql 'fff'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
Binary file
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
|
1
4
|
# Configure Rails Environment
|
2
5
|
ENV["RAILS_ENV"] = "test"
|
3
6
|
|
@@ -36,7 +39,7 @@ RSpec.configure do |config|
|
|
36
39
|
config.include FactoryGirl::Syntax::Methods
|
37
40
|
config.include CapybaraHelpers
|
38
41
|
|
39
|
-
DatabaseCleaner.strategy = :
|
42
|
+
DatabaseCleaner.strategy = :truncation
|
40
43
|
|
41
44
|
config.before(:suite) do
|
42
45
|
DatabaseCleaner.clean_with :deletion
|
data/spec/support/lets.rb
CHANGED
@@ -7,15 +7,26 @@ module NamedFactories
|
|
7
7
|
let(:user_2) { create :user }
|
8
8
|
let(:page_1) { create :page }
|
9
9
|
let(:page_2) { create :page }
|
10
|
-
let(:block) { create :block }
|
11
|
-
let(:block_1a) { block = create :block
|
12
|
-
block.blocks_pages.create page: page_1, ordering: 1
|
10
|
+
let(:block) { create :block, name: 'block-unassigned' }
|
11
|
+
let(:block_1a) { block = create :block, name: 'block-1a'
|
12
|
+
block.blocks_pages.create page: page_1, ordering: 1, active: true
|
13
13
|
block }
|
14
|
-
let(:
|
14
|
+
let(:block_1b_inactive) { block = create :block, name: 'block-1b-inactive'
|
15
15
|
block.blocks_pages.create page: page_1, ordering: 2
|
16
16
|
block }
|
17
|
-
let(:
|
18
|
-
|
17
|
+
let(:block_1c) { block = create :block, name: 'block-1c'
|
18
|
+
block.blocks_pages.create page: page_1, ordering: 3, active: true
|
19
|
+
block }
|
20
|
+
let(:layer_1a1) { create :layer, block: block_1a }
|
21
|
+
let(:layer_1a2) { create :layer, block: block_1a }
|
22
|
+
let(:image_layer_1a1) { create :image_layer, block: block_1a }
|
23
|
+
let(:image_layer_1a2) { create :image_layer, block: block_1a }
|
24
|
+
let(:image_layer_1b1_inactive) { create :image_layer, block: block_1b_inactive }
|
25
|
+
let(:image_layer_1c1) { create :image_layer, block: block_1c }
|
26
|
+
let(:text_layer_1a1) { create :text_layer, block: block_1a }
|
27
|
+
let(:paragraph_layer_1a1) { create :paragraph_layer, block: block_1a }
|
28
|
+
let(:embed_layer_1a1) { create :embed_layer, block: block_1a }
|
29
|
+
let(:animation_layer_1a1) { create :animation_layer, block: block_1a }
|
19
30
|
|
20
31
|
let(:default_access_granted_check) { response.success? }
|
21
32
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class Validatable
|
4
|
+
include ActiveModel::Validations
|
5
|
+
attr_accessor :name
|
6
|
+
validates :name, :'flms/css_name' => true
|
7
|
+
end
|
8
|
+
|
9
|
+
RSpec::Matchers.define :accept_css_name do |name|
|
10
|
+
match do |subject|
|
11
|
+
subject.name = name
|
12
|
+
subject.valid?
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe Flms::CssNameValidator do
|
17
|
+
subject { Validatable.new }
|
18
|
+
|
19
|
+
it 'does not accept names with whitespace' do
|
20
|
+
expect(subject).to_not accept_css_name 'this is an invalid css name'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'does not accept names with numbers in front' do
|
24
|
+
expect(subject).to_not accept_css_name '123-no-way-jose'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'does not accept names with a period in front' do
|
28
|
+
expect(subject).to_not accept_css_name '.otherwise-ok'
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'accepts a valid css name' do
|
32
|
+
expect(subject).to accept_css_name 'this-is_a_valid_css-class-12345'
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::AnimationLayerViewObject do
|
4
|
+
let(:animation_layer) { create :animation_layer, frame_rate: 100, frame_count: 3 }
|
5
|
+
let(:view_object) { Flms::AnimationLayerViewObject.new(animation_layer) }
|
6
|
+
|
7
|
+
describe 'src' do
|
8
|
+
it 'returns url of attached image' do
|
9
|
+
expect(view_object.src).to eql '/uploads/flms/animation_layer/image/1/placeholder.png'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe 'frame_sprite_height' do
|
14
|
+
before { animation_layer.stub(:image_height).and_return 30 }
|
15
|
+
|
16
|
+
it 'correctly calculates sprite height given image height' do
|
17
|
+
expect(view_object.frame_sprite_height).to eql 10
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe 'frame_pixel_start' do
|
22
|
+
it 'provides correct pixel offset for frame 0' do
|
23
|
+
expect(view_object.frame_pixel_start(0, 2)).to eql 2
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'provides correct pixel offset for frame 1' do
|
27
|
+
expect(view_object.frame_pixel_start(1, 2)).to eql 102
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'frame_pixel_end' do
|
32
|
+
it 'provides correct pixel offset for frame 0' do
|
33
|
+
expect(view_object.frame_pixel_end(0, 2)).to eql 101
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'provides correct pixel offset for frame 1' do
|
37
|
+
expect(view_object.frame_pixel_end(1, 2)).to eql 201
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe 'frames_attributes' do
|
42
|
+
let(:attributes) { view_object.frames_attributes(1) }
|
43
|
+
before do
|
44
|
+
animation_layer.stub(:image_width).and_return 5
|
45
|
+
animation_layer.stub(:image_height).and_return 30
|
46
|
+
animation_layer.stub_chain(:image, :url).and_return "www.test.url.com"
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'sets the correct width and height for the div based on image size and frame count' do
|
50
|
+
expect(attributes[:style]).to match "width: 5px"
|
51
|
+
expect(attributes[:style]).to match "height: 10px"
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'provides the URL for the background image' do
|
55
|
+
expect(attributes[:style]).to match "background-image: url\\(www.test.url.com\\)"
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'includes data points at frame boundaries' do
|
59
|
+
expect(attributes).to have_key "data-1"
|
60
|
+
expect(attributes).to have_key "data-100"
|
61
|
+
expect(attributes).to have_key "data-101"
|
62
|
+
expect(attributes).to have_key "data-200"
|
63
|
+
expect(attributes).to have_key "data-201"
|
64
|
+
expect(attributes).to have_key "data-300"
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'provides correct background positions for frames relative to image size' do
|
68
|
+
expect(attributes['data-1']).to match "background-position: 0 0"
|
69
|
+
expect(attributes['data-100']).to match "background-position: 0 0"
|
70
|
+
expect(attributes['data-101']).to match "background-position: 0 -10"
|
71
|
+
expect(attributes['data-200']).to match "background-position: 0 -10"
|
72
|
+
expect(attributes['data-201']).to match "background-position: 0 -20"
|
73
|
+
expect(attributes['data-300']).to match "background-position: 0 -20"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::ImageLayerViewObject do
|
4
|
+
let(:image_layer) { create :image_layer }
|
5
|
+
let(:view_object) { Flms::ImageLayerViewObject.new(image_layer) }
|
6
|
+
|
7
|
+
describe 'src' do
|
8
|
+
it 'returns url of attached image' do
|
9
|
+
expect(view_object.src).to eql '/uploads/flms/image_layer/image/1/placeholder.png'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::KeyframeViewObject do
|
4
|
+
let(:test_keyframe) { create :keyframe,
|
5
|
+
scroll_start: 1, scroll_duration: 2,
|
6
|
+
width: 0.3, height: 0.4,
|
7
|
+
position_x: 0.5, position_y: 0.6,
|
8
|
+
margin_left: 0.1, margin_top: 0.2,
|
9
|
+
opacity: 0.7, scale: 0.8, blur: 0.9 }
|
10
|
+
let!(:view_object) { Flms::KeyframeViewObject.new(test_keyframe) }
|
11
|
+
|
12
|
+
describe 'styles' do
|
13
|
+
it 'generates correct style attributes' do
|
14
|
+
styles = view_object.styles
|
15
|
+
expect(styles).to match 'left: 50.0%;'
|
16
|
+
expect(styles).to match 'top: 60.0%;'
|
17
|
+
expect(styles).to match 'opacity: 0.7;'
|
18
|
+
expect(styles).to match 'filter: blur\(0.9\);'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe 'pinning' do
|
23
|
+
it 'generates correct attributes' do
|
24
|
+
styles = view_object.pinning(0.3, 0.4)
|
25
|
+
expect(styles).to match "width: #{ test_keyframe.scale * 30 }%;"
|
26
|
+
expect(styles).to match "height: #{ test_keyframe.scale * 40 }%;"
|
27
|
+
expect(styles).to match "margin-left: #{ (test_keyframe.position_x * test_keyframe.scale * -30) + 10 }%"
|
28
|
+
expect(styles).to match "margin-top: #{ (test_keyframe.position_y * test_keyframe.scale * -40) + 20 }%"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe 'style for attribute' do
|
33
|
+
describe 'formatted as decimal' do
|
34
|
+
it 'generates correct format for keyframe attributes' do
|
35
|
+
stub_const 'Flms::KeyframeViewObject::KEYFRAME_ATTRIBUTE_FORMATTERS', { test: :format_as_decimal }
|
36
|
+
expect(view_object.style_for_attribute(:test, 0.5)).to eql 'test: 0.5;'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe 'formatted as percent' do
|
41
|
+
it 'generates correct format for keyframe attributes' do
|
42
|
+
stub_const 'Flms::KeyframeViewObject::KEYFRAME_ATTRIBUTE_FORMATTERS', { test: :format_as_percent }
|
43
|
+
expect(view_object.style_for_attribute(:test, 0.5)).to eql 'test: 50.0%;'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe 'formatted as px' do
|
48
|
+
it 'generates correct format for keyframe attributes' do
|
49
|
+
stub_const 'Flms::KeyframeViewObject::KEYFRAME_ATTRIBUTE_FORMATTERS', { test: :format_as_px }
|
50
|
+
expect(view_object.style_for_attribute(:test, 50.0)).to eql 'test: 50.0px;'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'formatted as transform' do
|
55
|
+
it 'generates correct format for keyframe attributes' do
|
56
|
+
stub_const 'Flms::KeyframeViewObject::KEYFRAME_ATTRIBUTE_FORMATTERS', { test: :format_as_transform }
|
57
|
+
expect(view_object.style_for_attribute(:test, 50.0)).to eql 'transform: test(50.0);'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe 'formatted as filter' do
|
62
|
+
it 'generates correct format for keyframe attributes' do
|
63
|
+
stub_const 'Flms::KeyframeViewObject::KEYFRAME_ATTRIBUTE_FORMATTERS', { test: :format_as_filter }
|
64
|
+
expect(view_object.style_for_attribute(:test, 50.0)).to eql 'filter: test(50.0);'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe 'translation using KEYFRAME_ATTRIBUTE_NAMES_TO_CSS' do
|
69
|
+
it 'translates :position_x to \'left\'' do
|
70
|
+
expect(view_object.style_for_attribute(:position_x)).to eql 'left: 50.0%;'
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'translates :position_y to \'top\'' do
|
74
|
+
expect(view_object.style_for_attribute(:position_y)).to eql 'top: 60.0%;'
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'raises an error if an invalid attribute is specified' do
|
79
|
+
expect { view_object.style_for_attribute(:a_bad_attribute) }.to raise_error
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'generates correct style when attribute value is overridden' do
|
83
|
+
expect(view_object.style_for_attribute(:width, -0.123)).to eql 'width: -12.3%;'
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe 'attribute formatters' do
|
88
|
+
describe 'format_as_decimal' do
|
89
|
+
it 'converts correctly' do
|
90
|
+
expect(view_object.format_as_decimal('name', -0.123)).to eql 'name: -0.123'
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe 'format_as_percent' do
|
95
|
+
it 'converts correctly' do
|
96
|
+
expect(view_object.format_as_percent('name', -0.123)).to eql 'name: -12.3%'
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'handles arbitrary number of decimal places' do
|
100
|
+
expect(view_object.format_as_percent('name', 0.1)).to eql 'name: 10.0%'
|
101
|
+
expect(view_object.format_as_percent('name', -0.123456)).to eql 'name: -12.3456%'
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
describe 'format_as_transform' do
|
106
|
+
it 'formats attribute correctly' do
|
107
|
+
expect(view_object.format_as_transform('name', 'value')).to eql 'transform: name(value)'
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
describe 'format_as_filter' do
|
112
|
+
it 'formats attribute correctly' do
|
113
|
+
expect(view_object.format_as_filter('name', 'value')).to eql 'filter: name(value)'
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Flms::LayerViewObject do
|
4
|
+
|
5
|
+
describe 'view_partial_name' do
|
6
|
+
let(:layer_view_object) { Flms::LayerViewObject.new(create :layer) }
|
7
|
+
let(:layer_view_object_with_image_layer) { Flms::LayerViewObject.new(create :image_layer) }
|
8
|
+
let(:layer_view_object_with_text_layer) { Flms::LayerViewObject.new(create :text_layer) }
|
9
|
+
let(:layer_view_object_with_paragraph_layer) { Flms::LayerViewObject.new(create :paragraph_layer) }
|
10
|
+
let(:layer_view_object_with_embed_layer) { Flms::LayerViewObject.new(create :embed_layer) }
|
11
|
+
let(:layer_view_object_with_animation_layer) { Flms::LayerViewObject.new(create :animation_layer) }
|
12
|
+
|
13
|
+
it "should return 'layer' for a Layer" do
|
14
|
+
expect(layer_view_object.view_partial_name).to eql 'flms/elements/layer'
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should return 'image_layer' for an ImageLayer" do
|
18
|
+
expect(layer_view_object_with_image_layer.view_partial_name).to eql 'flms/elements/image_layer'
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should return 'text_layer' for a TextLayer" do
|
22
|
+
expect(layer_view_object_with_text_layer.view_partial_name).to eql 'flms/elements/text_layer'
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should return 'paragraph_layer' for a ParagraphLayer" do
|
26
|
+
expect(layer_view_object_with_paragraph_layer.view_partial_name).to eql 'flms/elements/paragraph_layer'
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should return 'embed_layer' for a EmbedLayer" do
|
30
|
+
expect(layer_view_object_with_embed_layer.view_partial_name).to eql 'flms/elements/embed_layer'
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should return 'animation_layer' for a AnimationLayer" do
|
34
|
+
expect(layer_view_object_with_animation_layer.view_partial_name).to eql 'flms/elements/animation_layer'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe 'keyframe_data_hash' do
|
39
|
+
let(:view_object) { Flms::LayerViewObject.new(create :layer) }
|
40
|
+
let(:data) { view_object.keyframe_data_hash(1) }
|
41
|
+
|
42
|
+
it 'anchors to correct target' do
|
43
|
+
expect(data['data-anchor-target']).to eql '#skrollr-body'
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'styles z-index' do
|
47
|
+
expect(data[:style]).to match "z-index: 0;"
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'generates scroll positions correctly and includes scroll offset' do
|
51
|
+
expect(data).to have_key 'data-1'
|
52
|
+
expect(data).to have_key 'data-101'
|
53
|
+
expect(data).to have_key 'data-201'
|
54
|
+
expect(data).to have_key 'data-301'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|