locomotivecms_steam 0.1.2.pre.beta → 1.0.0.pre.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.travis.yml +8 -1
- data/Gemfile +17 -8
- data/Gemfile.lock +160 -113
- data/LICENSE +1 -1
- data/README.md +36 -15
- data/Rakefile +27 -1
- data/bin/steam.rb +97 -0
- data/config/locales/en.yml +2 -1
- data/config/locales/fr.yml +2 -1
- data/lib/locomotive/steam.rb +28 -19
- data/lib/locomotive/steam/adapters/concerns/key.rb +15 -0
- data/lib/locomotive/steam/adapters/filesystem.rb +124 -0
- data/lib/locomotive/steam/adapters/filesystem/sanitizer.rb +54 -0
- data/lib/locomotive/steam/adapters/filesystem/sanitizers/content_entry.rb +86 -0
- data/lib/locomotive/steam/adapters/filesystem/sanitizers/content_type.rb +21 -0
- data/lib/locomotive/steam/adapters/filesystem/sanitizers/page.rb +160 -0
- data/lib/locomotive/steam/adapters/filesystem/sanitizers/simple.rb +15 -0
- data/lib/locomotive/steam/adapters/filesystem/sanitizers/snippet.rb +33 -0
- data/lib/locomotive/steam/adapters/filesystem/simple_cache_store.rb +38 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loader.rb +47 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/content_entry.rb +87 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/content_type.rb +96 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/page.rb +145 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/site.rb +25 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/snippet.rb +66 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb +21 -0
- data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/translation.rb +72 -0
- data/lib/locomotive/steam/adapters/memory.rb +55 -0
- data/lib/locomotive/steam/adapters/memory/condition.rb +103 -0
- data/lib/locomotive/steam/adapters/memory/dataset.rb +77 -0
- data/lib/locomotive/steam/adapters/memory/order.rb +60 -0
- data/lib/locomotive/steam/adapters/memory/query.rb +116 -0
- data/lib/locomotive/steam/adapters/mongodb.rb +83 -0
- data/lib/locomotive/steam/adapters/mongodb/dataset.rb +20 -0
- data/lib/locomotive/steam/adapters/mongodb/origin.rb +3 -0
- data/lib/locomotive/steam/adapters/mongodb/query.rb +82 -0
- data/lib/locomotive/steam/configuration.rb +106 -2
- data/lib/locomotive/steam/core_ext.rb +2 -1
- data/lib/locomotive/steam/core_ext/hash.rb +31 -19
- data/lib/locomotive/steam/core_ext/kernel.rb +14 -0
- data/lib/locomotive/steam/core_ext/string.rb +35 -6
- data/lib/locomotive/steam/decorators/i18n_decorator.rb +99 -0
- data/lib/locomotive/steam/decorators/template_decorator.rb +37 -0
- data/lib/locomotive/steam/entities/content_entry.rb +151 -0
- data/lib/locomotive/steam/entities/content_type.rb +44 -6
- data/lib/locomotive/steam/entities/content_type_field.rb +71 -0
- data/lib/locomotive/steam/entities/editable_element.rb +21 -0
- data/lib/locomotive/steam/entities/page.rb +48 -127
- data/lib/locomotive/steam/entities/site.rb +36 -27
- data/lib/locomotive/steam/entities/snippet.rb +20 -0
- data/lib/locomotive/steam/entities/theme_asset.rb +9 -0
- data/lib/locomotive/steam/entities/translation.rb +15 -0
- data/lib/locomotive/steam/initializers.rb +0 -4
- data/lib/locomotive/steam/initializers/dragonfly.rb +51 -11
- data/lib/locomotive/steam/initializers/i18n.rb +6 -3
- data/lib/locomotive/steam/initializers/sprockets.rb +4 -1
- data/lib/locomotive/steam/liquid.rb +4 -7
- data/lib/locomotive/steam/liquid/drops/base.rb +0 -1
- data/lib/locomotive/steam/liquid/drops/content_entry.rb +37 -16
- data/lib/locomotive/steam/liquid/drops/content_entry_collection.rb +77 -0
- data/lib/locomotive/steam/liquid/drops/content_types.rb +5 -102
- data/lib/locomotive/steam/liquid/drops/current_user.rb +23 -0
- data/lib/locomotive/steam/liquid/drops/i18n_base.rb +39 -0
- data/lib/locomotive/steam/liquid/drops/page.rb +77 -11
- data/lib/locomotive/steam/liquid/drops/session_proxy.rb +1 -1
- data/lib/locomotive/steam/liquid/drops/site.rb +14 -8
- data/lib/locomotive/steam/liquid/drops/upload_file.rb +23 -0
- data/lib/locomotive/steam/liquid/errors.rb +3 -9
- data/lib/locomotive/steam/liquid/filters/base.rb +62 -0
- data/lib/locomotive/steam/liquid/filters/date.rb +85 -61
- data/lib/locomotive/steam/liquid/filters/html.rb +30 -115
- data/lib/locomotive/steam/liquid/filters/misc.rb +6 -5
- data/lib/locomotive/steam/liquid/filters/pagination.rb +55 -0
- data/lib/locomotive/steam/liquid/filters/resize.rb +2 -3
- data/lib/locomotive/steam/liquid/filters/text.rb +15 -15
- data/lib/locomotive/steam/liquid/filters/translate.rb +5 -14
- data/lib/locomotive/steam/liquid/patches.rb +29 -23
- data/lib/locomotive/steam/liquid/tags/concerns/i18n_page.rb +36 -0
- data/lib/locomotive/steam/liquid/tags/concerns/path.rb +114 -0
- data/lib/locomotive/steam/liquid/tags/consume.rb +39 -43
- data/lib/locomotive/steam/liquid/tags/csrf.rb +21 -12
- data/lib/locomotive/steam/liquid/tags/editable.rb +1 -3
- data/lib/locomotive/steam/liquid/tags/editable/base.rb +54 -15
- data/lib/locomotive/steam/liquid/tags/editable/control.rb +17 -4
- data/lib/locomotive/steam/liquid/tags/editable/file.rb +34 -2
- data/lib/locomotive/steam/liquid/tags/editable/text.rb +54 -2
- data/lib/locomotive/steam/liquid/tags/extends.rb +45 -8
- data/lib/locomotive/steam/liquid/tags/fetch_page.rb +38 -0
- data/lib/locomotive/steam/liquid/tags/google_analytics.rb +25 -12
- data/lib/locomotive/steam/liquid/tags/hybrid.rb +24 -12
- data/lib/locomotive/steam/liquid/tags/inherited_block.rb +39 -0
- data/lib/locomotive/steam/liquid/tags/inline_editor.rb +14 -4
- data/lib/locomotive/steam/liquid/tags/link_to.rb +16 -27
- data/lib/locomotive/steam/liquid/tags/locale_switcher.rb +45 -56
- data/lib/locomotive/steam/liquid/tags/model_form.rb +72 -0
- data/lib/locomotive/steam/liquid/tags/nav.rb +65 -57
- data/lib/locomotive/steam/liquid/tags/paginate.rb +79 -47
- data/lib/locomotive/steam/liquid/tags/path_to.rb +8 -20
- data/lib/locomotive/steam/liquid/tags/seo.rb +8 -8
- data/lib/locomotive/steam/liquid/tags/session_assign.rb +6 -8
- data/lib/locomotive/steam/liquid/tags/snippet.rb +26 -42
- data/lib/locomotive/steam/liquid/tags/with_scope.rb +44 -26
- data/lib/locomotive/steam/middlewares.rb +7 -13
- data/lib/locomotive/steam/middlewares/default_env.rb +25 -0
- data/lib/locomotive/steam/middlewares/dynamic_assets.rb +34 -17
- data/lib/locomotive/steam/middlewares/entry_submission.rb +117 -79
- data/lib/locomotive/steam/middlewares/favicon.rb +5 -2
- data/lib/locomotive/steam/middlewares/helpers.rb +44 -0
- data/lib/locomotive/steam/middlewares/locale.rb +25 -17
- data/lib/locomotive/steam/middlewares/locale_redirection.rb +62 -0
- data/lib/locomotive/steam/middlewares/logging.rb +7 -3
- data/lib/locomotive/steam/middlewares/page.rb +17 -48
- data/lib/locomotive/steam/middlewares/path.rb +5 -8
- data/lib/locomotive/steam/middlewares/renderer.rb +65 -106
- data/lib/locomotive/steam/middlewares/robots.rb +20 -0
- data/lib/locomotive/steam/middlewares/site.rb +42 -0
- data/lib/locomotive/steam/middlewares/sitemap.rb +94 -0
- data/lib/locomotive/steam/middlewares/stack_proxy.rb +46 -0
- data/lib/locomotive/steam/middlewares/templatized_page.rb +40 -14
- data/lib/locomotive/steam/middlewares/threadsafe.rb +65 -0
- data/lib/locomotive/steam/middlewares/timezone.rb +10 -6
- data/lib/locomotive/steam/models.rb +12 -0
- data/lib/locomotive/steam/models/associations/belongs_to.rb +18 -0
- data/lib/locomotive/steam/models/associations/embedded.rb +43 -0
- data/lib/locomotive/steam/models/associations/has_many.rb +22 -0
- data/lib/locomotive/steam/models/associations/many_to_many.rb +22 -0
- data/lib/locomotive/steam/models/associations/referenced.rb +48 -0
- data/lib/locomotive/steam/models/concerns/validation.rb +58 -0
- data/lib/locomotive/steam/models/entity.rb +40 -0
- data/lib/locomotive/steam/models/i18n_field.rb +42 -0
- data/lib/locomotive/steam/models/mapper.rb +119 -0
- data/lib/locomotive/steam/models/pager.rb +53 -0
- data/lib/locomotive/steam/models/repository.rb +101 -0
- data/lib/locomotive/steam/models/scope.rb +31 -0
- data/lib/locomotive/steam/repositories.rb +51 -0
- data/lib/locomotive/steam/repositories/content_entry_repository.rb +183 -0
- data/lib/locomotive/steam/repositories/content_type_field_repository.rb +50 -0
- data/lib/locomotive/steam/repositories/content_type_field_select_option_repository.rb +23 -0
- data/lib/locomotive/steam/repositories/content_type_repository.rb +38 -0
- data/lib/locomotive/steam/repositories/editable_element_repository.rb +20 -0
- data/lib/locomotive/steam/repositories/page_repository.rb +86 -0
- data/lib/locomotive/steam/repositories/site_repository.rb +29 -0
- data/lib/locomotive/steam/repositories/snippet_repository.rb +19 -0
- data/lib/locomotive/steam/repositories/theme_asset_repository.rb +24 -0
- data/lib/locomotive/steam/repositories/translation_repository.rb +17 -0
- data/lib/locomotive/steam/server.rb +61 -40
- data/lib/locomotive/steam/services.rb +120 -1
- data/lib/locomotive/steam/services/asset_host_service.rb +51 -0
- data/lib/locomotive/steam/services/concerns/decorator.rb +35 -0
- data/lib/locomotive/steam/services/csrf_protection_service.rb +13 -0
- data/lib/locomotive/steam/services/editable_element_service.rb +19 -0
- data/lib/locomotive/steam/services/entry_submission_service.rb +91 -0
- data/lib/locomotive/steam/services/external_api_service.rb +55 -0
- data/lib/locomotive/steam/services/image_resizer_service.rb +49 -0
- data/lib/locomotive/steam/services/liquid_parser_service.rb +23 -0
- data/lib/locomotive/steam/services/markdown_service.rb +17 -0
- data/lib/locomotive/steam/services/no_cache_service.rb +17 -0
- data/lib/locomotive/steam/services/page_finder_service.rb +44 -0
- data/lib/locomotive/steam/services/parent_finder_service.rb +23 -0
- data/lib/locomotive/steam/services/site_finder_service.rb +13 -0
- data/lib/locomotive/steam/services/snippet_finder_service.rb +17 -0
- data/lib/locomotive/steam/services/textile_service.rb +17 -0
- data/lib/locomotive/steam/services/theme_asset_url_service.rb +43 -0
- data/lib/locomotive/steam/services/translator_service.rb +34 -0
- data/lib/locomotive/steam/services/url_builder_service.rb +40 -0
- data/lib/locomotive/steam/version.rb +1 -1
- data/locomotivecms_steam.gemspec +34 -28
- data/script/ci/before_build.sh +4 -0
- data/spec/fixtures/default/app/content_types/bands.yml +3 -1
- data/spec/fixtures/default/app/content_types/events.yml +2 -2
- data/spec/fixtures/default/app/views/pages/about_us.liquid.haml +2 -1
- data/spec/fixtures/default/app/views/pages/archives.liquid.haml +6 -0
- data/spec/fixtures/default/app/views/pages/basic.liquid.haml +1 -0
- data/spec/fixtures/default/app/views/pages/contest.liquid.haml +2 -1
- data/spec/fixtures/default/app/views/pages/events.fr.liquid +4 -0
- data/spec/fixtures/default/app/views/pages/events.liquid.haml +23 -1
- data/spec/fixtures/default/app/views/pages/filtered.liquid.haml +16 -5
- data/spec/fixtures/default/app/views/pages/grunge_bands.liquid.haml +2 -1
- data/spec/fixtures/default/app/views/pages/index.liquid.haml +12 -11
- data/spec/fixtures/default/app/views/pages/music.liquid.haml +1 -1
- data/spec/fixtures/default/app/views/pages/songs.liquid +6 -0
- data/spec/fixtures/default/app/views/pages/songs/song-number-1.liquid.haml +5 -0
- data/spec/fixtures/default/app/views/pages/store.liquid +2 -1
- data/spec/fixtures/default/app/views/pages/tags.liquid +6 -0
- data/spec/fixtures/default/app/views/pages/unlisted_pages.liquid.haml +2 -1
- data/spec/fixtures/default/app/views/snippets/song.fr.liquid.haml +1 -1
- data/spec/fixtures/default/config/deploy.yml +2 -2
- data/spec/fixtures/default/config/site.yml +7 -1
- data/spec/fixtures/default/data/bands.yml +3 -0
- data/spec/fixtures/mongodb/locomotive_accounts.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_accounts.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_content_assets.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_content_assets.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_content_entries.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_content_entries.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_content_types.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_content_types.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_pages.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_pages.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_sites.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_sites.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_snippets.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_snippets.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_theme_assets.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_theme_assets.metadata.json +1 -0
- data/spec/fixtures/mongodb/locomotive_translations.bson +0 -0
- data/spec/fixtures/mongodb/locomotive_translations.metadata.json +1 -0
- data/spec/fixtures/mongodb/sessions.bson +0 -0
- data/spec/fixtures/mongodb/sessions.metadata.json +1 -0
- data/spec/fixtures/mongodb/system.indexes.bson +0 -0
- data/spec/integration/integration_helper.rb +2 -2
- data/spec/integration/liquid/tags/paginate_spec.rb +79 -0
- data/spec/integration/repositories/content_entry_repository_spec.rb +94 -0
- data/spec/integration/repositories/content_type_repository_spec.rb +69 -0
- data/spec/integration/repositories/page_repository_spec.rb +105 -0
- data/spec/integration/repositories/site_repository_spec.rb +45 -0
- data/spec/integration/repositories/snippet_repository_spec.rb +50 -0
- data/spec/integration/repositories/theme_asset_repository_spec.rb +48 -0
- data/spec/integration/repositories/translation_repository_spec.rb +50 -0
- data/spec/integration/server/assets_spec.rb +60 -0
- data/spec/integration/server/basic_spec.rb +100 -100
- data/spec/integration/server/contact_form_spec.rb +96 -25
- data/spec/integration/server/liquid_spec.rb +19 -41
- data/spec/integration/server/nav_spec.rb +49 -0
- data/spec/integration/server/session_spec.rb +33 -0
- data/spec/integration/server/sitemap_spec.rb +34 -0
- data/spec/integration/server/with_scope_spec.rb +28 -2
- data/spec/integration/services/external_api_service_spec.rb +20 -0
- data/spec/locales/locales_spec.rb +7 -7
- data/spec/spec_helper.rb +27 -13
- data/spec/support.rb +5 -1
- data/spec/support/cache_store.rb +3 -0
- data/spec/support/helpers.rb +20 -23
- data/spec/support/liquid.rb +29 -0
- data/spec/support/pry.rb +4 -0
- data/spec/support/time.rb +3 -0
- data/spec/unit/adapters/filesystem/yaml_loaders/content_entry_spec.rb +50 -0
- data/spec/unit/adapters/filesystem/yaml_loaders/content_type_spec.rb +25 -0
- data/spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb +25 -0
- data/spec/unit/adapters/filesystem/yaml_loaders/site_spec.rb +19 -0
- data/spec/unit/adapters/filesystem/yaml_loaders/snippet_spec.rb +26 -0
- data/spec/unit/adapters/filesystem/yaml_loaders/translation_spec.rb +25 -0
- data/spec/unit/adapters/filesystem_adapter_spec.rb +53 -0
- data/spec/unit/adapters/memory/condition_spec.rb +125 -0
- data/spec/unit/adapters/memory/dataset_spec.rb +73 -0
- data/spec/unit/adapters/memory/order_spec.rb +67 -0
- data/spec/unit/adapters/memory/query_spec.rb +85 -0
- data/spec/unit/adapters/memory_adapter_spec.rb +36 -0
- data/spec/unit/adapters/mongodb/query_spec.rb +68 -0
- data/spec/unit/adapters/mongodb_adapter_spec.rb +17 -0
- data/spec/unit/configuration_spec.rb +29 -0
- data/spec/unit/core_ext/string_spec.rb +44 -0
- data/spec/unit/decorators/i18n_decorator_spec.rb +80 -0
- data/spec/unit/entities/content_entry_spec.rb +159 -0
- data/spec/unit/entities/content_type_field_spec.rb +67 -0
- data/spec/unit/entities/content_type_spec.rb +59 -0
- data/spec/unit/entities/page_spec.rb +40 -34
- data/spec/unit/entities/site_spec.rb +56 -5
- data/spec/unit/initializers/dragonfly_spec.rb +31 -0
- data/spec/unit/liquid/drops/content_entry_collection_spec.rb +81 -0
- data/spec/unit/liquid/drops/content_entry_spec.rb +99 -0
- data/spec/unit/liquid/drops/content_types_spec.rb +25 -0
- data/spec/unit/liquid/drops/current_user_spec.rb +45 -0
- data/spec/unit/liquid/drops/page_spec.rb +134 -0
- data/spec/unit/liquid/drops/session_proxy_spec.rb +13 -0
- data/spec/unit/liquid/drops/site_spec.rb +49 -0
- data/spec/unit/liquid/filters/date_spec.rb +160 -0
- data/spec/unit/liquid/filters/html_spec.rb +263 -0
- data/spec/unit/liquid/filters/misc_spec.rb +108 -0
- data/spec/unit/liquid/filters/pagination_spec.rb +42 -0
- data/spec/unit/liquid/filters/resize_spec.rb +36 -0
- data/spec/unit/liquid/filters/text_spec.rb +56 -0
- data/spec/unit/liquid/filters/translate_spec.rb +33 -0
- data/spec/unit/liquid/patches_spec.rb +50 -0
- data/spec/unit/liquid/tags/consume_spec.rb +87 -0
- data/spec/unit/liquid/tags/csrf_spec.rb +47 -0
- data/spec/unit/liquid/tags/editable/control_spec.rb +109 -0
- data/spec/unit/liquid/tags/editable/file_spec.rb +116 -0
- data/spec/unit/liquid/tags/editable/text_spec.rb +139 -0
- data/spec/unit/liquid/tags/extends_spec.rb +38 -0
- data/spec/unit/liquid/tags/fetch_page_spec.rb +39 -0
- data/spec/unit/liquid/tags/google_analytics_spec.rb +16 -0
- data/spec/unit/liquid/tags/inherited_block_spec.rb +33 -0
- data/spec/unit/liquid/tags/link_to_spec.rb +112 -0
- data/spec/unit/liquid/tags/locale_switcher_spec.rb +58 -0
- data/spec/unit/liquid/tags/model_form_spec.rb +35 -0
- data/spec/unit/liquid/tags/nav_spec.rb +184 -111
- data/spec/unit/liquid/tags/paginate_spec.rb +131 -0
- data/spec/unit/liquid/tags/path_to_spec.rb +100 -0
- data/spec/unit/liquid/tags/seo_spec.rb +85 -0
- data/spec/unit/liquid/tags/session_assign_spec.rb +51 -0
- data/spec/unit/liquid/tags/snippet_spec.rb +42 -0
- data/spec/unit/liquid/tags/with_scope_spec.rb +66 -0
- data/spec/unit/middlewares/dynamic_assets_spec.rb +25 -0
- data/spec/unit/middlewares/locale_redirection_spec.rb +105 -0
- data/spec/unit/middlewares/renderer_spec.rb +29 -0
- data/spec/unit/middlewares/stack_proxy_spec.rb +67 -0
- data/spec/unit/models/mapper_spec.rb +75 -0
- data/spec/unit/models/pager_spec.rb +82 -0
- data/spec/unit/models/repository_spec.rb +46 -0
- data/spec/unit/models/scope_spec.rb +27 -0
- data/spec/unit/repositories/content_entry_repository_spec.rb +347 -0
- data/spec/unit/repositories/content_type_repository_spec.rb +126 -0
- data/spec/unit/repositories/page_repository_spec.rb +365 -0
- data/spec/unit/repositories/site_repository_spec.rb +41 -0
- data/spec/unit/repositories/snippet_repository_spec.rb +37 -0
- data/spec/unit/repositories/theme_asset_repository_spec.rb +35 -0
- data/spec/unit/repositories/translation_repository_spec.rb +34 -0
- data/spec/unit/services/asset_host_service_spec.rb +79 -0
- data/spec/unit/services/entry_submission_service_spec.rb +143 -0
- data/spec/unit/services/external_api_service_spec.rb +80 -0
- data/spec/unit/services/image_resizer_service_spec.rb +75 -0
- data/spec/unit/services/markdown_service_spec.rb +36 -0
- data/spec/unit/services/parent_finder_service_spec.rb +41 -0
- data/spec/unit/services/textile_service_spec.rb +34 -0
- data/spec/unit/services/translator_service_spec.rb +65 -0
- data/spec/unit/services/url_builder_service_spec.rb +48 -0
- data/spec/unit/services_spec.rb +25 -0
- metadata +462 -119
- data/example/server.rb +0 -31
- data/lib/locomotive/steam/decorators.rb +0 -1
- data/lib/locomotive/steam/decorators/page_decorator.rb +0 -50
- data/lib/locomotive/steam/exceptions.rb +0 -62
- data/lib/locomotive/steam/liquid/scopeable.rb +0 -149
- data/lib/locomotive/steam/liquid/tags/editable/long_text.rb +0 -15
- data/lib/locomotive/steam/liquid/tags/editable/short_text.rb +0 -20
- data/lib/locomotive/steam/liquid/tags/path_helper.rb +0 -98
- data/lib/locomotive/steam/loaders/yml/pages_loader.rb +0 -193
- data/lib/locomotive/steam/loaders/yml/site_loader.rb +0 -49
- data/lib/locomotive/steam/loaders/yml/utils/localized_tree.rb +0 -33
- data/lib/locomotive/steam/loaders/yml/utils/yaml_front_matters_template.rb +0 -66
- data/lib/locomotive/steam/loaders/yml_loader.rb +0 -33
- data/lib/locomotive/steam/mapper.rb +0 -86
- data/lib/locomotive/steam/middlewares/base.rb +0 -65
- data/lib/locomotive/steam/middlewares/stack.rb +0 -66
- data/lib/locomotive/steam/middlewares/static_assets.rb +0 -25
- data/lib/locomotive/steam/monkey_patches.rb +0 -3
- data/lib/locomotive/steam/monkey_patches/haml.rb +0 -17
- data/lib/locomotive/steam/repositories/content_types_repository.rb +0 -14
- data/lib/locomotive/steam/repositories/pages_repository.rb +0 -23
- data/lib/locomotive/steam/repositories/sites_repository.rb +0 -16
- data/lib/locomotive/steam/services/dragonfly.rb +0 -49
- data/lib/locomotive/steam/services/external_api.rb +0 -47
- data/lib/locomotive/steam/services/markdown.rb +0 -20
- data/lib/locomotive/steam/standalone_server.rb +0 -30
- data/spec/unit/decorators/page_decorator_spec.rb +0 -55
- data/spec/unit/loaders/pages_loader_spec.rb +0 -42
- data/spec/unit/loaders/site_loader_spec.rb +0 -21
- data/spec/unit/loaders/utils/localized_tree_spec.rb +0 -33
- data/spec/unit/loaders/utils/yaml_front_matters_template_spec.rb +0 -39
- data/spec/unit/middlewares/base_spec.rb +0 -20
- data/spec/unit/middlewares/page_spec.rb +0 -51
- data/spec/unit/repositories/pages_spec.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0bcee64feba62d7a3092101a2f6ae961bae0dd49
|
4
|
+
data.tar.gz: 21df89d07e53243b3128cf4f0611c5a917a8a68a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c7d463827ef099ed2f1da6e74b0936ab62eedfd8934daa807fa348486fd532d0835ad70d0f2b7605343bf6abe9ca35730d62b5cf00c45f1824d0a9470e19357
|
7
|
+
data.tar.gz: 9127cc36e81dc3f377624030c33dfa1bdb0ef1b4b539f98b98ec0e416c4677b969916c9da130c9fa275bdc482a4eecb6d0b7cea97b4f8a04580829362d215683
|
data/.gitignore
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
*.rbc
|
3
3
|
.bundle
|
4
4
|
.config
|
5
|
+
.sass-cache
|
5
6
|
coverage
|
6
7
|
InstalledFiles
|
7
8
|
lib/bundler/man
|
@@ -11,6 +12,7 @@ spec/reports
|
|
11
12
|
test/tmp
|
12
13
|
test/version_tmp
|
13
14
|
tmp
|
15
|
+
benchmark.rb
|
14
16
|
|
15
17
|
# YARD artifacts
|
16
18
|
.yardoc
|
@@ -23,3 +25,4 @@ spec/fixtures/default/log/*
|
|
23
25
|
.ruby-*
|
24
26
|
|
25
27
|
log
|
28
|
+
dragonfly.log
|
data/.travis.yml
CHANGED
@@ -1,3 +1,10 @@
|
|
1
1
|
language: ruby
|
2
|
+
services: mongodb
|
3
|
+
before_script: ./script/ci/before_build.sh
|
2
4
|
rvm:
|
3
|
-
- 2.
|
5
|
+
- 2.2.0
|
6
|
+
env:
|
7
|
+
- CODECLIMATE_REPO_TOKEN=3fa74f2ade25037fccd7261090acbdeae232639c3a83aafb80ee428ec16b8cf9
|
8
|
+
addons:
|
9
|
+
code_climate:
|
10
|
+
repo_token: 3fa74f2ade25037fccd7261090acbdeae232639c3a83aafb80ee428ec16b8cf9
|
data/Gemfile
CHANGED
@@ -3,21 +3,30 @@ source 'https://rubygems.org'
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
group :development do
|
6
|
-
#gem 'locomotivecms_common', '~> 0.0.2', path: '../common'
|
6
|
+
# gem 'locomotivecms_common', '~> 0.0.2', path: '../common'
|
7
7
|
# gem 'locomotivecms_models', '~> 0.0.1', path: '../models'
|
8
|
-
gem 'locomotivecms_models', '0.0.1.pre.alpha'
|
8
|
+
# gem 'locomotivecms_models', '0.0.1.pre.alpha'
|
9
|
+
# gem 'locomotivecms-liquid', path: '/Users/didier/Documents/LocomotiveCMS/gems/liquid'
|
9
10
|
gem 'thin'
|
11
|
+
# gem 'sprockets-sass', '~> 1.2.0'
|
12
|
+
gem 'yui-compressor', '~> 0.12.0'
|
10
13
|
end
|
11
14
|
|
12
15
|
group :test do
|
13
|
-
gem '
|
14
|
-
gem '
|
15
|
-
|
16
|
+
gem 'rspec', '~> 3.2.0'
|
17
|
+
gem 'json_spec', '~> 1.1.4'
|
18
|
+
gem 'i18n-spec', '~> 0.6.0'
|
19
|
+
|
20
|
+
gem 'timecop', '~> 0.7.1'
|
21
|
+
|
22
|
+
gem 'pry-byebug', '~> 3.1.0'
|
23
|
+
|
24
|
+
gem 'rack-test', '~> 0.6.3'
|
16
25
|
|
17
|
-
|
18
|
-
|
26
|
+
gem 'codeclimate-test-reporter', '~> 0.4.7', require: false
|
27
|
+
gem 'coveralls', '~> 0.7.12', require: false
|
19
28
|
end
|
20
29
|
|
21
30
|
platform :ruby do
|
22
|
-
ruby '2.
|
31
|
+
ruby '2.2.0'
|
23
32
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,165 +1,212 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
locomotivecms_steam (0.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
locomotivecms_steam (1.0.0.pre.alpha)
|
5
|
+
RedCloth (~> 4.2.9)
|
6
|
+
activesupport (~> 4.2.1)
|
7
|
+
chronic (~> 0.10.2)
|
8
|
+
coffee-script (~> 2.3.0)
|
9
|
+
compass (~> 1.0.3)
|
10
|
+
dragonfly (~> 1.0.7)
|
11
|
+
haml (~> 4.0.6)
|
12
|
+
httparty (~> 0.13.3)
|
13
|
+
kramdown (~> 1.6.0)
|
14
|
+
locomotivecms-solid (~> 4.0.0.alpha2)
|
13
15
|
locomotivecms_common (~> 0.0.2)
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
mime-types (~> 2.4.3)
|
17
|
+
mimetype-fu (~> 0.1.2)
|
18
|
+
moneta (~> 0.8.0)
|
19
|
+
morphine (~> 0.1.1)
|
20
|
+
rack-cache (~> 1.2)
|
21
|
+
rack-rewrite (~> 1.5.1)
|
22
|
+
rack_csrf (~> 2.5.0)
|
23
|
+
sanitize (~> 3.1.2)
|
24
|
+
sprockets (~> 2.12.3)
|
25
|
+
sprockets-sass (~> 1.3.1)
|
26
|
+
stringex (~> 2.5.2)
|
20
27
|
|
21
28
|
GEM
|
22
29
|
remote: https://rubygems.org/
|
23
30
|
specs:
|
24
|
-
|
25
|
-
|
31
|
+
RedCloth (4.2.9)
|
32
|
+
activesupport (4.2.1)
|
33
|
+
i18n (~> 0.7)
|
26
34
|
json (~> 1.7, >= 1.7.7)
|
27
35
|
minitest (~> 5.1)
|
28
|
-
thread_safe (~> 0.
|
36
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
29
37
|
tzinfo (~> 1.1)
|
30
|
-
addressable (2.3.
|
31
|
-
|
38
|
+
addressable (2.3.7)
|
39
|
+
bson (2.3.0)
|
40
|
+
byebug (4.0.3)
|
41
|
+
columnize (= 0.9.0)
|
42
|
+
chronic (0.10.2)
|
43
|
+
chunky_png (1.3.4)
|
44
|
+
codeclimate-test-reporter (0.4.7)
|
45
|
+
simplecov (>= 0.7.1, < 1.0.0)
|
32
46
|
coderay (1.1.0)
|
33
|
-
coffee-script (2.
|
47
|
+
coffee-script (2.3.0)
|
34
48
|
coffee-script-source
|
35
49
|
execjs
|
36
|
-
coffee-script-source (1.
|
37
|
-
colorize (0.7.
|
38
|
-
|
50
|
+
coffee-script-source (1.9.1)
|
51
|
+
colorize (0.7.5)
|
52
|
+
columnize (0.9.0)
|
53
|
+
compass (1.0.3)
|
39
54
|
chunky_png (~> 1.2)
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
55
|
+
compass-core (~> 1.0.2)
|
56
|
+
compass-import-once (~> 1.0.5)
|
57
|
+
rb-fsevent (>= 0.9.3)
|
58
|
+
rb-inotify (>= 0.9)
|
59
|
+
sass (>= 3.3.13, < 3.5)
|
60
|
+
compass-core (1.0.3)
|
61
|
+
multi_json (~> 1.0)
|
62
|
+
sass (>= 3.3.0, < 3.5)
|
63
|
+
compass-import-once (1.0.5)
|
64
|
+
sass (>= 3.2, < 3.5)
|
65
|
+
connection_pool (2.1.1)
|
66
|
+
coveralls (0.7.12)
|
67
|
+
multi_json (~> 1.10)
|
68
|
+
rest-client (>= 1.6.8, < 2)
|
69
|
+
simplecov (~> 0.9.1)
|
70
|
+
term-ansicolor (~> 1.3)
|
71
|
+
thor (~> 0.19.1)
|
72
|
+
crass (1.0.1)
|
50
73
|
daemons (1.1.9)
|
51
74
|
diff-lcs (1.2.5)
|
52
|
-
docile (1.1.
|
53
|
-
dragonfly (1.0.
|
75
|
+
docile (1.1.5)
|
76
|
+
dragonfly (1.0.7)
|
77
|
+
addressable (~> 2.3)
|
54
78
|
multi_json (~> 1.0)
|
55
79
|
rack
|
56
|
-
eventmachine (1.0.
|
57
|
-
execjs (2.
|
58
|
-
|
59
|
-
haml (4.0.
|
80
|
+
eventmachine (1.0.4)
|
81
|
+
execjs (2.4.0)
|
82
|
+
ffi (1.9.8)
|
83
|
+
haml (4.0.6)
|
60
84
|
tilt
|
61
85
|
hike (1.2.3)
|
62
|
-
|
63
|
-
httparty (>= 0.7.3)
|
64
|
-
mimemagic
|
65
|
-
multipart-post
|
66
|
-
httparty (0.13.1)
|
86
|
+
httparty (0.13.3)
|
67
87
|
json (~> 1.8)
|
68
88
|
multi_xml (>= 0.5.2)
|
69
|
-
i18n (0.
|
70
|
-
i18n-spec (0.
|
89
|
+
i18n (0.7.0)
|
90
|
+
i18n-spec (0.6.0)
|
71
91
|
iso
|
72
92
|
iso (0.2.1)
|
73
93
|
i18n
|
74
|
-
json (1.8.
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
locomotivecms-
|
80
|
-
|
94
|
+
json (1.8.2)
|
95
|
+
json_spec (1.1.4)
|
96
|
+
multi_json (~> 1.0)
|
97
|
+
rspec (>= 2.0, < 4.0)
|
98
|
+
kramdown (1.6.0)
|
99
|
+
locomotivecms-liquid (4.0.0.alpha2)
|
100
|
+
locomotivecms-solid (4.0.0.alpha2)
|
101
|
+
locomotivecms-liquid (~> 4.0.0.alpha2)
|
81
102
|
locomotivecms_common (0.0.2)
|
82
103
|
colorize
|
83
|
-
locomotivecms_models (0.0.1.pre.alpha)
|
84
|
-
activesupport (~> 4.1.0)
|
85
|
-
i18n (~> 0.6.9)
|
86
|
-
locomotivecms_common (~> 0.0.1)
|
87
104
|
method_source (0.8.2)
|
88
|
-
mime-types (
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
105
|
+
mime-types (2.4.3)
|
106
|
+
mimetype-fu (0.1.2)
|
107
|
+
mini_portile (0.6.2)
|
108
|
+
minitest (5.5.1)
|
109
|
+
moneta (0.8.0)
|
110
|
+
moped (2.0.4)
|
111
|
+
bson (~> 2.2)
|
112
|
+
connection_pool (~> 2.0)
|
113
|
+
optionable (~> 0.2.0)
|
114
|
+
morphine (0.1.1)
|
115
|
+
multi_json (1.10.1)
|
93
116
|
multi_xml (0.5.5)
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
117
|
+
netrc (0.10.3)
|
118
|
+
nokogiri (1.6.6.2)
|
119
|
+
mini_portile (~> 0.6.0)
|
120
|
+
nokogumbo (1.2.0)
|
121
|
+
nokogiri
|
122
|
+
optionable (0.2.0)
|
123
|
+
origin (2.1.1)
|
124
|
+
pry (0.10.1)
|
125
|
+
coderay (~> 1.1.0)
|
126
|
+
method_source (~> 0.8.1)
|
98
127
|
slop (~> 3.4)
|
99
|
-
|
128
|
+
pry-byebug (3.1.0)
|
129
|
+
byebug (~> 4.0)
|
130
|
+
pry (~> 0.10)
|
131
|
+
rack (1.6.0)
|
100
132
|
rack-cache (1.2)
|
101
133
|
rack (>= 0.4)
|
102
|
-
rack-
|
134
|
+
rack-rewrite (1.5.1)
|
135
|
+
rack-test (0.6.3)
|
103
136
|
rack (>= 1.0)
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
137
|
+
rack_csrf (2.5.0)
|
138
|
+
rack (>= 1.1.0)
|
139
|
+
rake (10.4.2)
|
140
|
+
rb-fsevent (0.9.4)
|
141
|
+
rb-inotify (0.9.5)
|
142
|
+
ffi (>= 0.5.0)
|
143
|
+
rest-client (1.7.3)
|
144
|
+
mime-types (>= 1.16, < 3.0)
|
145
|
+
netrc (~> 0.7)
|
146
|
+
rspec (3.2.0)
|
147
|
+
rspec-core (~> 3.2.0)
|
148
|
+
rspec-expectations (~> 3.2.0)
|
149
|
+
rspec-mocks (~> 3.2.0)
|
150
|
+
rspec-core (3.2.1)
|
151
|
+
rspec-support (~> 3.2.0)
|
152
|
+
rspec-expectations (3.2.0)
|
153
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
154
|
+
rspec-support (~> 3.2.0)
|
155
|
+
rspec-mocks (3.2.1)
|
156
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
157
|
+
rspec-support (~> 3.2.0)
|
158
|
+
rspec-support (3.2.2)
|
159
|
+
sanitize (3.1.2)
|
160
|
+
crass (~> 1.0.1)
|
161
|
+
nokogiri (>= 1.4.4)
|
162
|
+
nokogumbo (= 1.2.0)
|
163
|
+
sass (3.4.13)
|
164
|
+
simplecov (0.9.2)
|
118
165
|
docile (~> 1.1.0)
|
119
|
-
multi_json
|
120
|
-
simplecov-html (~> 0.
|
121
|
-
simplecov-html (0.
|
122
|
-
slop (3.
|
123
|
-
sprockets (2.12.
|
166
|
+
multi_json (~> 1.0)
|
167
|
+
simplecov-html (~> 0.9.0)
|
168
|
+
simplecov-html (0.9.0)
|
169
|
+
slop (3.6.0)
|
170
|
+
sprockets (2.12.3)
|
124
171
|
hike (~> 1.2)
|
125
172
|
multi_json (~> 1.0)
|
126
173
|
rack (~> 1.0)
|
127
174
|
tilt (~> 1.1, != 1.3.0)
|
128
|
-
sprockets-sass (1.1
|
175
|
+
sprockets-sass (1.3.1)
|
129
176
|
sprockets (~> 2.0)
|
130
177
|
tilt (~> 1.1)
|
178
|
+
stringex (2.5.2)
|
131
179
|
term-ansicolor (1.3.0)
|
132
180
|
tins (~> 1.0)
|
133
|
-
thin (1.6.
|
134
|
-
daemons (>= 1.0.9)
|
135
|
-
eventmachine (
|
136
|
-
rack (
|
137
|
-
thor (0.
|
138
|
-
thread_safe (0.3.
|
181
|
+
thin (1.6.3)
|
182
|
+
daemons (~> 1.0, >= 1.0.9)
|
183
|
+
eventmachine (~> 1.0)
|
184
|
+
rack (~> 1.0)
|
185
|
+
thor (0.19.1)
|
186
|
+
thread_safe (0.3.5)
|
139
187
|
tilt (1.4.1)
|
140
|
-
|
141
|
-
|
188
|
+
timecop (0.7.3)
|
189
|
+
tins (1.3.5)
|
190
|
+
tzinfo (1.2.2)
|
142
191
|
thread_safe (~> 0.1)
|
143
|
-
|
144
|
-
webmock (1.8.11)
|
145
|
-
addressable (>= 2.2.7)
|
146
|
-
crack (>= 0.1.7)
|
147
|
-
will_paginate (3.0.5)
|
192
|
+
yui-compressor (0.12.0)
|
148
193
|
|
149
194
|
PLATFORMS
|
150
195
|
ruby
|
151
196
|
|
152
197
|
DEPENDENCIES
|
153
|
-
bundler (~> 1.
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
198
|
+
bundler (~> 1.7)
|
199
|
+
codeclimate-test-reporter (~> 0.4.7)
|
200
|
+
coveralls (~> 0.7.12)
|
201
|
+
i18n-spec (~> 0.6.0)
|
202
|
+
json_spec (~> 1.1.4)
|
158
203
|
locomotivecms_steam!
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
204
|
+
moped (~> 2.0.4)
|
205
|
+
origin (~> 2.1.1)
|
206
|
+
pry-byebug (~> 3.1.0)
|
207
|
+
rack-test (~> 0.6.3)
|
208
|
+
rake (~> 10.4.2)
|
209
|
+
rspec (~> 3.2.0)
|
163
210
|
thin
|
164
|
-
|
165
|
-
|
211
|
+
timecop (~> 0.7.1)
|
212
|
+
yui-compressor (~> 0.12.0)
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,31 +1,48 @@
|
|
1
|
-
Steam
|
2
|
-
======
|
1
|
+
# Steam
|
3
2
|
|
4
|
-
|
3
|
+
[![Code Climate](https://codeclimate.com/github/locomotivecms/steam/badges/gpa.svg)](https://codeclimate.com/github/locomotivecms/steam) [![Dependency Status](https://gemnasium.com/locomotivecms/steam.svg)](https://gemnasium.com/locomotivecms/steam) [![Build Status](https://travis-ci.org/locomotivecms/steam.svg?branch=master)](https://travis-ci.org/locomotivecms/steam) [![Coverage Status](https://coveralls.io/repos/locomotivecms/steam/badge.svg?branch=master)](https://coveralls.io/r/locomotivecms/steam?branch=master) [![Gitter](https://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/locomotivecms/steam)
|
5
4
|
|
6
|
-
|
5
|
+
The rendering stack used by both Wagon and Engine (WIP). It includes:
|
7
6
|
|
8
|
-
|
7
|
+
- the rack stack to serve assets (SCSS, Coffeescript, ...etc) and pages.
|
8
|
+
- the liquid drops/filters/tags libs to parse and render liquid templates.
|
9
|
+
- a Filesystem adapter which reads the source of a site written for Wagon.
|
10
|
+
- a MongoDB adapter which reads an existing site hosted by the Locomotive Engine.
|
9
11
|
|
10
|
-
|
12
|
+
**Note:** Steam passes all the specifications of both Wagon and Engine.
|
11
13
|
|
12
|
-
[
|
14
|
+
## Installation [WIP]
|
13
15
|
|
14
|
-
|
16
|
+
gem install thin
|
17
|
+
gem install locomotivecms_steam --pre
|
15
18
|
|
16
|
-
##
|
19
|
+
## Usage
|
17
20
|
|
18
|
-
|
21
|
+
### Command line:
|
19
22
|
|
20
|
-
|
23
|
+
Display all the options:
|
21
24
|
|
22
|
-
|
25
|
+
steam --help
|
23
26
|
|
24
|
-
|
27
|
+
Render a local Wagon site:
|
25
28
|
|
26
|
-
|
29
|
+
steam --path=<PATH to a Wagon site>
|
27
30
|
|
28
|
-
|
31
|
+
Render a Engine site:
|
32
|
+
|
33
|
+
steam --database=<NAME of the MongoDB database used by the Engine> --assets-path=<PATH to the public folder of the Locomotive>
|
34
|
+
|
35
|
+
Once launched, open your browser
|
36
|
+
|
37
|
+
open localhost:8080
|
38
|
+
|
39
|
+
### Inside a Rails application:
|
40
|
+
|
41
|
+
[TODO]
|
42
|
+
|
43
|
+
## TODO
|
44
|
+
|
45
|
+
see the list in the issues section.
|
29
46
|
|
30
47
|
## Contributing
|
31
48
|
|
@@ -34,3 +51,7 @@ Or install it yourself as:
|
|
34
51
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
35
52
|
4. Push to the branch (`git push origin my-new-feature`)
|
36
53
|
5. Create new Pull Request
|
54
|
+
|
55
|
+
## License
|
56
|
+
|
57
|
+
Copyright (c) 2015 NoCoffee. MIT Licensed, see LICENSE for details.
|