comfy_middle_seat 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.codeclimate.yml +4 -0
- data/.gitattributes +3 -0
- data/.github/dependabot.yml +7 -0
- data/.github/issue_template.md +19 -0
- data/.github/pull_request_template.md +6 -0
- data/.github/workflows/claude-code-review.yml +46 -0
- data/.github/workflows/claude.yml +148 -0
- data/.github/workflows/coveralls.yml +53 -0
- data/.github/workflows/rubyonrails.yml +94 -0
- data/.gitignore +25 -0
- data/.rubocop.yml +82 -0
- data/.travis.yml +44 -0
- data/CHANGELOG.md +147 -0
- data/CONTRIBUTING.md +42 -0
- data/Gemfile +44 -0
- data/LICENSE +20 -0
- data/README.md +158 -0
- data/Rakefile +206 -0
- data/app/assets/builds/.keep +0 -0
- data/app/assets/config/manifest.js +1 -0
- data/app/assets/fonts/comfy/admin/cms/lib/redactor-font.eot +0 -0
- data/app/assets/javascripts/comfy/admin/cms/application.js +27 -0
- data/app/assets/javascripts/comfy/admin/cms/base.js +48 -0
- data/app/assets/javascripts/comfy/admin/cms/categories.js +17 -0
- data/app/assets/javascripts/comfy/admin/cms/codemirror.js +43 -0
- data/app/assets/javascripts/comfy/admin/cms/custom.js +1 -0
- data/app/assets/javascripts/comfy/admin/cms/diff.js +12 -0
- data/app/assets/javascripts/comfy/admin/cms/file_link.js +96 -0
- data/app/assets/javascripts/comfy/admin/cms/file_upload.js +229 -0
- data/app/assets/javascripts/comfy/admin/cms/files_modal.js +97 -0
- data/app/assets/javascripts/comfy/admin/cms/page_fragments.js +22 -0
- data/app/assets/javascripts/comfy/admin/cms/slugify.js +34 -0
- data/app/assets/javascripts/comfy/admin/cms/sortable_list.js +49 -0
- data/app/assets/javascripts/comfy/admin/cms/timepicker.js +38 -0
- data/app/assets/javascripts/comfy/admin/cms/wysiwyg.js +91 -0
- data/app/assets/javascripts/comfy/vendor/diff/diff_match_patch.min.js +49 -0
- data/app/assets/javascripts/comfy/vendor/diff/pretty_text_diff.js +88 -0
- data/app/assets/javascripts/comfy/vendor/flatpickr.min.js +2 -0
- data/app/assets/javascripts/comfy/vendor/fontawesome.js +5 -0
- data/app/assets/javascripts/comfy/vendor/redactor/definedlinks.js +50 -0
- data/app/assets/javascripts/comfy/vendor/redactor/filemanager.js +79 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ar.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/az.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ba.js +79 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/bg.js +77 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/by.js +77 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ca.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/cs.js +87 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/da.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/de.js +80 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/el.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/en.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/eo.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/es.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/es_AR.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/fa.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/fi.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/fr.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ge.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/gr.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/he.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/hr.js +78 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/hu.js +77 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/id.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/it.js +78 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ja.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/kn.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ko.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/lt.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/lv.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/mk.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/nb.js +77 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/nl.js +80 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/pl.js +78 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/pt-BR.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/pt.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ro.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ru.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/sk.js +76 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/sl.js +79 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/sq.js +79 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/sr-CIR.js +79 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/sr-LAT.js +79 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/sv.js +74 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/th.js +74 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/tr.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/ua.js +77 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/uk.js +77 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/vi.js +74 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/zh-CN.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/i18n/zh-TW.js +75 -0
- data/app/assets/javascripts/comfy/vendor/redactor/imagemanager.js +68 -0
- data/app/assets/javascripts/comfy/vendor/redactor/table.js +348 -0
- data/app/assets/javascripts/comfy/vendor/redactor/video.js +82 -0
- data/app/assets/javascripts/comfy/vendor/redactor.js +9563 -0
- data/app/assets/stylesheets/comfy/admin/cms/application.sass +11 -0
- data/app/assets/stylesheets/comfy/admin/cms/base.sass +256 -0
- data/app/assets/stylesheets/comfy/admin/cms/codemirror_overrides.sass +19 -0
- data/app/assets/stylesheets/comfy/admin/cms/custom.sass +1 -0
- data/app/assets/stylesheets/comfy/admin/cms/redactor_overrides.sass +22 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +51 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_badge.scss +54 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_breadcrumb.scss +41 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +163 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +137 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +289 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +197 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +41 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +48 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +507 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +191 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +330 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +86 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_grid.scss +52 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +42 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +193 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_jumbotron.scss +17 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +149 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_media.scss +8 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_mixins.scss +47 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +229 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +120 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +294 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +73 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +171 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +141 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +43 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +483 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_root.scss +19 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_spinners.scss +55 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +185 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_toasts.scss +44 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +115 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_transitions.scss +20 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +125 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_utilities.scss +17 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +1123 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +29 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +12 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +44 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_alert.scss +13 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +21 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_badge.scss +17 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_border-radius.scss +63 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_box-shadow.scss +20 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +123 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +107 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +62 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_clearfix.scss +7 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_deprecate.scss +10 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_float.scss +14 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +192 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_gradients.scss +45 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +66 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid.scss +51 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +37 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_image.scss +36 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +21 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_lists.scss +7 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_nav-divider.scss +10 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_pagination.scss +22 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_reset-text.scss +17 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_resize.scss +6 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +33 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_size.scss +7 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_table-row.scss +39 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-emphasis.scss +16 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +11 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-truncate.scss +8 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_transition.scss +16 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_visibility.scss +8 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_align.scss +8 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_background.scss +19 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +75 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_clearfix.scss +3 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +26 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_embed.scss +39 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_flex.scss +51 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_float.scss +11 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_overflow.scss +5 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_position.scss +32 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_screenreaders.scss +11 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_shadows.scss +6 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_sizing.scss +20 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_spacing.scss +73 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_stretched-link.scss +19 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_text.scss +72 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_visibility.scss +13 -0
- data/app/assets/stylesheets/comfy/vendor/bootstrap/vendor/_rfs.scss +204 -0
- data/app/assets/stylesheets/comfy/vendor/fontawesome.css +343 -0
- data/app/assets/stylesheets/comfy/vendor/redactor.css +948 -0
- data/app/controllers/application_controller.rb +5 -0
- data/app/controllers/comfy/admin/base_controller.rb +20 -0
- data/app/controllers/comfy/admin/cms/base_controller.rb +54 -0
- data/app/controllers/comfy/admin/cms/categories_controller.rb +38 -0
- data/app/controllers/comfy/admin/cms/files_controller.rb +140 -0
- data/app/controllers/comfy/admin/cms/layouts_controller.rb +69 -0
- data/app/controllers/comfy/admin/cms/pages_controller.rb +193 -0
- data/app/controllers/comfy/admin/cms/revisions/base_controller.rb +48 -0
- data/app/controllers/comfy/admin/cms/revisions/layout_controller.rb +16 -0
- data/app/controllers/comfy/admin/cms/revisions/page_controller.rb +28 -0
- data/app/controllers/comfy/admin/cms/revisions/snippet_controller.rb +16 -0
- data/app/controllers/comfy/admin/cms/revisions/translation_controller.rb +29 -0
- data/app/controllers/comfy/admin/cms/sites_controller.rb +68 -0
- data/app/controllers/comfy/admin/cms/snippets_controller.rb +66 -0
- data/app/controllers/comfy/admin/cms/translations_controller.rb +117 -0
- data/app/controllers/comfy/cms/assets_controller.rb +38 -0
- data/app/controllers/comfy/cms/base_controller.rb +35 -0
- data/app/controllers/comfy/cms/content_controller.rb +90 -0
- data/app/controllers/concerns/comfy/paginate.rb +11 -0
- data/app/controllers/concerns/comfy/reorder_action.rb +19 -0
- data/app/helpers/comfy/admin/cms_helper.rb +50 -0
- data/app/helpers/comfy/cms_helper.rb +71 -0
- data/app/models/comfy/cms/categorization.rb +23 -0
- data/app/models/comfy/cms/category.rb +22 -0
- data/app/models/comfy/cms/file.rb +65 -0
- data/app/models/comfy/cms/fragment.rb +65 -0
- data/app/models/comfy/cms/layout.rb +119 -0
- data/app/models/comfy/cms/page.rb +182 -0
- data/app/models/comfy/cms/revision.rb +10 -0
- data/app/models/comfy/cms/site.rb +93 -0
- data/app/models/comfy/cms/snippet.rb +43 -0
- data/app/models/comfy/cms/translation.rb +47 -0
- data/app/models/concerns/comfy/cms/with_categories.rb +51 -0
- data/app/models/concerns/comfy/cms/with_fragments.rb +123 -0
- data/app/views/comfy/admin/cms/categories/_categories.html.haml +4 -0
- data/app/views/comfy/admin/cms/categories/_edit.html.haml +7 -0
- data/app/views/comfy/admin/cms/categories/_form.html.haml +5 -0
- data/app/views/comfy/admin/cms/categories/_index.html.haml +28 -0
- data/app/views/comfy/admin/cms/categories/_show.html.haml +15 -0
- data/app/views/comfy/admin/cms/categories/create.js.erb +7 -0
- data/app/views/comfy/admin/cms/categories/destroy.js.erb +8 -0
- data/app/views/comfy/admin/cms/categories/edit.js.erb +3 -0
- data/app/views/comfy/admin/cms/categories/update.js.erb +6 -0
- data/app/views/comfy/admin/cms/files/_file.html.haml +31 -0
- data/app/views/comfy/admin/cms/files/_form.html.haml +26 -0
- data/app/views/comfy/admin/cms/files/_modal.html.haml +3 -0
- data/app/views/comfy/admin/cms/files/destroy.js.erb +4 -0
- data/app/views/comfy/admin/cms/files/edit.html.haml +5 -0
- data/app/views/comfy/admin/cms/files/index.html.haml +31 -0
- data/app/views/comfy/admin/cms/files/new.html.haml +5 -0
- data/app/views/comfy/admin/cms/fragments/_form_fragment_attachments.html.haml +23 -0
- data/app/views/comfy/admin/cms/fragments/_form_fragments.html.haml +38 -0
- data/app/views/comfy/admin/cms/layouts/_form.html.haml +20 -0
- data/app/views/comfy/admin/cms/layouts/_index_branch.html.haml +26 -0
- data/app/views/comfy/admin/cms/layouts/edit.html.haml +9 -0
- data/app/views/comfy/admin/cms/layouts/index.html.haml +10 -0
- data/app/views/comfy/admin/cms/layouts/new.html.haml +5 -0
- data/app/views/comfy/admin/cms/pages/_form.html.haml +31 -0
- data/app/views/comfy/admin/cms/pages/_index_branch.html.haml +44 -0
- data/app/views/comfy/admin/cms/pages/edit.html.haml +14 -0
- data/app/views/comfy/admin/cms/pages/index.html.haml +13 -0
- data/app/views/comfy/admin/cms/pages/new.html.haml +5 -0
- data/app/views/comfy/admin/cms/pages/toggle_branch.js.erb +19 -0
- data/app/views/comfy/admin/cms/revisions/_sidebar.html.haml +2 -0
- data/app/views/comfy/admin/cms/revisions/show.html.haml +36 -0
- data/app/views/comfy/admin/cms/sites/_form.html.haml +15 -0
- data/app/views/comfy/admin/cms/sites/edit.html.haml +5 -0
- data/app/views/comfy/admin/cms/sites/index.html.haml +28 -0
- data/app/views/comfy/admin/cms/sites/new.html.haml +5 -0
- data/app/views/comfy/admin/cms/snippets/_form.html.haml +19 -0
- data/app/views/comfy/admin/cms/snippets/edit.html.haml +9 -0
- data/app/views/comfy/admin/cms/snippets/index.html.haml +33 -0
- data/app/views/comfy/admin/cms/snippets/new.html.haml +5 -0
- data/app/views/comfy/admin/cms/translations/_form.html.haml +20 -0
- data/app/views/comfy/admin/cms/translations/_sidebar.html.haml +19 -0
- data/app/views/comfy/admin/cms/translations/edit.html.haml +10 -0
- data/app/views/comfy/admin/cms/translations/new.html.haml +5 -0
- data/app/views/kaminari/comfy/_first_page.html.haml +3 -0
- data/app/views/kaminari/comfy/_gap.html.haml +2 -0
- data/app/views/kaminari/comfy/_last_page.html.haml +3 -0
- data/app/views/kaminari/comfy/_next_page.html.haml +2 -0
- data/app/views/kaminari/comfy/_page.html.haml +2 -0
- data/app/views/kaminari/comfy/_paginator.html.haml +11 -0
- data/app/views/kaminari/comfy/_prev_page.html.haml +2 -0
- data/app/views/layouts/comfy/admin/cms/_body.html.haml +14 -0
- data/app/views/layouts/comfy/admin/cms/_flash.html.haml +4 -0
- data/app/views/layouts/comfy/admin/cms/_footer_js.html.haml +6 -0
- data/app/views/layouts/comfy/admin/cms/_head.html.haml +19 -0
- data/app/views/layouts/comfy/admin/cms/_left.html.haml +46 -0
- data/app/views/layouts/comfy/admin/cms/_right.html.haml +5 -0
- data/app/views/layouts/comfy/admin/cms.html.haml +4 -0
- data/bin/bundle +3 -0
- data/bin/rails +4 -0
- data/bin/rake +4 -0
- data/bin/setup +36 -0
- data/bin/update +31 -0
- data/bin/yarn +11 -0
- data/comfy_middle_seat.gemspec +35 -0
- data/config/application.rb +62 -0
- data/config/boot.rb +5 -0
- data/config/cable.yml +10 -0
- data/config/cms_routes.rb +8 -0
- data/config/database.yml +40 -0
- data/config/environment.rb +7 -0
- data/config/environments/development.rb +81 -0
- data/config/environments/production.rb +93 -0
- data/config/environments/test.rb +74 -0
- data/config/initializers/comfortable_media_surfer.rb +122 -0
- data/config/initializers/content_security_policy.rb +27 -0
- data/config/initializers/filter_parameter_logging.rb +10 -0
- data/config/initializers/inflections.rb +18 -0
- data/config/initializers/json.rb +11 -0
- data/config/initializers/new_framework_defaults_7_0.rb +144 -0
- data/config/initializers/new_framework_defaults_7_1.rb +225 -0
- data/config/initializers/permissions_policy.rb +15 -0
- data/config/locales/ar.yml +268 -0
- data/config/locales/ca.yml +268 -0
- data/config/locales/cs.yml +268 -0
- data/config/locales/da.yml +268 -0
- data/config/locales/de.yml +268 -0
- data/config/locales/en.yml +268 -0
- data/config/locales/es.yml +268 -0
- data/config/locales/fi.yml +268 -0
- data/config/locales/fr.yml +268 -0
- data/config/locales/gr.yml +268 -0
- data/config/locales/hr.yml +268 -0
- data/config/locales/it.yml +268 -0
- data/config/locales/ja.yml +268 -0
- data/config/locales/nb.yml +268 -0
- data/config/locales/nl.yml +268 -0
- data/config/locales/pl.yml +268 -0
- data/config/locales/pt-BR.yml +268 -0
- data/config/locales/ru.yml +268 -0
- data/config/locales/sk.yml +268 -0
- data/config/locales/sv.yml +268 -0
- data/config/locales/tr.yml +268 -0
- data/config/locales/uk.yml +268 -0
- data/config/locales/zh-CN.yml +268 -0
- data/config/locales/zh-TW.yml +268 -0
- data/config/puma.rb +43 -0
- data/config/storage.yml +35 -0
- data/config.ru +6 -0
- data/db/cms_seeds/sample-site/files/_default.jpg.yml +5 -0
- data/db/cms_seeds/sample-site/files/default.jpg +0 -0
- data/db/cms_seeds/sample-site/layouts/default/content.html +16 -0
- data/db/cms_seeds/sample-site/layouts/default/nested/content.html +14 -0
- data/db/cms_seeds/sample-site/pages/index/child_a/content.html +7 -0
- data/db/cms_seeds/sample-site/pages/index/child_b/child_a/content.html +6 -0
- data/db/cms_seeds/sample-site/pages/index/child_b/content.html +6 -0
- data/db/cms_seeds/sample-site/pages/index/cms logo.png +0 -0
- data/db/cms_seeds/sample-site/pages/index/content.es.html +6 -0
- data/db/cms_seeds/sample-site/pages/index/content.fr.html +6 -0
- data/db/cms_seeds/sample-site/pages/index/content.html +25 -0
- data/db/cms_seeds/sample-site/pages/index/footer.png +0 -0
- data/db/cms_seeds/sample-site/pages/index/header.png +0 -0
- data/db/cms_seeds/sample-site/snippets/default.html +8 -0
- data/db/migrate/00_create_active_storage_tables.active_storage.rb +50 -0
- data/db/migrate/01_create_cms.rb +142 -0
- data/db/migrate/02_add_markdown_to_snippets.rb +5 -0
- data/gemfiles/7.2.gemfile +36 -0
- data/gemfiles/8.0.gemfile +36 -0
- data/gemfiles/8.1.gemfile +36 -0
- data/lib/comfortable_media_surfer/access_control/admin_authentication.rb +22 -0
- data/lib/comfortable_media_surfer/access_control/admin_authorization.rb +10 -0
- data/lib/comfortable_media_surfer/access_control/public_authentication.rb +10 -0
- data/lib/comfortable_media_surfer/access_control/public_authorization.rb +10 -0
- data/lib/comfortable_media_surfer/configuration.rb +138 -0
- data/lib/comfortable_media_surfer/content/block.rb +12 -0
- data/lib/comfortable_media_surfer/content/params_parser.rb +149 -0
- data/lib/comfortable_media_surfer/content/renderer.rb +146 -0
- data/lib/comfortable_media_surfer/content/tag.rb +48 -0
- data/lib/comfortable_media_surfer/content/tags/asset.rb +57 -0
- data/lib/comfortable_media_surfer/content/tags/audio.rb +39 -0
- data/lib/comfortable_media_surfer/content/tags/breadcrumbs.rb +43 -0
- data/lib/comfortable_media_surfer/content/tags/checkbox.rb +27 -0
- data/lib/comfortable_media_surfer/content/tags/children.rb +52 -0
- data/lib/comfortable_media_surfer/content/tags/date.rb +19 -0
- data/lib/comfortable_media_surfer/content/tags/datetime.rb +42 -0
- data/lib/comfortable_media_surfer/content/tags/file.rb +70 -0
- data/lib/comfortable_media_surfer/content/tags/file_link.rb +58 -0
- data/lib/comfortable_media_surfer/content/tags/files.rb +41 -0
- data/lib/comfortable_media_surfer/content/tags/fragment.rb +64 -0
- data/lib/comfortable_media_surfer/content/tags/helper.rb +53 -0
- data/lib/comfortable_media_surfer/content/tags/image.rb +56 -0
- data/lib/comfortable_media_surfer/content/tags/markdown.rb +22 -0
- data/lib/comfortable_media_surfer/content/tags/mixins/file_content.rb +42 -0
- data/lib/comfortable_media_surfer/content/tags/number.rb +18 -0
- data/lib/comfortable_media_surfer/content/tags/page_file_link.rb +86 -0
- data/lib/comfortable_media_surfer/content/tags/partial.rb +47 -0
- data/lib/comfortable_media_surfer/content/tags/siblings.rb +66 -0
- data/lib/comfortable_media_surfer/content/tags/snippet.rb +36 -0
- data/lib/comfortable_media_surfer/content/tags/template.rb +42 -0
- data/lib/comfortable_media_surfer/content/tags/text.rb +18 -0
- data/lib/comfortable_media_surfer/content/tags/textarea.rb +19 -0
- data/lib/comfortable_media_surfer/content/tags/wysiwyg.rb +19 -0
- data/lib/comfortable_media_surfer/content/tags.rb +29 -0
- data/lib/comfortable_media_surfer/content.rb +11 -0
- data/lib/comfortable_media_surfer/engine.rb +24 -0
- data/lib/comfortable_media_surfer/error.rb +24 -0
- data/lib/comfortable_media_surfer/extensions/acts_as_tree.rb +114 -0
- data/lib/comfortable_media_surfer/extensions/has_revisions.rb +68 -0
- data/lib/comfortable_media_surfer/extensions.rb +8 -0
- data/lib/comfortable_media_surfer/form_builder.rb +43 -0
- data/lib/comfortable_media_surfer/render_methods.rb +106 -0
- data/lib/comfortable_media_surfer/routing.rb +87 -0
- data/lib/comfortable_media_surfer/seeds/file/exporter.rb +37 -0
- data/lib/comfortable_media_surfer/seeds/file/importer.rb +55 -0
- data/lib/comfortable_media_surfer/seeds/layout/exporter.rb +38 -0
- data/lib/comfortable_media_surfer/seeds/layout/importer.rb +60 -0
- data/lib/comfortable_media_surfer/seeds/page/exporter.rb +88 -0
- data/lib/comfortable_media_surfer/seeds/page/importer.rb +245 -0
- data/lib/comfortable_media_surfer/seeds/snippet/exporter.rb +32 -0
- data/lib/comfortable_media_surfer/seeds/snippet/importer.rb +47 -0
- data/lib/comfortable_media_surfer/seeds.rb +110 -0
- data/lib/comfortable_media_surfer/version.rb +3 -0
- data/lib/comfortable_media_surfer/view_hooks.rb +33 -0
- data/lib/comfortable_media_surfer.rb +56 -0
- data/lib/comfy_middle_seat/version.rb +5 -0
- data/lib/comfy_middle_seat.rb +3 -0
- data/lib/generators/comfy/cms/README +21 -0
- data/lib/generators/comfy/cms/assets_generator.rb +16 -0
- data/lib/generators/comfy/cms/cms_generator.rb +69 -0
- data/lib/generators/comfy/cms/controllers_generator.rb +15 -0
- data/lib/generators/comfy/cms/models_generator.rb +15 -0
- data/lib/generators/comfy/cms/views_generator.rb +15 -0
- data/lib/generators/comfy/scaffold/scaffold_generator.rb +79 -0
- data/lib/generators/comfy/scaffold/templates/controller.rb.tt +62 -0
- data/lib/generators/comfy/scaffold/templates/migration.rb.tt +11 -0
- data/lib/generators/comfy/scaffold/templates/model.rb.tt +21 -0
- data/lib/generators/comfy/scaffold/templates/tests/controller.rb.tt +115 -0
- data/lib/generators/comfy/scaffold/templates/tests/fixture.yml.tt +4 -0
- data/lib/generators/comfy/scaffold/templates/tests/model.rb.tt +26 -0
- data/lib/generators/comfy/scaffold/templates/views/_form.haml.tt +7 -0
- data/lib/generators/comfy/scaffold/templates/views/edit.haml.tt +5 -0
- data/lib/generators/comfy/scaffold/templates/views/index.haml.tt +21 -0
- data/lib/generators/comfy/scaffold/templates/views/new.haml.tt +5 -0
- data/lib/generators/comfy/scaffold/templates/views/show.haml.tt +4 -0
- data/lib/tasks/cms_assets.rake +19 -0
- data/lib/tasks/cms_seeds.rake +40 -0
- data/package-lock.json +989 -0
- data/package.json +23 -0
- data/public/favicon.ico +0 -0
- data/rakelib/create_release.rake +82 -0
- metadata +665 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/core_ext/integer/time'
|
|
4
|
+
|
|
5
|
+
defined?(ComfortableMediaSurfer::Application) && ComfortableMediaSurfer::Application.configure do
|
|
6
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
|
7
|
+
|
|
8
|
+
# In the development environment your application's code is reloaded any time
|
|
9
|
+
# it changes. This slows down response time but is perfect for development
|
|
10
|
+
# since you don't have to restart the web server when you make code changes.
|
|
11
|
+
config.enable_reloading = true
|
|
12
|
+
|
|
13
|
+
# Do not eager load code on boot.
|
|
14
|
+
config.eager_load = false
|
|
15
|
+
|
|
16
|
+
# Show full error reports.
|
|
17
|
+
config.consider_all_requests_local = true
|
|
18
|
+
|
|
19
|
+
# Enable server timing.
|
|
20
|
+
config.server_timing = true
|
|
21
|
+
|
|
22
|
+
# Enable/disable Action Controller caching. By default Action Controller caching is disabled.
|
|
23
|
+
# Run rails dev:cache to toggle Action Controller caching.
|
|
24
|
+
if Rails.root.join('tmp/caching-dev.txt').exist?
|
|
25
|
+
config.action_controller.perform_caching = true
|
|
26
|
+
config.action_controller.enable_fragment_cache_logging = true
|
|
27
|
+
|
|
28
|
+
config.cache_store = :memory_store
|
|
29
|
+
config.public_file_server.headers = { 'cache-control' => "public, max-age=#{2.days.to_i}" }
|
|
30
|
+
else
|
|
31
|
+
config.action_controller.perform_caching = false
|
|
32
|
+
config.cache_store = :null_store
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Store uploaded files on the local file system (see config/storage.yml for options).
|
|
36
|
+
config.active_storage.service = :local
|
|
37
|
+
|
|
38
|
+
# Don't care if the mailer can't send.
|
|
39
|
+
config.action_mailer.raise_delivery_errors = false
|
|
40
|
+
|
|
41
|
+
# Make template changes take effect immediately.
|
|
42
|
+
config.action_mailer.perform_caching = false
|
|
43
|
+
|
|
44
|
+
# Set localhost to be used by links generated in mailer templates.
|
|
45
|
+
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
|
|
46
|
+
|
|
47
|
+
# Print deprecation notices to the Rails logger.
|
|
48
|
+
config.active_support.deprecation = :log
|
|
49
|
+
|
|
50
|
+
# Raise exceptions for disallowed deprecations.
|
|
51
|
+
config.active_support.disallowed_deprecation = :raise
|
|
52
|
+
|
|
53
|
+
# Tell Active Support which deprecation messages to disallow.
|
|
54
|
+
config.active_support.disallowed_deprecation_warnings = []
|
|
55
|
+
|
|
56
|
+
# Raise an error on page load if there are pending migrations.
|
|
57
|
+
config.active_record.migration_error = :page_load
|
|
58
|
+
|
|
59
|
+
# Highlight code that triggered database queries in logs.
|
|
60
|
+
config.active_record.verbose_query_logs = true
|
|
61
|
+
|
|
62
|
+
# Highlight code that enqueued background job in logs.
|
|
63
|
+
config.active_job.verbose_enqueue_logs = true
|
|
64
|
+
|
|
65
|
+
# Raises error for missing translations.
|
|
66
|
+
# config.i18n.raise_on_missing_translations = true
|
|
67
|
+
|
|
68
|
+
# Annotate rendered view with file names.
|
|
69
|
+
# config.action_view.annotate_rendered_view_with_filenames = true
|
|
70
|
+
|
|
71
|
+
# Uncomment if you wish to allow Action Cable access from any origin.
|
|
72
|
+
# config.action_cable.disable_request_forgery_protection = true
|
|
73
|
+
|
|
74
|
+
if Gem::Version.new(Rails.version) >= Gem::Version.new('7.1.0')
|
|
75
|
+
# Raise error when a before_action's only/except options reference missing actions
|
|
76
|
+
config.action_controller.raise_on_missing_callback_actions = true
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Apply autocorrection by RuboCop to files generated by `bin/rails generate`.
|
|
80
|
+
# config.generators.apply_rubocop_autocorrect_after_generate!
|
|
81
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/core_ext/integer/time'
|
|
4
|
+
|
|
5
|
+
defined?(ComfortableMediaSurfer::Application) && ComfortableMediaSurfer::Application.configure do
|
|
6
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
|
7
|
+
|
|
8
|
+
# Code is not reloaded between requests.
|
|
9
|
+
config.enable_reloading = false
|
|
10
|
+
|
|
11
|
+
# Eager load code on boot. This eager loads most of Rails and
|
|
12
|
+
# your application in memory, allowing both threaded web servers
|
|
13
|
+
# and those relying on copy on write to perform better.
|
|
14
|
+
# Rake tasks automatically ignore this option for performance.
|
|
15
|
+
config.eager_load = true
|
|
16
|
+
|
|
17
|
+
# Full error reports are disabled and caching is turned on.
|
|
18
|
+
config.consider_all_requests_local = false
|
|
19
|
+
config.action_controller.perform_caching = true
|
|
20
|
+
|
|
21
|
+
# Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment
|
|
22
|
+
# key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files).
|
|
23
|
+
# config.require_master_key = true
|
|
24
|
+
|
|
25
|
+
# Enable static file serving from the `/public` folder (turn off if using NGINX/Apache for it).
|
|
26
|
+
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
|
27
|
+
|
|
28
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
|
29
|
+
# config.asset_host = "http://assets.example.com"
|
|
30
|
+
|
|
31
|
+
# Specifies the header that your server uses for sending files.
|
|
32
|
+
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
|
|
33
|
+
# config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
|
|
34
|
+
|
|
35
|
+
# Store uploaded files on the local file system (see config/storage.yml for options).
|
|
36
|
+
config.active_storage.service = :local
|
|
37
|
+
|
|
38
|
+
# Mount Action Cable outside main process or domain.
|
|
39
|
+
# config.action_cable.mount_path = nil
|
|
40
|
+
# config.action_cable.url = "wss://example.com/cable"
|
|
41
|
+
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
|
|
42
|
+
|
|
43
|
+
# Assume all access to the app is happening through a SSL-terminating reverse proxy.
|
|
44
|
+
# Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies.
|
|
45
|
+
# config.assume_ssl = true
|
|
46
|
+
|
|
47
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
|
48
|
+
config.force_ssl = true
|
|
49
|
+
|
|
50
|
+
# Log to STDOUT by default
|
|
51
|
+
config.logger = ActiveSupport::Logger.new($stdout)
|
|
52
|
+
.tap { |logger| logger.formatter = Logger::Formatter.new }
|
|
53
|
+
.then { |logger| ActiveSupport::TaggedLogging.new(logger) }
|
|
54
|
+
|
|
55
|
+
# Prepend all log lines with the following tags.
|
|
56
|
+
config.log_tags = [:request_id]
|
|
57
|
+
|
|
58
|
+
# Info include generic and useful information about system operation, but avoids logging too much
|
|
59
|
+
# information to avoid inadvertent exposure of personally identifiable information (PII). If you
|
|
60
|
+
# want to log everything, set the level to "debug".
|
|
61
|
+
config.log_level = ENV.fetch('RAILS_LOG_LEVEL', 'info')
|
|
62
|
+
|
|
63
|
+
# Use a different cache store in production.
|
|
64
|
+
# config.cache_store = :mem_cache_store
|
|
65
|
+
|
|
66
|
+
# Use a real queuing backend for Active Job (and separate queues per environment).
|
|
67
|
+
# config.active_job.queue_adapter = :resque
|
|
68
|
+
# config.active_job.queue_name_prefix = "comfy_production"
|
|
69
|
+
|
|
70
|
+
config.action_mailer.perform_caching = false
|
|
71
|
+
|
|
72
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
|
73
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
|
74
|
+
# config.action_mailer.raise_delivery_errors = false
|
|
75
|
+
|
|
76
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
|
77
|
+
# the I18n.default_locale when a translation cannot be found).
|
|
78
|
+
config.i18n.fallbacks = true
|
|
79
|
+
|
|
80
|
+
# Don't log any deprecations.
|
|
81
|
+
config.active_support.report_deprecations = false
|
|
82
|
+
|
|
83
|
+
# Do not dump schema after migrations.
|
|
84
|
+
config.active_record.dump_schema_after_migration = false
|
|
85
|
+
|
|
86
|
+
# Enable DNS rebinding protection and other `Host` header attacks.
|
|
87
|
+
# config.hosts = [
|
|
88
|
+
# "example.com", # Allow requests from example.com
|
|
89
|
+
# /.*\.example\.com/ # Allow requests from subdomains like `www.example.com`
|
|
90
|
+
# ]
|
|
91
|
+
# Skip DNS rebinding protection for the default health check endpoint.
|
|
92
|
+
# config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
|
|
93
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/core_ext/integer/time'
|
|
4
|
+
|
|
5
|
+
# The test environment is used exclusively to run your application's
|
|
6
|
+
# test suite. You never need to work with it otherwise. Remember that
|
|
7
|
+
# your test database is "scratch space" for the test suite and is wiped
|
|
8
|
+
# and recreated between test runs. Don't rely on the data there!
|
|
9
|
+
|
|
10
|
+
defined?(ComfortableMediaSurfer::Application) && ComfortableMediaSurfer::Application.configure do
|
|
11
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
|
12
|
+
|
|
13
|
+
config.active_job.queue_adapter = :test # added for Rails 7.1
|
|
14
|
+
|
|
15
|
+
# While tests run files are not watched, reloading is not necessary.
|
|
16
|
+
config.enable_reloading = false
|
|
17
|
+
|
|
18
|
+
# Eager loading loads your entire application. When running a single test locally,
|
|
19
|
+
# this is usually not necessary, and can slow down your test suite. However, it's
|
|
20
|
+
# recommended that you enable it in continuous integration systems to ensure eager
|
|
21
|
+
# loading is working properly before deploying your code.
|
|
22
|
+
config.eager_load = ENV['CI'].present?
|
|
23
|
+
|
|
24
|
+
# Configure public file server for tests with Cache-Control for performance.
|
|
25
|
+
config.public_file_server.enabled = true
|
|
26
|
+
config.public_file_server.headers = {
|
|
27
|
+
'Cache-Control' => "public, max-age=#{1.hour.to_i}"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# Show full error reports and disable caching.
|
|
31
|
+
config.consider_all_requests_local = true
|
|
32
|
+
config.action_controller.perform_caching = false
|
|
33
|
+
config.cache_store = :null_store
|
|
34
|
+
|
|
35
|
+
# Raise exceptions instead of rendering exception templates.
|
|
36
|
+
config.action_dispatch.show_exceptions = if Gem::Version.new(Rails.version) < Gem::Version.new('7.1.0')
|
|
37
|
+
false
|
|
38
|
+
else
|
|
39
|
+
:none
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Disable request forgery protection in test environment.
|
|
43
|
+
config.action_controller.allow_forgery_protection = false
|
|
44
|
+
|
|
45
|
+
# Store uploaded files on the local file system in a temporary directory.
|
|
46
|
+
config.active_storage.service = :test
|
|
47
|
+
|
|
48
|
+
config.action_mailer.perform_caching = false
|
|
49
|
+
|
|
50
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
|
51
|
+
# The :test delivery method accumulates sent emails in the
|
|
52
|
+
# ActionMailer::Base.deliveries array.
|
|
53
|
+
config.action_mailer.delivery_method = :test
|
|
54
|
+
|
|
55
|
+
# Print deprecation notices to the stderr.
|
|
56
|
+
config.active_support.deprecation = :stderr
|
|
57
|
+
|
|
58
|
+
# Raise exceptions for disallowed deprecations.
|
|
59
|
+
config.active_support.disallowed_deprecation = :raise
|
|
60
|
+
|
|
61
|
+
# Tell Active Support which deprecation messages to disallow.
|
|
62
|
+
config.active_support.disallowed_deprecation_warnings = []
|
|
63
|
+
|
|
64
|
+
# Raises error for missing translations.
|
|
65
|
+
# config.i18n.raise_on_missing_translations = true
|
|
66
|
+
|
|
67
|
+
# Annotate rendered view with file names.
|
|
68
|
+
# config.action_view.annotate_rendered_view_with_filenames = true
|
|
69
|
+
|
|
70
|
+
if Gem::Version.new(Rails.version) >= Gem::Version.new('7.1.0')
|
|
71
|
+
# Raise error when a before_action's only/except options reference missing actions
|
|
72
|
+
config.action_controller.raise_on_missing_callback_actions = true
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
ComfortableMediaSurfer.configure do |config|
|
|
4
|
+
# Title of the admin area
|
|
5
|
+
# config.cms_title = 'Comfy CMS Engine'
|
|
6
|
+
|
|
7
|
+
# Controller that is inherited from CmsAdmin::BaseController
|
|
8
|
+
# config.admin_base_controller = 'ApplicationController'
|
|
9
|
+
|
|
10
|
+
# Controller that Comfy::Cms::BaseController will inherit from
|
|
11
|
+
# config.public_base_controller = 'ApplicationController'
|
|
12
|
+
|
|
13
|
+
# Module responsible for authentication. You can replace it with your own.
|
|
14
|
+
# It simply needs to have #authenticate method. See http_auth.rb for reference.
|
|
15
|
+
# config.admin_auth = 'ComfyAdminAuthentication'
|
|
16
|
+
|
|
17
|
+
# Module responsible for authorization on admin side. It should have #authorize
|
|
18
|
+
# method that returns true or false based on params and loaded instance
|
|
19
|
+
# variables available for a given controller.
|
|
20
|
+
# config.admin_authorization = 'ComfyAdminAuthorization'
|
|
21
|
+
|
|
22
|
+
# Module responsible for public authentication. Similar to the above. You also
|
|
23
|
+
# will have access to @cms_site, @cms_layout, @cms_page so you can use them in
|
|
24
|
+
# your logic. Default module doesn't do anything.
|
|
25
|
+
# config.public_auth = 'ComfyPublicAuthentication'
|
|
26
|
+
|
|
27
|
+
# Module responsible for public authorization. It should have #authorize
|
|
28
|
+
# method that returns true or false based on params and loaded instance
|
|
29
|
+
# variables available for a given controller.
|
|
30
|
+
# config.public_authorization = 'ComfyPublicAuthorization'
|
|
31
|
+
|
|
32
|
+
# When arriving at /cms-admin you may chose to redirect to arbirtary path,
|
|
33
|
+
# for example '/cms-admin/users'
|
|
34
|
+
# config.admin_route_redirect = ''
|
|
35
|
+
|
|
36
|
+
# Sofa allows you to setup entire site from files. Database is updated with each
|
|
37
|
+
# request (if necessary). Please note that database entries are destroyed if there's
|
|
38
|
+
# no corresponding file. Seeds are disabled by default.
|
|
39
|
+
# config.enable_seeds = false
|
|
40
|
+
|
|
41
|
+
# Path where seeds can be located.
|
|
42
|
+
# config.seeds_path = File.expand_path('db/cms_seeds', Rails.root)
|
|
43
|
+
|
|
44
|
+
# Content for Layouts, Pages and Snippets has a revision history. You can revert
|
|
45
|
+
# a previous version using this system. You can control how many revisions per
|
|
46
|
+
# object you want to keep. Set it to 0 if you wish to turn this feature off.
|
|
47
|
+
# config.revisions_limit = 25
|
|
48
|
+
|
|
49
|
+
# Locale definitions. If you want to define your own locale merge
|
|
50
|
+
# {:locale => 'Locale Title'} with this.
|
|
51
|
+
# config.locales = {:en => 'English', :es => 'Español'}
|
|
52
|
+
|
|
53
|
+
# Admin interface will respect the locale of the site being managed. However you can
|
|
54
|
+
# force it to English by setting this to `:en`
|
|
55
|
+
# config.admin_locale = nil
|
|
56
|
+
|
|
57
|
+
# A class that is included as a sweeper to admin base controller if it's set
|
|
58
|
+
# config.admin_cache_sweeper = nil
|
|
59
|
+
|
|
60
|
+
# By default you cannot have irb code inside your layouts/pages/snippets.
|
|
61
|
+
# Generally this is to prevent putting something like this:
|
|
62
|
+
# <% User.delete_all %> but if you really want to allow it...
|
|
63
|
+
# config.allow_erb = false
|
|
64
|
+
|
|
65
|
+
# Whitelist of all helper methods that can be used via {{cms:helper}} tag. By default
|
|
66
|
+
# all helpers are allowed except `eval`, `send`, `call` and few others. Empty array
|
|
67
|
+
# will prevent rendering of all helpers.
|
|
68
|
+
# config.allowed_helpers = nil
|
|
69
|
+
|
|
70
|
+
# Whitelist of partials paths that can be used via {{cms:partial}} tag. All partials
|
|
71
|
+
# are accessible by default. Empty array will prevent rendering of all partials.
|
|
72
|
+
# config.allowed_partials = nil
|
|
73
|
+
|
|
74
|
+
# Site aliases, if you want to have aliases for your site. Good for harmonizing
|
|
75
|
+
# production env with dev/testing envs.
|
|
76
|
+
# e.g. config.hostname_aliases = {'host.com' => 'host.inv', 'host_a.com' => ['host.lvh.me', 'host.dev']}
|
|
77
|
+
# Default is nil (not used)
|
|
78
|
+
# config.hostname_aliases = nil
|
|
79
|
+
|
|
80
|
+
# Reveal partials that can be overwritten in the admin area.
|
|
81
|
+
# Default is false.
|
|
82
|
+
# config.reveal_cms_partials = false
|
|
83
|
+
#
|
|
84
|
+
# Customize the returned content json data
|
|
85
|
+
# include fragments in content json
|
|
86
|
+
# config.content_json_options = {
|
|
87
|
+
# include: [:fragments]
|
|
88
|
+
# }
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Default credentials for ComfortableMediaSurfer::AccessControl::AdminAuthentication
|
|
92
|
+
# YOU REALLY WANT TO CHANGE THIS BEFORE PUTTING YOUR SITE LIVE
|
|
93
|
+
ComfortableMediaSurfer::AccessControl::AdminAuthentication.username = 'user'
|
|
94
|
+
ComfortableMediaSurfer::AccessControl::AdminAuthentication.password = 'pass'
|
|
95
|
+
|
|
96
|
+
# Uncomment this module and `config.admin_auth` above to use custom admin authentication
|
|
97
|
+
# module ComfyAdminAuthentication
|
|
98
|
+
# def authenticate
|
|
99
|
+
# return true
|
|
100
|
+
# end
|
|
101
|
+
# end
|
|
102
|
+
|
|
103
|
+
# Uncomment this module and `config.admin_authorization` above to use custom admin authorization
|
|
104
|
+
# module ComfyAdminAuthorization
|
|
105
|
+
# def authorize
|
|
106
|
+
# return true
|
|
107
|
+
# end
|
|
108
|
+
# end
|
|
109
|
+
|
|
110
|
+
# Uncomment this module and `config.public_auth` above to use custom public authentication
|
|
111
|
+
# module ComfyPublicAuthentication
|
|
112
|
+
# def authenticate
|
|
113
|
+
# return true
|
|
114
|
+
# end
|
|
115
|
+
# end
|
|
116
|
+
|
|
117
|
+
# Uncomment this module and `config.public_authorization` above to use custom public authorization
|
|
118
|
+
# module ComfyPublicAuthorization
|
|
119
|
+
# def authorize
|
|
120
|
+
# return true
|
|
121
|
+
# end
|
|
122
|
+
# end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Be sure to restart your server when you modify this file.
|
|
4
|
+
|
|
5
|
+
# Define an application-wide content security policy.
|
|
6
|
+
# See the Securing Rails Applications Guide for more information:
|
|
7
|
+
# https://guides.rubyonrails.org/security.html#content-security-policy-header
|
|
8
|
+
|
|
9
|
+
# Rails.application.configure do
|
|
10
|
+
# config.content_security_policy do |policy|
|
|
11
|
+
# policy.default_src :self, :https
|
|
12
|
+
# policy.font_src :self, :https, :data
|
|
13
|
+
# policy.img_src :self, :https, :data
|
|
14
|
+
# policy.object_src :none
|
|
15
|
+
# policy.script_src :self, :https
|
|
16
|
+
# policy.style_src :self, :https
|
|
17
|
+
# # Specify URI for violation reports
|
|
18
|
+
# # policy.report_uri "/csp-violation-report-endpoint"
|
|
19
|
+
# end
|
|
20
|
+
#
|
|
21
|
+
# # Generate session nonces for permitted importmap, inline scripts, and inline styles.
|
|
22
|
+
# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }
|
|
23
|
+
# config.content_security_policy_nonce_directives = %w(script-src style-src)
|
|
24
|
+
#
|
|
25
|
+
# # Report violations without enforcing the policy.
|
|
26
|
+
# # config.content_security_policy_report_only = true
|
|
27
|
+
# end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Be sure to restart your server when you modify this file.
|
|
4
|
+
|
|
5
|
+
# Configure parameters to be partially matched (e.g. passw matches password) and filtered from the log file.
|
|
6
|
+
# Use this to limit dissemination of sensitive information.
|
|
7
|
+
# See the ActiveSupport::ParameterFilter documentation for supported notations and behaviors.
|
|
8
|
+
Rails.application.config.filter_parameters += %i[
|
|
9
|
+
passw secret token _key crypt salt certificate otp ssn
|
|
10
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Be sure to restart your server when you modify this file.
|
|
4
|
+
|
|
5
|
+
# Add new inflection rules using the following format. Inflections
|
|
6
|
+
# are locale specific, and you may define rules for as many different
|
|
7
|
+
# locales as you wish. All of these examples are active by default:
|
|
8
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
|
9
|
+
# inflect.plural /^(ox)$/i, "\\1en"
|
|
10
|
+
# inflect.singular /^(ox)en/i, "\\1"
|
|
11
|
+
# inflect.irregular "person", "people"
|
|
12
|
+
# inflect.uncountable %w( fish sheep )
|
|
13
|
+
# end
|
|
14
|
+
|
|
15
|
+
# These inflection rules are supported but not enabled by default:
|
|
16
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
|
17
|
+
# inflect.acronym "RESTful"
|
|
18
|
+
# end
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Be sure to restart your server when you modify this file.
|
|
4
|
+
#
|
|
5
|
+
# This file eases your Rails 7.0 framework defaults upgrade.
|
|
6
|
+
#
|
|
7
|
+
# Uncomment each configuration one by one to switch to the new default.
|
|
8
|
+
# Once your application is ready to run with all new defaults, you can remove
|
|
9
|
+
# this file and set the `config.load_defaults` to `7.0`.
|
|
10
|
+
#
|
|
11
|
+
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
|
12
|
+
# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
|
|
13
|
+
|
|
14
|
+
# `button_to` view helper will render `<button>` element, regardless of whether
|
|
15
|
+
# or not the content is passed as the first argument or as a block.
|
|
16
|
+
# Rails.application.config.action_view.button_to_generates_button_tag = true
|
|
17
|
+
|
|
18
|
+
# `stylesheet_link_tag` view helper will not render the media attribute by default.
|
|
19
|
+
# Rails.application.config.action_view.apply_stylesheet_media_default = false
|
|
20
|
+
|
|
21
|
+
# Change the digest class for the key generators to `OpenSSL::Digest::SHA256`.
|
|
22
|
+
# Changing this default means invalidate all encrypted messages generated by
|
|
23
|
+
# your application and, all the encrypted cookies. Only change this after you
|
|
24
|
+
# rotated all the messages using the key rotator.
|
|
25
|
+
#
|
|
26
|
+
# See upgrading guide for more information on how to build a rotator.
|
|
27
|
+
# https://guides.rubyonrails.org/v7.0/upgrading_ruby_on_rails.html
|
|
28
|
+
# Rails.application.config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA256
|
|
29
|
+
|
|
30
|
+
# Change the digest class for ActiveSupport::Digest.
|
|
31
|
+
# Changing this default means that for example Etags change and
|
|
32
|
+
# various cache keys leading to cache invalidation.
|
|
33
|
+
# Rails.application.config.active_support.hash_digest_class = OpenSSL::Digest::SHA256
|
|
34
|
+
|
|
35
|
+
# Don't override ActiveSupport::TimeWithZone.name and use the default Ruby
|
|
36
|
+
# implementation.
|
|
37
|
+
# Rails.application.config.active_support.remove_deprecated_time_with_zone_name = true
|
|
38
|
+
|
|
39
|
+
# Calls `Rails.application.executor.wrap` around test cases.
|
|
40
|
+
# This makes test cases behave closer to an actual request or job.
|
|
41
|
+
# Several features that are normally disabled in test, such as Active Record query cache
|
|
42
|
+
# and asynchronous queries will then be enabled.
|
|
43
|
+
# Rails.application.config.active_support.executor_around_test_case = true
|
|
44
|
+
|
|
45
|
+
# Set both the `:open_timeout` and `:read_timeout` values for `:smtp` delivery method.
|
|
46
|
+
# Rails.application.config.action_mailer.smtp_timeout = 5
|
|
47
|
+
|
|
48
|
+
# The ActiveStorage video previewer will now use scene change detection to generate
|
|
49
|
+
# better preview images (rather than the previous default of using the first frame
|
|
50
|
+
# of the video).
|
|
51
|
+
# Rails.application.config.active_storage.video_preview_arguments =
|
|
52
|
+
# "-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"
|
|
53
|
+
|
|
54
|
+
# Automatically infer `inverse_of` for associations with a scope.
|
|
55
|
+
# Rails.application.config.active_record.automatic_scope_inversing = true
|
|
56
|
+
|
|
57
|
+
# Raise when running tests if fixtures contained foreign key violations
|
|
58
|
+
# Rails.application.config.active_record.verify_foreign_keys_for_fixtures = true
|
|
59
|
+
|
|
60
|
+
# Disable partial inserts.
|
|
61
|
+
# This default means that all columns will be referenced in INSERT queries
|
|
62
|
+
# regardless of whether they have a default or not.
|
|
63
|
+
# Rails.application.config.active_record.partial_inserts = false
|
|
64
|
+
|
|
65
|
+
# Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`.
|
|
66
|
+
# Rails.application.config.action_controller.raise_on_open_redirects = true
|
|
67
|
+
|
|
68
|
+
# Change the variant processor for Active Storage.
|
|
69
|
+
# Changing this default means updating all places in your code that
|
|
70
|
+
# generate variants to use image processing macros and ruby-vips
|
|
71
|
+
# operations. See the upgrading guide for detail on the changes required.
|
|
72
|
+
# The `:mini_magick` option is not deprecated; it's fine to keep using it.
|
|
73
|
+
# Rails.application.config.active_storage.variant_processor = :vips
|
|
74
|
+
|
|
75
|
+
# Enable parameter wrapping for JSON.
|
|
76
|
+
# Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it.
|
|
77
|
+
# To disable parameter wrapping entirely, set this config to `false`.
|
|
78
|
+
# Rails.application.config.action_controller.wrap_parameters_by_default = true
|
|
79
|
+
|
|
80
|
+
# Specifies whether generated namespaced UUIDs follow the RFC 4122 standard for namespace IDs provided as a
|
|
81
|
+
# `String` to `Digest::UUID.uuid_v3` or `Digest::UUID.uuid_v5` method calls.
|
|
82
|
+
#
|
|
83
|
+
# See https://guides.rubyonrails.org/configuring.html#config-active-support-use-rfc4122-namespaced-uuids for
|
|
84
|
+
# more information.
|
|
85
|
+
# Rails.application.config.active_support.use_rfc4122_namespaced_uuids = true
|
|
86
|
+
|
|
87
|
+
# Change the default headers to disable browsers' flawed legacy XSS protection.
|
|
88
|
+
# Rails.application.config.action_dispatch.default_headers = {
|
|
89
|
+
# "X-Frame-Options" => "SAMEORIGIN",
|
|
90
|
+
# "X-XSS-Protection" => "0",
|
|
91
|
+
# "X-Content-Type-Options" => "nosniff",
|
|
92
|
+
# "X-Download-Options" => "noopen",
|
|
93
|
+
# "X-Permitted-Cross-Domain-Policies" => "none",
|
|
94
|
+
# "Referrer-Policy" => "strict-origin-when-cross-origin"
|
|
95
|
+
# }
|
|
96
|
+
|
|
97
|
+
# ** Please read carefully, this must be configured in config/application.rb **
|
|
98
|
+
# Change the format of the cache entry.
|
|
99
|
+
# Changing this default means that all new cache entries added to the cache
|
|
100
|
+
# will have a different format that is not supported by Rails 6.1 applications.
|
|
101
|
+
# Only change this value after your application is fully deployed to Rails 7.0
|
|
102
|
+
# and you have no plans to rollback.
|
|
103
|
+
# When you're ready to change format, add this to `config/application.rb` (NOT this file):
|
|
104
|
+
# config.active_support.cache_format_version = 7.0
|
|
105
|
+
|
|
106
|
+
# Cookie serializer: 2 options
|
|
107
|
+
#
|
|
108
|
+
# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer
|
|
109
|
+
# is `:marshal`. The default for new apps is `:json`.
|
|
110
|
+
#
|
|
111
|
+
# Rails.application.config.action_dispatch.cookies_serializer = :json
|
|
112
|
+
#
|
|
113
|
+
#
|
|
114
|
+
# To migrate an existing application to the `:json` serializer, use the `:hybrid` option.
|
|
115
|
+
#
|
|
116
|
+
# Rails transparently deserializes existing (Marshal-serialized) cookies on read and
|
|
117
|
+
# re-writes them in the JSON format.
|
|
118
|
+
#
|
|
119
|
+
# It is fine to use `:hybrid` long term; you should do that until you're confident *all* your cookies
|
|
120
|
+
# have been converted to JSON. To keep using `:hybrid` long term, move this config to its own
|
|
121
|
+
# initializer or to `config/application.rb`.
|
|
122
|
+
#
|
|
123
|
+
# Rails.application.config.action_dispatch.cookies_serializer = :hybrid
|
|
124
|
+
#
|
|
125
|
+
#
|
|
126
|
+
# If your cookies can't yet be serialized to JSON, keep using `:marshal` for backward-compatibility.
|
|
127
|
+
#
|
|
128
|
+
# If you have configured the serializer elsewhere, you can remove this section of the file.
|
|
129
|
+
#
|
|
130
|
+
# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information.
|
|
131
|
+
|
|
132
|
+
# Change the return value of `ActionDispatch::Request#content_type` to the Content-Type header without modification.
|
|
133
|
+
# Rails.application.config.action_dispatch.return_only_request_media_type_on_content_type = false
|
|
134
|
+
|
|
135
|
+
# Active Storage `has_many_attached` relationships will default to replacing the current collection instead of appending to it.
|
|
136
|
+
# Thus, to support submitting an empty collection, the `file_field` helper will render an hidden field
|
|
137
|
+
# `include_hidden` by default when `multiple_file_field_include_hidden` is set to `true`.
|
|
138
|
+
# See https://guides.rubyonrails.org/configuring.html#config-active-storage-multiple-file-field-include-hidden for more information.
|
|
139
|
+
# Rails.application.config.active_storage.multiple_file_field_include_hidden = true
|
|
140
|
+
|
|
141
|
+
# ** Please read carefully, this must be configured in config/application.rb (NOT this file) **
|
|
142
|
+
# Disables the deprecated #to_s override in some Ruby core classes
|
|
143
|
+
# See https://guides.rubyonrails.org/configuring.html#config-active-support-disable-to-s-conversion for more information.
|
|
144
|
+
# config.active_support.disable_to_s_conversion = true
|