exo_cms 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +3 -5
- data/app/controllers/concerns/exo/admin/{site_slug_id_filter.rb → site_restriction.rb} +3 -3
- data/app/controllers/concerns/exo/host_restriction.rb +32 -0
- data/app/controllers/concerns/exo/{route_filter.rb → request_restriction.rb} +8 -6
- data/app/controllers/exo/admin/assets_controller.rb +4 -4
- data/app/controllers/exo/admin/ckeditor_assets_controller.rb +2 -2
- data/app/controllers/exo/admin/ckeditor_blocks_controller.rb +3 -3
- data/app/controllers/exo/admin/contributors_controller.rb +2 -2
- data/app/controllers/exo/admin/items_controller.rb +3 -3
- data/app/controllers/exo/admin/pages_controller.rb +2 -2
- data/app/controllers/exo/admin/resources_controller.rb +2 -2
- data/app/controllers/exo/admin/routes_controller.rb +2 -2
- data/app/controllers/exo/admin/sessions_controller.rb +2 -0
- data/app/controllers/exo/admin/settings_controller.rb +5 -5
- data/app/controllers/exo/admin/site_controller.rb +1 -1
- data/app/controllers/exo/{admin/application_controller.rb → admin_controller.rb} +3 -3
- data/app/controllers/exo/gridfs_controller.rb +3 -3
- data/app/controllers/exo/pages_controller.rb +8 -9
- data/app/controllers/exo_controller.rb +4 -0
- data/app/helpers/exo/block_helper.rb +1 -1
- data/app/helpers/exo/resources_helper.rb +1 -1
- data/app/models/exo/app_service.rb +3 -0
- data/app/models/exo/block.rb +9 -11
- data/app/presenters/exo/item_decorator.rb +23 -0
- data/app/presenters/exo/resource_decorator.rb +21 -0
- data/app/presenters/exo/route_decorator.rb +23 -0
- data/app/presenters/exo/site_decorator.rb +25 -0
- data/app/resources/templates/application.html.haml +3 -3
- data/app/services/exo/config.rb +2 -0
- data/app/services/exo/router.rb +33 -0
- data/app/views/exo/admin/{application/_bheader.html.haml → _bheader.html.haml} +0 -0
- data/app/views/exo/admin/{application/_editor_header.html.haml → _editor_header.html.haml} +0 -0
- data/app/views/exo/admin/{application/_header.html.haml → _header.html.haml} +2 -2
- data/app/views/exo/admin/{application/_meta_errors.html.haml → _meta_errors.html.haml} +0 -0
- data/app/views/exo/admin/{application/_sidebar.html.haml → _sidebar.html.haml} +0 -0
- data/app/views/exo/admin/{application/_sidenav.html.haml → _sidenav.html.haml} +23 -17
- data/app/views/exo/admin/contributors/index.html.haml +1 -1
- data/app/views/exo/admin/{application/fields → fields}/_image.html.haml +0 -0
- data/app/views/exo/admin/{application/fields → fields}/_markdown.html.haml +0 -0
- data/app/views/exo/admin/items/show.html.haml +3 -3
- data/app/views/exo/admin/resources/index.html.haml +1 -1
- data/app/views/exo/admin/routes/index.html.haml +1 -1
- data/app/views/exo/admin/routes/show.html.haml +1 -1
- data/app/views/layouts/{application.html.erb → application.html.erb.tmp} +0 -0
- data/app/views/layouts/exo/admin/application.html.haml +1 -1
- data/app/views/layouts/exo/admin/editor.html.haml +2 -2
- data/config/initializers/devise.rb +27 -19
- data/config/routes.rb +1 -0
- data/lib/exo.rb +18 -7
- data/lib/exo/engine.rb +0 -2
- data/lib/exo/regexp.rb +7 -5
- data/lib/exo/version.rb +1 -1
- data/lib/generators/exo/install_generator.rb +20 -0
- data/lib/generators/exo/templates/engine_routes.rb +2 -0
- data/lib/generators/exo/templates/gems.rb +5 -0
- data/lib/generators/exo/templates/initializer.rb +5 -0
- data/spec/dummy/app/controllers/exo/admin/customs_controller.rb +1 -1
- data/spec/dummy/app/controllers/my_app/site_customs_controller.rb +1 -1
- data/spec/dummy/app/views/{a_sierra_theme → an_exo_theme}/a_page.html.haml +0 -0
- data/spec/dummy/app/views/an_exo_theme/a_page_with_block.html.haml +3 -0
- data/spec/dummy/app/views/layouts/{a_sierra_theme → an_exo_theme}/application.html.erb +0 -0
- data/spec/dummy/app/views/layouts/demo/application.html.haml +3 -3
- data/spec/dummy/config/application.rb +2 -1
- data/spec/dummy/config/initializers/exo.rb +2 -0
- data/spec/dummy/log/development.log +1938 -1
- data/spec/dummy/tmp/cache/assets/development/sprockets/03bec07d16adc41979a9767aaf23a5bf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/05d652e83e6b6823771fca143eabff87 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/063d6d3a982ac3bfa05750bd3d01416e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0b8cbd6c43ff11ed3ab96976a2e98e2b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0c48f6c7a09d069017a22749c940fd6a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0da0612d0055abcde88349af8cbdaffc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0e1b30ba4880626e3c136ff23d15f277 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0f621a895f3d0916a756a8c7313c7120 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/18fedf436371d2979b37a490e2cbcacf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1f93865a20acec72a1870a7f9d348cc0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/219ff56291853001c0fe482a28484813 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/224aace438e22fd51b5b2b6a45a4d69f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/24d0fbc91349d4114a1eefbe058c8fba +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2a6027bbfa613448003ab80bfc3249f2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2c71b158948039606eb85485d93ed206 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3360fbdb00ed8ef59706becb7dbb41e4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/34f82b1703cb8350ca18f16392967779 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3b300b301493f1baf5d9dc2969701185 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3d2b5b35fe7888d5139899d2e067d2ce +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3dfa6cb0540572b6362a1d5e6a1f6d26 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/412b23d9dc12a05a414cae1e5a3fbbf8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/41acdde13a0132b81cbc4951661048cb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/41d37ff244c3daef0583214fbef2c560 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/48c744a9d1e3e5b052f995545823c315 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/497a85ce66b5ead32a647661d0bada21 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4a5a6e9cf9074d00b627b83cf85c62f9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4cd21bd7ac15013e918411a6001c4472 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/576d1d5819328f9c5e52bbec45cb991e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6089ad88fceb548141d376101c88bc94 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/667b895b188f4435053278e2497ac7b9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6df5499acca0edd86677d5beec5c2b18 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/716d07423ee379b258338cb932e39d25 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/717887cd48fa79a99d0c71e392750d58 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/727bcd360e44edbb990ea53347896a64 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/73f77b33ce0f17becb6e75ff1082c43e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/741b8483fbcabf9c321f7db58e78c3d8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/759a59934e8cb39ace939db6b3ca6c1a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/76d85daa1c4000f529bf26504ebde8d9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7888c5b61b2cd04d7ee4cf78ab510eb5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/797b3e33d6e04a512949c083da9c8819 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7ccfc79620770d38c5bd539c16fca755 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7eee5343ea643e8ac6dfa9282bbc4547 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7ef0c015d0ad290b8ffcd526afb67834 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/85556c6543bc5bde199eee0c8096d83e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/86d06f76cdbdc83c9621c928d42fa346 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8bb68b74b9c6d04b2172ef5589d5b1a5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/905ad43b3fc55108ad345c6255ddcfb8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9a65689623c3096b82dd97819ef02b79 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9b1352fb7f42bed64bf100b191511e0d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a7244c34cc0ff696fbfe2fccb04cb04b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b162acd8d30fdf3dd12192251e427c66 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b30e4385f999fefded784baa3436ecd3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b9df96c25252b82da00791df6d017199 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ba27cf3baf39fb89f47836875af24dd8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c02127f4958e88d15dad1754931334aa +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ca6ae3b0212906e203a675ad02a7729e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cb679ef7ff0235de4855aa5ee7c4fb27 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cb9e847b58fe12c042e8e608905c4c38 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/db9141fa82b703a2439a562438fc6f04 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e3efb6f18e9d6f7f1f7a2bfdb4a616d3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e5182eea228cd4e352dc35de5b86d387 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f20c3ba49438960a7f1184ec1aece636 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f3c6a93068f488ad8f54bf72f206fa3b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f952832de9d68bc78aae760f4d85d675 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fca2562e4bd00a9aaf122c2a9e76eea5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/1117950fc1adf8b31294376d9067eb7feadc7de0/colorize.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/1117950fc1adf8b31294376d9067eb7feadc7de0/content.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/1117950fc1adf8b31294376d9067eb7feadc7de0/header.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/1117950fc1adf8b31294376d9067eb7feadc7de0/sidebar.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/1117950fc1adf8b31294376d9067eb7feadc7de0/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/1117950fc1adf8b31294376d9067eb7feadc7de0/wrapper.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/238d7e2ec3d3030371e96efa23f1677a0a064045/_functions.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_accordion.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_alert-boxes.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_block-grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_breadcrumbs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_button-groups.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_clearing.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_dropdown-buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_dropdown.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_flex-video.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_global.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_inline-lists.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_joyride.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_keystrokes.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_labels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_magellan.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_offcanvas.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_orbit.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_pagination.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_panels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_pricing-tables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_progress-bars.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_reveal.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_side-nav.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_split-buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_sub-nav.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_switch.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_tables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_tabs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_thumbs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_tooltips.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_top-bar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_type.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/277777414a383c3fe6a5a46b95c6fecc44307daf/_visibility.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/54bc91a8b995104fa44ba264c53dbd8d0a6ce1eb/font-awesome.css.erbc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/689cee5da0d308518a9400df205830efb3b2004b/foundation.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/868bdcd3c8e6bd73d750879e972f235f451b00af/application.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/868bdcd3c8e6bd73d750879e972f235f451b00af/foundation_and_overrides.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/868bdcd3c8e6bd73d750879e972f235f451b00af/responsive-tables.cssc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/05d652e83e6b6823771fca143eabff87 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/063d6d3a982ac3bfa05750bd3d01416e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0b8cbd6c43ff11ed3ab96976a2e98e2b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0da0612d0055abcde88349af8cbdaffc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0e1b30ba4880626e3c136ff23d15f277 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0f621a895f3d0916a756a8c7313c7120 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1f93865a20acec72a1870a7f9d348cc0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/224aace438e22fd51b5b2b6a45a4d69f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2a6027bbfa613448003ab80bfc3249f2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3360fbdb00ed8ef59706becb7dbb41e4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/34f82b1703cb8350ca18f16392967779 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3d2b5b35fe7888d5139899d2e067d2ce +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/412b23d9dc12a05a414cae1e5a3fbbf8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/41d37ff244c3daef0583214fbef2c560 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/447161da5ee42f4d3b0702a328975499 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4a5a6e9cf9074d00b627b83cf85c62f9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4cd21bd7ac15013e918411a6001c4472 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/576d1d5819328f9c5e52bbec45cb991e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5e9e6e4b1c4bb6da2f89517e17fdca8b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6089ad88fceb548141d376101c88bc94 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6df5499acca0edd86677d5beec5c2b18 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/717887cd48fa79a99d0c71e392750d58 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/73f77b33ce0f17becb6e75ff1082c43e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/741b8483fbcabf9c321f7db58e78c3d8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/759a59934e8cb39ace939db6b3ca6c1a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/76d85daa1c4000f529bf26504ebde8d9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7888c5b61b2cd04d7ee4cf78ab510eb5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7eee5343ea643e8ac6dfa9282bbc4547 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7ef0c015d0ad290b8ffcd526afb67834 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/85556c6543bc5bde199eee0c8096d83e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/86d06f76cdbdc83c9621c928d42fa346 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/905ad43b3fc55108ad345c6255ddcfb8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9a65689623c3096b82dd97819ef02b79 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a7244c34cc0ff696fbfe2fccb04cb04b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b30e4385f999fefded784baa3436ecd3 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b9df96c25252b82da00791df6d017199 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ba27cf3baf39fb89f47836875af24dd8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c02127f4958e88d15dad1754931334aa +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ca6ae3b0212906e203a675ad02a7729e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cb679ef7ff0235de4855aa5ee7c4fb27 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cb9e847b58fe12c042e8e608905c4c38 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/db9141fa82b703a2439a562438fc6f04 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e3efb6f18e9d6f7f1f7a2bfdb4a616d3 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e5182eea228cd4e352dc35de5b86d387 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f20c3ba49438960a7f1184ec1aece636 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f3c6a93068f488ad8f54bf72f206fa3b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f94211d95775b7b113ff83fbab9d96e5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f952832de9d68bc78aae760f4d85d675 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fca2562e4bd00a9aaf122c2a9e76eea5 +0 -0
- data/spec/features/admin/routes/details_spec.rb +1 -1
- data/spec/features/front/page_blocks/defined_spec.rb +1 -1
- data/spec/features/front/page_blocks/undefined_spec.rb +1 -1
- data/spec/features/front/routes/page_spec.rb +1 -1
- data/spec/generators/exo/install_generator_spec.rb +41 -0
- data/spec/models/{sierra → exo}/contributor_spec.rb +0 -0
- data/spec/models/{sierra → exo}/site_spec.rb +0 -0
- data/spec/spec_helper.rb +8 -2
- data/spec/support/factories/block_factory.rb +1 -1
- data/spec/templates/fake_routes.rb +3 -0
- metadata +303 -360
- data/app/controllers/concerns/exo/host_filter.rb +0 -22
- data/app/controllers/exo/application_controller.rb +0 -6
- data/app/presenters/exo/item_presenter.rb +0 -19
- data/app/presenters/exo/resource_presenter.rb +0 -25
- data/app/presenters/exo/route_presenter.rb +0 -33
- data/app/presenters/exo/site_presenter.rb +0 -35
- data/app/services/exo/tick.rb +0 -36
- data/spec/dummy/app/views/a_sierra_theme/a_page_with_block.html.haml +0 -3
- data/spec/dummy/tmp/pids/server.pid +0 -1
@@ -1,22 +0,0 @@
|
|
1
|
-
class Exo
|
2
|
-
module HostFilter
|
3
|
-
extend ActiveSupport::Concern
|
4
|
-
|
5
|
-
included do
|
6
|
-
expose(:tick) { Tick.new request.host }
|
7
|
-
before_filter :tick_host!
|
8
|
-
|
9
|
-
rescue_from ::Exo::Site::UnknowHostError do |e|
|
10
|
-
render e, status: 503
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
protected
|
15
|
-
def tick_host!
|
16
|
-
if tick.domain_redirection?(request.host)
|
17
|
-
redirect_to "http://#{self.tick.site.main_host}#{request.path}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
@@ -1,19 +0,0 @@
|
|
1
|
-
class Exo
|
2
|
-
class ItemPresenter
|
3
|
-
attr_accessor :item, :resource
|
4
|
-
|
5
|
-
def initialize item, decorated_resource=nil
|
6
|
-
self.item = item
|
7
|
-
self.resource = decorated_resource || ResourcePresenter.new(item.resource)
|
8
|
-
end
|
9
|
-
|
10
|
-
def method_missing meth, *params, &block
|
11
|
-
_field = resource.meta_field(meth)
|
12
|
-
if _field
|
13
|
-
item.value_for _field
|
14
|
-
else
|
15
|
-
item.send meth, *params, &block
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
class Exo
|
2
|
-
class ResourcePresenter
|
3
|
-
attr_accessor :resource
|
4
|
-
|
5
|
-
def initialize resource
|
6
|
-
self.resource = resource
|
7
|
-
end
|
8
|
-
|
9
|
-
def items
|
10
|
-
ScopeWraper.new resource.items, self
|
11
|
-
end
|
12
|
-
|
13
|
-
def item slug_id
|
14
|
-
ItemPresenter.new items.find_by(slug_id: slug_id), self
|
15
|
-
end
|
16
|
-
|
17
|
-
def meta_field name
|
18
|
-
resource.meta_fields.where(slug_id: name.to_s).first
|
19
|
-
end
|
20
|
-
|
21
|
-
def wrap_item i
|
22
|
-
ItemPresenter.new i, self
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
class Exo
|
2
|
-
class RoutePresenter < Struct.new(:route)
|
3
|
-
DEFAULT_LAYOUT = '/application'
|
4
|
-
|
5
|
-
def redirection?
|
6
|
-
route.class == Exo::Route::Redirection
|
7
|
-
end
|
8
|
-
|
9
|
-
def nil?
|
10
|
-
route.nil?
|
11
|
-
end
|
12
|
-
|
13
|
-
def to_url
|
14
|
-
route.to_url
|
15
|
-
end
|
16
|
-
|
17
|
-
def view_path
|
18
|
-
route.site.nest_path route.view_path
|
19
|
-
end
|
20
|
-
|
21
|
-
def layout_path
|
22
|
-
route.site.nest_path(route.layout_path || DEFAULT_LAYOUT)
|
23
|
-
end
|
24
|
-
|
25
|
-
def blocks
|
26
|
-
route.blocks
|
27
|
-
end
|
28
|
-
|
29
|
-
def block slug_id
|
30
|
-
route.blocks.where(slug_id: slug_id.to_s).first
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
class Exo
|
2
|
-
class SitePresenter
|
3
|
-
attr_accessor :site, :_resources
|
4
|
-
|
5
|
-
def initialize site
|
6
|
-
self.site = site
|
7
|
-
self._resources = {}
|
8
|
-
end
|
9
|
-
|
10
|
-
def resource name
|
11
|
-
name = name.to_s
|
12
|
-
_resources[name] = decorated_resource name if _resources[name] == nil
|
13
|
-
_resources[name] || nil
|
14
|
-
end
|
15
|
-
|
16
|
-
def setting name
|
17
|
-
self.site.settings.where(slug_id: name.to_sym).first
|
18
|
-
end
|
19
|
-
|
20
|
-
def routes
|
21
|
-
site.routes
|
22
|
-
end
|
23
|
-
|
24
|
-
def method_missing meth, *args, &block
|
25
|
-
site.send meth.to_sym, *args, &block
|
26
|
-
end
|
27
|
-
|
28
|
-
protected
|
29
|
-
def decorated_resource name
|
30
|
-
_resource = self.site.resources.where(slug_id: name).first || false
|
31
|
-
_resource = ResourcePresenter.new _resource if _resource
|
32
|
-
_resource
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
data/app/services/exo/tick.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
class Exo
|
2
|
-
class Tick
|
3
|
-
attr_accessor :site, :route, :request, :params
|
4
|
-
|
5
|
-
def initialize host
|
6
|
-
_site = Site.any_of([{hosts: host}, {main_host: host}]).first
|
7
|
-
raise ::Exo::Site::UnknowHostError.new(host) unless _site
|
8
|
-
self.site = SitePresenter.new _site
|
9
|
-
end
|
10
|
-
|
11
|
-
def services
|
12
|
-
unless @services
|
13
|
-
@services = {}
|
14
|
-
site.services.each do |m|
|
15
|
-
@services[m.name] = m.path
|
16
|
-
end
|
17
|
-
@services = @services.merge Exo.instance.services
|
18
|
-
end
|
19
|
-
@services
|
20
|
-
end
|
21
|
-
|
22
|
-
def domain_redirection?(host)
|
23
|
-
site.main_host.to_s != host
|
24
|
-
end
|
25
|
-
|
26
|
-
def route! request #, params
|
27
|
-
unless self.route
|
28
|
-
Exo::PathMatcher.route_for(site.routes, request.params) do |route|
|
29
|
-
self.route = Exo::RoutePresenter.new route
|
30
|
-
end
|
31
|
-
raise ::Exo::Route::UnknowPathError.new site.main_host, request.path unless route
|
32
|
-
end
|
33
|
-
self.route
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
57060
|