lcms-engine 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{spec/dummy/.env.docker → .env.docker} +0 -0
- data/.env.template +34 -0
- data/.gitignore +0 -1
- data/CHANGELOG.md +25 -0
- data/Dockerfile +1 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +682 -0
- data/README.md +5 -11
- data/app/assets/javascripts/lcms/engine/admin/application.js +2 -11
- data/app/assets/javascripts/lcms/engine/application.js +1 -44
- data/app/assets/javascripts/lcms/engine/application_lti.js +1 -29
- data/app/assets/javascripts/lcms/engine/initializers/foundation.js +5 -0
- data/app/assets/stylesheets/lcms/engine/admin.scss +0 -1
- data/app/assets/stylesheets/lcms/engine/application.scss +6 -61
- data/app/assets/stylesheets/lcms/engine/base/_colors.scss +2 -2
- data/app/assets/stylesheets/lcms/engine/components/lesson/_icons.scss +0 -25
- data/app/assets/stylesheets/lcms/engine/layout/_footer.scss +2 -0
- data/app/assets/stylesheets/lcms/engine/layout/_header.scss +1 -210
- data/app/assets/stylesheets/lcms/engine/pdf.scss +3 -27
- data/app/assets/stylesheets/lcms/engine/pdf_plain.scss +3 -11
- data/app/assets/stylesheets/lcms/engine/print/_typography.scss +0 -5
- data/app/assets/stylesheets/lcms/engine/utils/_variables.scss +4 -4
- data/app/controllers/concerns/lcms/engine/reimportable.rb +9 -0
- data/app/controllers/lcms/engine/admin/admin_controller.rb +2 -0
- data/app/controllers/lcms/engine/admin/documents_controller.rb +7 -17
- data/app/controllers/lcms/engine/admin/materials_controller.rb +16 -19
- data/app/controllers/lcms/engine/admin/resources_controller.rb +77 -41
- data/app/controllers/lcms/engine/surveys_controller.rb +3 -14
- data/app/forms/lcms/engine/material_form.rb +1 -0
- data/app/helpers/lcms/engine/application_helper.rb +6 -2
- data/app/helpers/lcms/engine/resource_helper.rb +0 -17
- data/app/presenters/lcms/engine/content_presenter.rb +1 -1
- data/app/presenters/lcms/engine/document_presenter.rb +3 -5
- data/app/views/devise/confirmations/new.html.erb +1 -1
- data/app/views/devise/passwords/edit.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +1 -1
- data/app/views/devise/sessions/new.html.erb +2 -2
- data/app/views/layouts/lcms/engine/admin.html.erb +1 -3
- data/app/views/layouts/lcms/engine/application.html.erb +0 -6
- data/app/views/layouts/lcms/engine/cg_pdf.erb +0 -38
- data/app/views/layouts/lcms/engine/lti.html.erb +0 -1
- data/app/views/lcms/engine/admin/curriculums/edit.html.erb +3 -0
- data/app/views/lcms/engine/admin/materials/index.html.erb +1 -1
- data/app/views/lcms/engine/admin/resource_bulk_edits/new.html.erb +3 -3
- data/app/views/lcms/engine/admin/shared/_header.html.erb +1 -8
- data/app/views/lcms/engine/documents/_content.html.erb +0 -1
- data/app/views/lcms/engine/documents/_sticky_header.html.erb +1 -1
- data/app/views/lcms/engine/documents/_sticky_site_menu.html.erb +0 -1
- data/app/views/lcms/engine/resources/_download.html.erb +2 -2
- data/app/views/lcms/engine/resources/_unit_bundles.html.erb +2 -2
- data/app/views/lcms/engine/resources/show.html.erb +2 -2
- data/app/views/lcms/engine/shared/_footer.html.erb +1 -3
- data/app/views/lcms/engine/shared/_header.html.erb +2 -36
- data/app/views/lcms/engine/surveys/show.html.erb +1 -1
- data/app/views/lcms/engine/welcome/index.html.erb +1 -80
- data/config/locales/admin/en.yml +1 -0
- data/config/routes.rb +2 -36
- data/db/migrate/20200422130652_add_reimported_at_to_documents.rb +1 -1
- data/db/migrate/20200429130353_drop_pages.rb +13 -0
- data/docs/env-variables.md +87 -0
- data/docs/google-cloud-platform-setup.md +106 -0
- data/lcms-engine.gemspec +50 -59
- data/lib/doc_template/document.rb +2 -2
- data/lib/doc_template/tables/activity.rb +1 -2
- data/lib/doc_template/tables/base.rb +4 -0
- data/lib/doc_template/tables/section.rb +1 -2
- data/lib/doc_template/xpath_functions.rb +3 -1
- data/lib/lcms/engine/engine.rb +0 -8
- data/lib/lcms/engine/version.rb +1 -1
- data/lib/lt/lcms/metadata/context.rb +5 -7
- data/spec/controllers/admin/admin_controller_spec.rb +1 -1
- data/spec/controllers/admin/documents_controller_spec.rb +38 -6
- data/spec/controllers/admin/materials_controller_spec.rb +64 -0
- data/spec/controllers/admin/resources_controller_spec.rb +72 -0
- data/spec/dummy/config/lcms-admin.yml +3 -3
- data/spec/dummy/db/schema.rb +29 -37
- data/spec/features/welcome_spec.rb +1 -1
- data/spec/fixtures/tables/activity-metadata-3activities.html +1 -0
- data/spec/fixtures/tables/document-metadata-2paragpraphs.html +97 -0
- data/spec/fixtures/tables/document-metadata-2spans.html +96 -0
- data/spec/fixtures/tables/document-metadata.html +96 -0
- data/spec/lib/doc_template/tables/activity_spec.rb +28 -0
- data/spec/lib/doc_template/tables/metadata_spec.rb +40 -0
- data/spec/lib/doc_template/tables/shared_examples/remove_table.rb +11 -0
- data/spec/rails_helper.rb +1 -0
- data/spec/support/fixture_helper.rb +16 -0
- data/vendor/assets/javascripts/selectize.min.js +4 -0
- data/vendor/assets/stylesheets/selectize.scss +333 -0
- data/yarn.lock +634 -452
- metadata +274 -494
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.eot +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.svg +0 -689
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.ttf +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.woff +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.eot +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.svg +0 -697
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.ttf +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.woff +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.eot +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.svg +0 -768
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.ttf +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.woff +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.eot +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.svg +0 -685
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.ttf +0 -0
- data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Bold.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Bold.svg +0 -5603
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Bold.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Light.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Light.svg +0 -5763
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Light.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.otf +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.svg +0 -5400
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.html +0 -15
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.otf +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.svg +0 -13061
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.html +0 -15
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.otf +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.svg +0 -13075
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.otf +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.svg +0 -13142
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.eot +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.ttf +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.woff +0 -0
- data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.woff2 +0 -0
- data/app/assets/fonts/lcms/engine/cursive/Sriracha-Regular.ttf +0 -0
- data/app/assets/fonts/lcms/engine/icons/ubicons.eot +0 -0
- data/app/assets/fonts/lcms/engine/icons/ubicons.svg +0 -50
- data/app/assets/fonts/lcms/engine/icons/ubicons.ttf +0 -0
- data/app/assets/fonts/lcms/engine/icons/ubicons.woff +0 -0
- data/app/assets/fonts/lcms/engine/ub/UBIcons.eot +0 -0
- data/app/assets/fonts/lcms/engine/ub/UBIcons.svg +0 -18
- data/app/assets/fonts/lcms/engine/ub/UBIcons.ttf +0 -0
- data/app/assets/fonts/lcms/engine/ub/UBIcons.woff +0 -0
- data/app/assets/images/lcms/engine/lessons/ld_p1.png +0 -0
- data/app/assets/images/lcms/engine/lessons/ld_p2.png +0 -0
- data/app/assets/images/lcms/engine/lessons/ld_p3.png +0 -0
- data/app/assets/images/lcms/engine/lessons/tens.png +0 -0
- data/app/assets/images/lcms/engine/lessons/wp.svg +0 -30
- data/app/assets/images/lcms/engine/tile-wide.png +0 -0
- data/app/assets/images/lcms/engine/tile.png +0 -0
- data/app/assets/javascripts/lcms/engine/components.js +0 -7
- data/app/assets/javascripts/lcms/engine/components/.gitkeep +0 -0
- data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMap.js.jsx +0 -31
- data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMapLesson.js.jsx +0 -18
- data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMapModule.js.jsx +0 -59
- data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMapUnit.js.jsx +0 -56
- data/app/assets/javascripts/lcms/engine/components/curriculum-map/ResourceHover.js.jsx +0 -27
- data/app/assets/javascripts/lcms/engine/components/curriculum-map/ResourcePreview.js.jsx +0 -29
- data/app/assets/javascripts/lcms/engine/components/enhance-instruction/EnhanceInstructionCards.js.jsx +0 -13
- data/app/assets/javascripts/lcms/engine/components/enhance-instruction/EnhanceInstructionPage.js.jsx +0 -139
- data/app/assets/javascripts/lcms/engine/components/enhance-instruction/GenericResourceCard.js.jsx +0 -20
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumCardItem.js.jsx +0 -152
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumGradeMap.js.jsx +0 -44
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumHeader.js.jsx +0 -10
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumItem.js.jsx +0 -77
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumModuleMap.js.jsx +0 -59
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumOpr.js.jsx +0 -62
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumPage.js.jsx +0 -258
- data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumUnitMap.js.jsx +0 -50
- data/app/assets/javascripts/lcms/engine/components/filterbar/FilterBarResponsive.js.jsx +0 -62
- data/app/assets/javascripts/lcms/engine/components/filterbar/Filterbar.js.jsx +0 -258
- data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarFacet.js.jsx +0 -12
- data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarGrade.js.jsx +0 -14
- data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarSearch.js.jsx +0 -48
- data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarSubject.js.jsx +0 -12
- data/app/assets/javascripts/lcms/engine/components/find-lessons/FindLessonsCards.js.jsx +0 -11
- data/app/assets/javascripts/lcms/engine/components/find-lessons/FindLessonsCardsEmpty.js.jsx +0 -17
- data/app/assets/javascripts/lcms/engine/components/find-lessons/FindLessonsPage.js.jsx +0 -58
- data/app/assets/javascripts/lcms/engine/components/helpers/FreshdeskBtn.js.jsx +0 -9
- data/app/assets/javascripts/lcms/engine/components/helpers/MediaTime.js.jsx +0 -6
- data/app/assets/javascripts/lcms/engine/components/helpers/SearchResultsHeader.js.jsx +0 -41
- data/app/assets/javascripts/lcms/engine/components/helpers/TimeToTeach.js.jsx +0 -29
- data/app/assets/javascripts/lcms/engine/components/instruction-card/InstructionCard.js.jsx +0 -57
- data/app/assets/javascripts/lcms/engine/components/lesson-card/LessonCard.js.jsx +0 -45
- data/app/assets/javascripts/lcms/engine/components/materials/CollapsedMaterial.js.jsx +0 -40
- data/app/assets/javascripts/lcms/engine/components/materials/DocumentMaterialsList.js.jsx +0 -33
- data/app/assets/javascripts/lcms/engine/components/materials/ExpandedMaterial.js.jsx +0 -37
- data/app/assets/javascripts/lcms/engine/components/materials/MaterialsContainer.js.jsx +0 -92
- data/app/assets/javascripts/lcms/engine/components/materials/MaterialsList.js.jsx +0 -19
- data/app/assets/javascripts/lcms/engine/components/modals/DownloadModal.js.jsx +0 -68
- data/app/assets/javascripts/lcms/engine/components/related-instruction/RelatedInstruction.js.jsx +0 -72
- data/app/assets/javascripts/lcms/engine/components/search-dropdown/SearchDropdown.js.jsx +0 -159
- data/app/assets/javascripts/lcms/engine/components/search-dropdown/SearchDropdownResult.js.jsx +0 -12
- data/app/assets/javascripts/lcms/engine/components/search-dropdown/SearchDropdownResults.js.jsx +0 -36
- data/app/assets/javascripts/lcms/engine/components/search/SearchPage.js.jsx +0 -44
- data/app/assets/javascripts/lcms/engine/components/search/SearchResult.js.jsx +0 -22
- data/app/assets/javascripts/lcms/engine/components/search/SearchResults.js.jsx +0 -17
- data/app/assets/javascripts/lcms/engine/components/search/SearchResultsEmpty.js.jsx +0 -25
- data/app/assets/javascripts/lcms/engine/components/search/searchPageWrapper.js.jsx +0 -77
- data/app/assets/javascripts/lcms/engine/components/select-activity/SelectActivityConfirmationModal.js.jsx +0 -107
- data/app/assets/javascripts/lcms/engine/components/select-activity/SelectActivityToggle.js.jsx +0 -39
- data/app/assets/javascripts/lcms/engine/components/stores/ExcludesStore.js.jsx +0 -11
- data/app/assets/javascripts/lcms/engine/components/tabs/SimpleTab.js.jsx +0 -130
- data/app/assets/javascripts/lcms/engine/components/utils/UrlHistory.js.jsx +0 -113
- data/app/assets/javascripts/lcms/engine/components/utils/colorcodecss.js.jsx +0 -4
- data/app/assets/javascripts/lcms/engine/components/utils/converttobem.js.jsx +0 -3
- data/app/assets/javascripts/lcms/engine/components/utils/filterbarupdate.js.jsx +0 -5
- data/app/assets/javascripts/lcms/engine/components/utils/heaptrackpd.js.jsx +0 -5
- data/app/assets/javascripts/lcms/engine/components/utils/regexpescape.js.jsx +0 -5
- data/app/assets/javascripts/lcms/engine/components/utils/scalenumber.js.jsx +0 -8
- data/app/assets/javascripts/lcms/engine/initializers/about_people.js +0 -8
- data/app/assets/javascripts/lcms/engine/initializers/analytics.js +0 -10
- data/app/assets/javascripts/lcms/engine/initializers/bundles.js +0 -12
- data/app/assets/javascripts/lcms/engine/initializers/events.js +0 -3
- data/app/assets/javascripts/lcms/engine/initializers/freshdesk.js +0 -18
- data/app/assets/javascripts/lcms/engine/initializers/header_dropdown.js +0 -44
- data/app/assets/javascripts/lcms/engine/initializers/heap_analytics.js +0 -78
- data/app/assets/javascripts/lcms/engine/initializers/leadership.js +0 -22
- data/app/assets/javascripts/lcms/engine/initializers/lessons.js +0 -299
- data/app/assets/javascripts/lcms/engine/initializers/loadasync.js +0 -30
- data/app/assets/javascripts/lcms/engine/initializers/pdf_preview.js +0 -15
- data/app/assets/javascripts/lcms/engine/initializers/resource_details.js +0 -21
- data/app/assets/javascripts/lcms/engine/initializers/sidebar/SideBar.js.jsx +0 -86
- data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarCGMenu.js.jsx +0 -37
- data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarDocMenu.js.jsx +0 -75
- data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarMobile.js.jsx +0 -43
- data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarSticky.js.jsx +0 -43
- data/app/assets/javascripts/lcms/engine/initializers/sidebar/TopScroll.js.jsx +0 -21
- data/app/assets/javascripts/lcms/engine/initializers/social_sharing.js +0 -29
- data/app/assets/javascripts/lcms/engine/initializers/soundcloud.js +0 -52
- data/app/assets/javascripts/lcms/engine/initializers/subscribe_placeholder.js +0 -12
- data/app/assets/javascripts/lcms/engine/initializers/survey.js +0 -31
- data/app/assets/stylesheets/lcms/engine/base/_cg-colors.scss +0 -48
- data/app/assets/stylesheets/lcms/engine/base/_fonts.scss +0 -103
- data/app/assets/stylesheets/lcms/engine/base/_icons.scss +0 -342
- data/app/assets/stylesheets/lcms/engine/components/_buttons.scss +0 -200
- data/app/assets/stylesheets/lcms/engine/components/_cards.scss +0 -36
- data/app/assets/stylesheets/lcms/engine/components/_cg-base.scss +0 -22
- data/app/assets/stylesheets/lcms/engine/components/_curriculum-cards.scss +0 -237
- data/app/assets/stylesheets/lcms/engine/components/_curriculum-map.scss +0 -214
- data/app/assets/stylesheets/lcms/engine/components/_download-modal.scss +0 -56
- data/app/assets/stylesheets/lcms/engine/components/_filterbar-modal.scss +0 -20
- data/app/assets/stylesheets/lcms/engine/components/_filterbar.scss +0 -184
- data/app/assets/stylesheets/lcms/engine/components/_generic-resource.scss +0 -58
- data/app/assets/stylesheets/lcms/engine/components/_inputs.scss +0 -12
- data/app/assets/stylesheets/lcms/engine/components/_instruction-cards.scss +0 -160
- data/app/assets/stylesheets/lcms/engine/components/_lesson-base.scss +0 -31
- data/app/assets/stylesheets/lcms/engine/components/_lesson-cards.scss +0 -119
- data/app/assets/stylesheets/lcms/engine/components/_ls-post.scss +0 -38
- data/app/assets/stylesheets/lcms/engine/components/_material-base.scss +0 -6
- data/app/assets/stylesheets/lcms/engine/components/_media-resources.scss +0 -6
- data/app/assets/stylesheets/lcms/engine/components/_media.scss +0 -95
- data/app/assets/stylesheets/lcms/engine/components/_pagination.scss +0 -84
- data/app/assets/stylesheets/lcms/engine/components/_panel-dsc.scss +0 -37
- data/app/assets/stylesheets/lcms/engine/components/_panel.scss +0 -7
- data/app/assets/stylesheets/lcms/engine/components/_related-instruction.scss +0 -31
- data/app/assets/stylesheets/lcms/engine/components/_resource.scss +0 -217
- data/app/assets/stylesheets/lcms/engine/components/_search-dropdown.scss +0 -23
- data/app/assets/stylesheets/lcms/engine/components/_search-header.scss +0 -45
- data/app/assets/stylesheets/lcms/engine/components/_search.scss +0 -57
- data/app/assets/stylesheets/lcms/engine/components/_sidebar.scss +0 -159
- data/app/assets/stylesheets/lcms/engine/components/_simple-tab.scss +0 -57
- data/app/assets/stylesheets/lcms/engine/components/_social-sharing.scss +0 -20
- data/app/assets/stylesheets/lcms/engine/components/_titles.scss +0 -33
- data/app/assets/stylesheets/lcms/engine/components/_top-scroll-button.scss +0 -28
- data/app/assets/stylesheets/lcms/engine/components/_unit-bundles.scss +0 -14
- data/app/assets/stylesheets/lcms/engine/components/cg/_annotations.scss +0 -48
- data/app/assets/stylesheets/lcms/engine/components/cg/_colorscheme.scss +0 -60
- data/app/assets/stylesheets/lcms/engine/components/cg/_contents-modal.scss +0 -20
- data/app/assets/stylesheets/lcms/engine/components/cg/_elements.scss +0 -11
- data/app/assets/stylesheets/lcms/engine/components/cg/_faq.scss +0 -35
- data/app/assets/stylesheets/lcms/engine/components/cg/_footnote.scss +0 -20
- data/app/assets/stylesheets/lcms/engine/components/cg/_hacks.scss +0 -11
- data/app/assets/stylesheets/lcms/engine/components/cg/_icons.scss +0 -30
- data/app/assets/stylesheets/lcms/engine/components/cg/_keywords.scss +0 -5
- data/app/assets/stylesheets/lcms/engine/components/cg/_links.scss +0 -3
- data/app/assets/stylesheets/lcms/engine/components/cg/_quotes.scss +0 -18
- data/app/assets/stylesheets/lcms/engine/components/cg/_standards.scss +0 -23
- data/app/assets/stylesheets/lcms/engine/components/cg/_table.scss +0 -50
- data/app/assets/stylesheets/lcms/engine/components/cg/_task.scss +0 -43
- data/app/assets/stylesheets/lcms/engine/components/cg/_video.scss +0 -10
- data/app/assets/stylesheets/lcms/engine/components/support/_helpdesk.scss +0 -25
- data/app/assets/stylesheets/lcms/engine/freshdesk/base/_colors.scss +0 -25
- data/app/assets/stylesheets/lcms/engine/freshdesk/base/_typography.scss +0 -19
- data/app/assets/stylesheets/lcms/engine/freshdesk/components/_block.scss +0 -5
- data/app/assets/stylesheets/lcms/engine/freshdesk/components/_buttons.scss +0 -5
- data/app/assets/stylesheets/lcms/engine/freshdesk/components/_help-center.scss +0 -59
- data/app/assets/stylesheets/lcms/engine/freshdesk/components/_tabs.scss +0 -33
- data/app/assets/stylesheets/lcms/engine/freshdesk/freshdesk.scss +0 -42
- data/app/assets/stylesheets/lcms/engine/freshdesk/layout/_footer.scss +0 -44
- data/app/assets/stylesheets/lcms/engine/freshdesk/layout/_header.scss +0 -49
- data/app/assets/stylesheets/lcms/engine/freshdesk/layout/_page.scss +0 -40
- data/app/assets/stylesheets/lcms/engine/freshdesk/layout/footer.liquid +0 -14
- data/app/assets/stylesheets/lcms/engine/freshdesk/layout/header.liquid +0 -41
- data/app/assets/stylesheets/lcms/engine/freshdesk/layout/page.liquid +0 -22
- data/app/assets/stylesheets/lcms/engine/freshdesk/pages/_portal-home.scss +0 -18
- data/app/assets/stylesheets/lcms/engine/freshdesk/pages/portal.home.liquid +0 -74
- data/app/assets/stylesheets/lcms/engine/freshdesk/themes/_settings.scss +0 -19
- data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_breakpoint.scss +0 -288
- data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_helpers.scss +0 -22
- data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_unit.scss +0 -95
- data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_value.scss +0 -138
- data/app/assets/stylesheets/lcms/engine/layout/_connect.scss +0 -63
- data/app/assets/stylesheets/lcms/engine/layout/_header-search-form.scss +0 -30
- data/app/assets/stylesheets/lcms/engine/layout/_sticky-header.scss +0 -179
- data/app/assets/stylesheets/lcms/engine/layout/_sticky-navigation.scss +0 -124
- data/app/assets/stylesheets/lcms/engine/layout/_subscribe.scss +0 -68
- data/app/assets/stylesheets/lcms/engine/pages/_about-people.scss +0 -115
- data/app/assets/stylesheets/lcms/engine/pages/_about.scss +0 -61
- data/app/assets/stylesheets/lcms/engine/pages/_content-guide.scss +0 -205
- data/app/assets/stylesheets/lcms/engine/pages/_enhance-instruction.scss +0 -19
- data/app/assets/stylesheets/lcms/engine/pages/_explore-curriculum.scss +0 -46
- data/app/assets/stylesheets/lcms/engine/pages/_find-lessons.scss +0 -1
- data/app/assets/stylesheets/lcms/engine/pages/_home.scss +0 -237
- data/app/assets/stylesheets/lcms/engine/pages/_leadership.scss +0 -263
- data/app/assets/stylesheets/lcms/engine/pages/_lesson-document.scss +0 -138
- data/app/assets/stylesheets/lcms/engine/pages/_unsupported.scss +0 -18
- data/app/assets/stylesheets/lcms/engine/print/_b64-fonts.scss.erb +0 -65
- data/app/assets/stylesheets/lcms/engine/print/_cg-base.scss +0 -4
- data/app/assets/stylesheets/lcms/engine/print/_hacks.scss +0 -6
- data/app/assets/stylesheets/lcms/engine/print/cg/_base-typography.scss +0 -21
- data/app/assets/stylesheets/lcms/engine/print/cg/_breaks.scss +0 -7
- data/app/assets/stylesheets/lcms/engine/print/cg/_elements-typography.scss +0 -14
- data/app/assets/stylesheets/lcms/engine/vendors/swiper.css +0 -547
- data/app/controllers/concerns/lcms/engine/analytics_tracking.rb +0 -51
- data/app/controllers/concerns/lcms/engine/heap_notifyable.rb +0 -20
- data/app/controllers/lcms/engine/admin/configurable_admin.rb +0 -56
- data/app/controllers/lcms/engine/admin/google_oauth2_controller.rb +0 -15
- data/app/controllers/lcms/engine/admin/pages_controller.rb +0 -54
- data/app/controllers/lcms/engine/analytics_exclusion_controller.rb +0 -14
- data/app/controllers/lcms/engine/downloads_controller.rb +0 -50
- data/app/controllers/lcms/engine/enhance_instruction_controller.rb +0 -18
- data/app/controllers/lcms/engine/explore_curriculum_controller.rb +0 -28
- data/app/controllers/lcms/engine/find_lessons_controller.rb +0 -15
- data/app/controllers/lcms/engine/pages_controller.rb +0 -26
- data/app/controllers/lcms/engine/search_controller.rb +0 -15
- data/app/controllers/lcms/engine/sessions_controller.rb +0 -19
- data/app/models/lcms/engine/page.rb +0 -13
- data/app/services/lcms/engine/generate_thumbnails.rb +0 -54
- data/app/services/lcms/engine/svg_social_thumbnail.rb +0 -223
- data/app/views/layouts/lcms/engine/ld_docx.html.erb +0 -16
- data/app/views/lcms/engine/admin/pages/_form.html.erb +0 -8
- data/app/views/lcms/engine/admin/pages/edit.html.erb +0 -9
- data/app/views/lcms/engine/admin/pages/index.html.erb +0 -25
- data/app/views/lcms/engine/admin/pages/new.html.erb +0 -5
- data/app/views/lcms/engine/documents/_helpdesk.html.erb +0 -9
- data/app/views/lcms/engine/pages/_about_people_staff.html.erb +0 -27
- data/app/views/lcms/engine/pages/_leadership_in_action.html.erb +0 -25
- data/app/views/lcms/engine/pages/_leadership_why_i_lead.html.erb +0 -34
- data/app/views/lcms/engine/pages/about.html.erb +0 -87
- data/app/views/lcms/engine/pages/about_people.html.erb +0 -27
- data/app/views/lcms/engine/pages/forthcoming.html.erb +0 -9
- data/app/views/lcms/engine/pages/leadership.html.erb +0 -82
- data/app/views/lcms/engine/pages/not_found.html.erb +0 -9
- data/app/views/lcms/engine/pages/privacy.html.erb +0 -9
- data/app/views/lcms/engine/pages/show.html.erb +0 -8
- data/app/views/lcms/engine/pages/show_slug.html.erb +0 -0
- data/app/views/lcms/engine/pages/tos.html.erb +0 -9
- data/app/views/lcms/engine/shared/_connect.html.erb +0 -60
- data/app/views/lcms/engine/shared/_freshdesk.html.erb +0 -22
- data/app/views/lcms/engine/shared/_google_analytics.html.erb +0 -9
- data/app/views/lcms/engine/shared/_heap_analytics.html.erb +0 -7
- data/app/views/lcms/engine/shared/_open_graph_meta.html.erb +0 -15
- data/app/views/lcms/engine/shared/_open_graph_meta_js.html.erb +0 -39
- data/app/views/lcms/engine/shared/_search_form.html.erb +0 -10
- data/app/views/lcms/engine/shared/_social_sharing_menu.html.erb +0 -34
- data/app/views/lcms/engine/shared/_subscribe.html.erb +0 -30
- data/app/views/lcms/engine/shared/_unsupported.html.erb +0 -3
- data/app/views/lcms/engine/shared/social_thumbnail.svg.erb +0 -54
- data/config/initializers/heap.rb +0 -3
- data/lib/tasks/thumbnails.rake +0 -59
- data/spec/controllers/admin/pages_controller_spec.rb +0 -19
- data/spec/controllers/enhance_instruction_controller_spec.rb +0 -15
- data/spec/controllers/explore_curriculum_controller_spec.rb +0 -29
- data/spec/controllers/find_lessons_controller_spec.rb +0 -50
- data/spec/controllers/pages_controller_spec.rb +0 -32
- data/spec/controllers/search_controller_spec.rb +0 -16
- data/spec/factories/pages.rb +0 -21
- data/spec/features/admin/pages_spec.rb +0 -79
- data/spec/features/pages/page_not_found_spec.rb +0 -26
- data/spec/features/pages/page_titles_spec.rb +0 -86
- data/spec/support/heap.rb +0 -3
- data/vendor/assets/javascripts/foundation.initialize.js +0 -115
- data/vendor/assets/javascripts/foundation.magellanex.js +0 -335
- data/vendor/assets/javascripts/freshwidget.js +0 -1
- data/vendor/assets/javascripts/jquery.easytabs.js +0 -704
- data/vendor/assets/javascripts/jquery.hashchange.js +0 -9
- data/vendor/assets/javascripts/modernizr-custom.js +0 -3
- data/vendor/assets/javascripts/smoothscrolling.js +0 -22
- data/vendor/assets/javascripts/swiper.jquery.js +0 -3777
- data/vendor/assets/javascripts/tabs.js +0 -6
@@ -10,10 +10,9 @@ module DocTemplate
|
|
10
10
|
|
11
11
|
def parse(fragment, *args)
|
12
12
|
template_type = args.extract_options![:template_type].presence || 'core'
|
13
|
-
path = ".//table/*/tr[1]/td//*[case_insensitive_equals(text(),'#{HEADER_LABEL}')]"
|
14
13
|
idx = 0
|
15
14
|
[].tap do |result|
|
16
|
-
fragment.xpath(
|
15
|
+
fragment.xpath(xpath_meta_headers, XpathFunctions.new).each do |el|
|
17
16
|
table = el.ancestors('table').first
|
18
17
|
data = fetch table
|
19
18
|
|
@@ -9,8 +9,7 @@ module DocTemplate
|
|
9
9
|
MATERIALS_KEY = 'section-materials'
|
10
10
|
|
11
11
|
def parse(fragment, *args)
|
12
|
-
|
13
|
-
section_tables = fragment.xpath(path, XpathFunctions.new)
|
12
|
+
section_tables = fragment.xpath(xpath_meta_headers, XpathFunctions.new)
|
14
13
|
|
15
14
|
# # Allows to handle ELA as Math:: inject fake section
|
16
15
|
return fake_section(fragment) if section_tables.empty? && args.extract_options![:force_inject]
|
@@ -3,7 +3,9 @@
|
|
3
3
|
module DocTemplate
|
4
4
|
class XpathFunctions
|
5
5
|
def case_insensitive_equals(node_set, str_to_match)
|
6
|
-
node_set.
|
6
|
+
return node_set.to_s.squish.casecmp(str_to_match).zero? if node_set.is_a?(String)
|
7
|
+
|
8
|
+
node_set.find_all { |node| node.to_s.squish.casecmp(str_to_match).zero? }
|
7
9
|
end
|
8
10
|
|
9
11
|
def case_insensitive_contains(node_set, str_to_match)
|
data/lib/lcms/engine/engine.rb
CHANGED
@@ -7,7 +7,6 @@ require 'carrierwave'
|
|
7
7
|
require 'carrierwave/orm/activerecord'
|
8
8
|
require 'closure_tree'
|
9
9
|
require 'devise'
|
10
|
-
require 'heap'
|
11
10
|
require 'jquery-rails'
|
12
11
|
require 'pdfjs_viewer-rails'
|
13
12
|
require 'ransack'
|
@@ -25,13 +24,6 @@ require 'font-awesome-sass'
|
|
25
24
|
require 'foundation-rails'
|
26
25
|
require 'js-routes'
|
27
26
|
require 'nested_form'
|
28
|
-
require 'rails-assets-classnames'
|
29
|
-
require 'rails-assets-es6-promise'
|
30
|
-
require 'rails-assets-eventemitter3'
|
31
|
-
require 'rails-assets-fetch'
|
32
|
-
require 'rails-assets-jstree'
|
33
|
-
require 'rails-assets-lodash'
|
34
|
-
require 'rails-assets-selectize'
|
35
27
|
require 'webpacker'
|
36
28
|
|
37
29
|
# LearningTapestry gems
|
data/lib/lcms/engine/version.rb
CHANGED
@@ -17,11 +17,11 @@ module Lt
|
|
17
17
|
# Is used inside `#find_or_create_resource` method
|
18
18
|
#
|
19
19
|
def update_grades_level_position_for(grades)
|
20
|
-
update_level_position_for(grades) { |
|
20
|
+
update_level_position_for(grades) { |g| ::Lcms::Engine::Grades::GRADES.index(g.metadata['grade']) }
|
21
21
|
end
|
22
22
|
|
23
23
|
#
|
24
|
-
# Fix level position for modules
|
24
|
+
# Fix level position for modules
|
25
25
|
# Is used inside `#find_or_create_resource` method
|
26
26
|
#
|
27
27
|
def update_modules_level_position_for(modules)
|
@@ -30,11 +30,11 @@ module Lt
|
|
30
30
|
end
|
31
31
|
|
32
32
|
#
|
33
|
-
# Fix level position for units
|
33
|
+
# Fix level position for units
|
34
34
|
# Is used inside `#find_or_create_resource` method
|
35
35
|
#
|
36
36
|
def update_units_level_position_for(units)
|
37
|
-
update_level_position_for(units) { |
|
37
|
+
update_level_position_for(units) { |u| u.metadata['unit'][NUM_RE].to_i }
|
38
38
|
end
|
39
39
|
|
40
40
|
#
|
@@ -103,8 +103,6 @@ module Lt
|
|
103
103
|
else
|
104
104
|
set_lesson_position(parent, resource)
|
105
105
|
end
|
106
|
-
|
107
|
-
parent = resource
|
108
106
|
end
|
109
107
|
|
110
108
|
update resource
|
@@ -292,7 +290,7 @@ module Lt
|
|
292
290
|
def set_lesson_position(parent, resource)
|
293
291
|
next_lesson = parent.children.detect do |r|
|
294
292
|
# first lesson with a bigger lesson num
|
295
|
-
r.
|
293
|
+
r.metadata['lesson'].to_s[NUM_RE].to_i > context[:lesson].to_s[NUM_RE].to_i
|
296
294
|
end
|
297
295
|
next_lesson ? next_lesson.prepend_sibling(resource) : resource.save!
|
298
296
|
end
|
@@ -8,16 +8,13 @@ describe Lcms::Engine::Admin::DocumentsController do
|
|
8
8
|
before { sign_in user }
|
9
9
|
|
10
10
|
describe '#create' do
|
11
|
-
let(:credentials) { double }
|
12
11
|
let(:document) { create :document }
|
13
12
|
let(:form) { instance_double('Lcms::Engine::DocumentForm', document: document, save: valid) }
|
14
|
-
let(:
|
13
|
+
let(:link) { 'link' }
|
14
|
+
let(:params) { { link: link, link_fs: 'link_fs', reimport: '1' } }
|
15
15
|
let(:valid) { true }
|
16
16
|
|
17
|
-
before
|
18
|
-
# allow(controller).to receive(:google_credentials).and_return(credentials)
|
19
|
-
allow(Lcms::Engine::DocumentForm).to receive(:new).and_return(form)
|
20
|
-
end
|
17
|
+
before { allow(Lcms::Engine::DocumentForm).to receive(:new).and_return(form) }
|
21
18
|
|
22
19
|
subject { post :create, params: { document_form: params } }
|
23
20
|
|
@@ -37,6 +34,41 @@ describe Lcms::Engine::Admin::DocumentsController do
|
|
37
34
|
|
38
35
|
it { is_expected.to render_template :new }
|
39
36
|
end
|
37
|
+
|
38
|
+
context 'when a link to Google Documents folder passed in' do
|
39
|
+
let(:credentials) { double }
|
40
|
+
let(:file_ids) { ['file_id'] }
|
41
|
+
let(:folder_id) { 'folder_id' }
|
42
|
+
let(:link) { 'https://drive.google.com/drive/u/x/folders/fkjsdhfjkshfkjsdhf' }
|
43
|
+
|
44
|
+
before do
|
45
|
+
allow(controller).to receive(:google_credentials).and_return(credentials)
|
46
|
+
allow(::Lt::Google::Api::Drive).to \
|
47
|
+
receive(:folder_id_for).with(link).and_return(folder_id)
|
48
|
+
allow(::Lt::Google::Api::Drive).to \
|
49
|
+
receive_message_chain(:new, :list_file_ids_in, :map).and_return(file_ids)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'calls batch reimport' do
|
53
|
+
expect(Lcms::Engine::DocumentGenerator).to \
|
54
|
+
receive_message_chain(:document_parse_job, :perform_later).and_return(OpenStruct.new(job_id: 0))
|
55
|
+
subject
|
56
|
+
end
|
57
|
+
|
58
|
+
# TODO: Rails upgrade - move to system spec
|
59
|
+
xit 'renders import template' do
|
60
|
+
expect(subject).to render_template :import
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'and when there are no documents' do
|
64
|
+
let(:file_ids) { [] }
|
65
|
+
|
66
|
+
it 'shows the message' do
|
67
|
+
subject
|
68
|
+
expect(flash[:alert]).to eq I18n.t('lcms.engine.admin.common.empty_folder')
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
40
72
|
end
|
41
73
|
|
42
74
|
describe '#destroy' do
|
@@ -7,6 +7,70 @@ describe Lcms::Engine::Admin::MaterialsController do
|
|
7
7
|
|
8
8
|
before { sign_in user }
|
9
9
|
|
10
|
+
describe '#create' do
|
11
|
+
let(:material) { create :material }
|
12
|
+
let(:form) { instance_double('Lcms::Engine::MaterialForm', material: material, save: valid) }
|
13
|
+
let(:link) { 'link' }
|
14
|
+
let(:params) { { link: link, source_type: 'gdoc' } }
|
15
|
+
let(:valid) { true }
|
16
|
+
|
17
|
+
before { allow(Lcms::Engine::MaterialForm).to receive(:new).and_return(form) }
|
18
|
+
|
19
|
+
subject { post :create, params: { material_form: params } }
|
20
|
+
|
21
|
+
it 'creates MaterialForm object' do
|
22
|
+
expect(Lcms::Engine::MaterialForm).to receive(:new).with(hash_including(params))
|
23
|
+
subject
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'redirects to material' do
|
27
|
+
subject
|
28
|
+
expect(response).to redirect_to Lcms::Engine::Admin::AdminController.material_path(material)
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when there is an error' do
|
32
|
+
let(:valid) { false }
|
33
|
+
|
34
|
+
# TODO: Rails upgrade - move to system spec
|
35
|
+
xit { is_expected.to render_template :new }
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'when a link to Google Documents folder passed in' do
|
39
|
+
let(:credentials) { double }
|
40
|
+
let(:file_ids) { ['file_id'] }
|
41
|
+
let(:folder_id) { 'folder_id' }
|
42
|
+
let(:link) { 'https://drive.google.com/drive/u/x/folders/fkjsdhfjkshfkjsdhf' }
|
43
|
+
|
44
|
+
before do
|
45
|
+
allow(controller).to receive(:google_credentials).and_return(credentials)
|
46
|
+
allow(::Lt::Google::Api::Drive).to \
|
47
|
+
receive(:folder_id_for).with(link).and_return(folder_id)
|
48
|
+
allow(::Lt::Google::Api::Drive).to \
|
49
|
+
receive_message_chain(:new, :list_file_ids_in, :map).and_return(file_ids)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'calls batch reimport' do
|
53
|
+
expect(Lcms::Engine::DocumentGenerator).to \
|
54
|
+
receive_message_chain(:material_parse_job, :perform_later).and_return(OpenStruct.new(job_id: 0))
|
55
|
+
subject
|
56
|
+
end
|
57
|
+
|
58
|
+
# TODO: Rails upgrade - move to system spec
|
59
|
+
xit 'renders import template' do
|
60
|
+
expect(subject).to render_template :import
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'and when there are no documents' do
|
64
|
+
let(:file_ids) { [] }
|
65
|
+
|
66
|
+
it 'shows the message' do
|
67
|
+
subject
|
68
|
+
expect(flash[:alert]).to eq I18n.t('lcms.engine.admin.common.empty_folder')
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
10
74
|
describe '#destroy' do
|
11
75
|
let!(:material) { create :material }
|
12
76
|
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails_helper'
|
4
|
+
|
5
|
+
describe Lcms::Engine::Admin::ResourcesController do
|
6
|
+
let(:resource) { create :resource }
|
7
|
+
let(:user) { create :admin }
|
8
|
+
|
9
|
+
before { sign_in user }
|
10
|
+
|
11
|
+
describe '#edit' do
|
12
|
+
subject { get :edit, params: { id: resource.to_param } }
|
13
|
+
|
14
|
+
it { is_expected.to be_success }
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#index' do
|
18
|
+
subject { get :index }
|
19
|
+
|
20
|
+
it { is_expected.to be_success }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#update' do
|
24
|
+
let(:description) { Faker::Lorem.sentence }
|
25
|
+
let(:params) { { description: description, directory: resource.metadata.keys.join(',') } }
|
26
|
+
|
27
|
+
subject { post :update, params: { id: resource.to_param, resource: params } }
|
28
|
+
|
29
|
+
context 'with valid params' do
|
30
|
+
it { is_expected.to redirect_to admin_resources_path }
|
31
|
+
|
32
|
+
it 'passes notice' do
|
33
|
+
subject
|
34
|
+
expect(flash[:notice]).to be_present
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'with overridden parameters' do
|
39
|
+
let(:extra_param_array) { { extra_array: Faker::Lorem.words } }
|
40
|
+
let(:extra_param_simple) { { extra_simple: Faker::Lorem.word } }
|
41
|
+
|
42
|
+
subject do
|
43
|
+
post :update, params: { id: resource.to_param,
|
44
|
+
resource: params.merge(**extra_param_simple, **extra_param_array) }
|
45
|
+
end
|
46
|
+
|
47
|
+
before do
|
48
|
+
Lcms::Engine::Resource.class_eval do
|
49
|
+
attr_accessor :extra_array
|
50
|
+
attr_accessor :extra_simple
|
51
|
+
end
|
52
|
+
|
53
|
+
allow_any_instance_of(Lcms::Engine::Admin::ResourcesController).to \
|
54
|
+
receive(:form_params_arrays_override).and_return(extra_param_array.keys[0] => [])
|
55
|
+
|
56
|
+
allow_any_instance_of(Lcms::Engine::Admin::ResourcesController).to \
|
57
|
+
receive(:form_params_simple_override).and_return(extra_param_simple.keys)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'accepts overridden parameters' do
|
61
|
+
expect { subject }.to_not raise_error
|
62
|
+
end
|
63
|
+
|
64
|
+
after do
|
65
|
+
Lcms::Engine::Resource.class_eval do
|
66
|
+
delete :extra_array
|
67
|
+
delete :extra_simple
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -10,9 +10,9 @@ engine: 'Lcms::Engine::Engine'
|
|
10
10
|
# Redirects
|
11
11
|
redirect:
|
12
12
|
host:
|
13
|
-
root_path: 'admin_path'
|
14
|
-
document_path: 'document_path'
|
15
|
-
material_path: 'material_path'
|
13
|
+
# root_path: 'admin_path'
|
14
|
+
# document_path: 'document_path'
|
15
|
+
# material_path: 'material_path'
|
16
16
|
engine:
|
17
17
|
root_path: 'admin_path'
|
18
18
|
document_path: 'document_path'
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -10,13 +10,13 @@
|
|
10
10
|
#
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
12
12
|
|
13
|
-
ActiveRecord::Schema.define(version:
|
13
|
+
ActiveRecord::Schema.define(version: 2020_04_29_130353) do
|
14
14
|
|
15
15
|
# These are extensions that must be enabled in order to support this database
|
16
16
|
enable_extension "hstore"
|
17
17
|
enable_extension "plpgsql"
|
18
18
|
|
19
|
-
create_table "access_codes", force: :cascade do |t|
|
19
|
+
create_table "access_codes", id: :serial, force: :cascade do |t|
|
20
20
|
t.string "code", null: false
|
21
21
|
t.boolean "active", default: true, null: false
|
22
22
|
t.datetime "created_at", null: false
|
@@ -24,14 +24,14 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
24
24
|
t.index ["code"], name: "index_access_codes_on_code", unique: true
|
25
25
|
end
|
26
26
|
|
27
|
-
create_table "authors", force: :cascade do |t|
|
27
|
+
create_table "authors", id: :serial, force: :cascade do |t|
|
28
28
|
t.string "name"
|
29
29
|
t.string "slug"
|
30
30
|
t.datetime "created_at", null: false
|
31
31
|
t.datetime "updated_at", null: false
|
32
32
|
end
|
33
33
|
|
34
|
-
create_table "copyright_attributions", force: :cascade do |t|
|
34
|
+
create_table "copyright_attributions", id: :serial, force: :cascade do |t|
|
35
35
|
t.string "disclaimer"
|
36
36
|
t.string "value", null: false
|
37
37
|
t.datetime "created_at", null: false
|
@@ -39,7 +39,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
39
39
|
t.integer "resource_id", null: false
|
40
40
|
end
|
41
41
|
|
42
|
-
create_table "curriculums", force: :cascade do |t|
|
42
|
+
create_table "curriculums", id: :serial, force: :cascade do |t|
|
43
43
|
t.string "name", null: false
|
44
44
|
t.string "slug", null: false
|
45
45
|
t.datetime "created_at", null: false
|
@@ -47,7 +47,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
47
47
|
t.boolean "default", default: false, null: false
|
48
48
|
end
|
49
49
|
|
50
|
-
create_table "document_bundles", force: :cascade do |t|
|
50
|
+
create_table "document_bundles", id: :serial, force: :cascade do |t|
|
51
51
|
t.string "category", null: false
|
52
52
|
t.string "file"
|
53
53
|
t.integer "resource_id"
|
@@ -58,7 +58,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
58
58
|
t.index ["resource_id"], name: "index_document_bundles_on_resource_id"
|
59
59
|
end
|
60
60
|
|
61
|
-
create_table "document_parts", force: :cascade do |t|
|
61
|
+
create_table "document_parts", id: :serial, force: :cascade do |t|
|
62
62
|
t.text "content"
|
63
63
|
t.string "part_type"
|
64
64
|
t.boolean "active"
|
@@ -78,7 +78,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
78
78
|
t.index ["renderer_type", "renderer_id"], name: "index_document_parts_on_renderer_type_and_renderer_id"
|
79
79
|
end
|
80
80
|
|
81
|
-
create_table "documents", force: :cascade do |t|
|
81
|
+
create_table "documents", id: :serial, force: :cascade do |t|
|
82
82
|
t.string "file_id"
|
83
83
|
t.string "name"
|
84
84
|
t.datetime "last_modified_at"
|
@@ -115,7 +115,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
115
115
|
t.index ["material_id"], name: "index_documents_materials_on_material_id"
|
116
116
|
end
|
117
117
|
|
118
|
-
create_table "download_categories", force: :cascade do |t|
|
118
|
+
create_table "download_categories", id: :serial, force: :cascade do |t|
|
119
119
|
t.string "title", null: false
|
120
120
|
t.text "description"
|
121
121
|
t.integer "position"
|
@@ -123,7 +123,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
123
123
|
t.boolean "bundle", default: false, null: false
|
124
124
|
end
|
125
125
|
|
126
|
-
create_table "downloads", force: :cascade do |t|
|
126
|
+
create_table "downloads", id: :serial, force: :cascade do |t|
|
127
127
|
t.string "filename"
|
128
128
|
t.integer "filesize"
|
129
129
|
t.string "url"
|
@@ -135,7 +135,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
135
135
|
t.boolean "main", default: false, null: false
|
136
136
|
end
|
137
137
|
|
138
|
-
create_table "leadership_posts", force: :cascade do |t|
|
138
|
+
create_table "leadership_posts", id: :serial, force: :cascade do |t|
|
139
139
|
t.string "first_name", null: false
|
140
140
|
t.string "last_name", null: false
|
141
141
|
t.string "school"
|
@@ -147,7 +147,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
147
147
|
t.index ["order", "last_name"], name: "index_leadership_posts_on_order_and_last_name"
|
148
148
|
end
|
149
149
|
|
150
|
-
create_table "materials", force: :cascade do |t|
|
150
|
+
create_table "materials", id: :serial, force: :cascade do |t|
|
151
151
|
t.string "file_id", null: false
|
152
152
|
t.string "identifier"
|
153
153
|
t.jsonb "metadata", default: {}, null: false
|
@@ -168,22 +168,14 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
168
168
|
t.index ["metadata"], name: "index_materials_on_metadata", using: :gin
|
169
169
|
end
|
170
170
|
|
171
|
-
create_table "
|
172
|
-
t.text "body", null: false
|
173
|
-
t.string "title", null: false
|
174
|
-
t.datetime "created_at", null: false
|
175
|
-
t.datetime "updated_at", null: false
|
176
|
-
t.string "slug", null: false
|
177
|
-
end
|
178
|
-
|
179
|
-
create_table "reading_assignment_authors", force: :cascade do |t|
|
171
|
+
create_table "reading_assignment_authors", id: :serial, force: :cascade do |t|
|
180
172
|
t.string "name", null: false
|
181
173
|
t.datetime "created_at"
|
182
174
|
t.datetime "updated_at"
|
183
175
|
t.index ["name"], name: "index_reading_assignment_authors_on_name", unique: true
|
184
176
|
end
|
185
177
|
|
186
|
-
create_table "reading_assignment_texts", force: :cascade do |t|
|
178
|
+
create_table "reading_assignment_texts", id: :serial, force: :cascade do |t|
|
187
179
|
t.string "name", null: false
|
188
180
|
t.integer "reading_assignment_author_id", null: false
|
189
181
|
t.datetime "created_at"
|
@@ -192,7 +184,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
192
184
|
t.index ["reading_assignment_author_id"], name: "index_reading_assignment_texts_on_reading_assignment_author_id"
|
193
185
|
end
|
194
186
|
|
195
|
-
create_table "resource_additional_resources", force: :cascade do |t|
|
187
|
+
create_table "resource_additional_resources", id: :serial, force: :cascade do |t|
|
196
188
|
t.integer "resource_id", null: false
|
197
189
|
t.integer "additional_resource_id", null: false
|
198
190
|
t.integer "position"
|
@@ -202,7 +194,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
202
194
|
t.index ["resource_id", "additional_resource_id"], name: "index_resource_additional_resources", unique: true
|
203
195
|
end
|
204
196
|
|
205
|
-
create_table "resource_downloads", force: :cascade do |t|
|
197
|
+
create_table "resource_downloads", id: :serial, force: :cascade do |t|
|
206
198
|
t.integer "resource_id"
|
207
199
|
t.integer "download_id"
|
208
200
|
t.datetime "created_at", null: false
|
@@ -223,14 +215,14 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
223
215
|
t.index ["descendant_id"], name: "resource_desc_idx"
|
224
216
|
end
|
225
217
|
|
226
|
-
create_table "resource_reading_assignments", force: :cascade do |t|
|
218
|
+
create_table "resource_reading_assignments", id: :serial, force: :cascade do |t|
|
227
219
|
t.integer "resource_id", null: false
|
228
220
|
t.integer "reading_assignment_text_id", null: false
|
229
221
|
t.index ["reading_assignment_text_id"], name: "idx_res_rea_asg_rea_asg_txt"
|
230
222
|
t.index ["resource_id"], name: "index_resource_reading_assignments_on_resource_id"
|
231
223
|
end
|
232
224
|
|
233
|
-
create_table "resource_related_resources", force: :cascade do |t|
|
225
|
+
create_table "resource_related_resources", id: :serial, force: :cascade do |t|
|
234
226
|
t.integer "resource_id"
|
235
227
|
t.integer "related_resource_id"
|
236
228
|
t.integer "position"
|
@@ -240,7 +232,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
240
232
|
t.index ["resource_id"], name: "index_resource_related_resources_on_resource_id"
|
241
233
|
end
|
242
234
|
|
243
|
-
create_table "resource_standards", force: :cascade do |t|
|
235
|
+
create_table "resource_standards", id: :serial, force: :cascade do |t|
|
244
236
|
t.integer "resource_id"
|
245
237
|
t.integer "standard_id"
|
246
238
|
t.datetime "created_at"
|
@@ -249,7 +241,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
249
241
|
t.index ["standard_id"], name: "index_resource_standards_on_standard_id"
|
250
242
|
end
|
251
243
|
|
252
|
-
create_table "resources", force: :cascade do |t|
|
244
|
+
create_table "resources", id: :serial, force: :cascade do |t|
|
253
245
|
t.datetime "created_at"
|
254
246
|
t.datetime "updated_at"
|
255
247
|
t.datetime "indexed_at"
|
@@ -287,7 +279,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
287
279
|
t.index ["resource_type"], name: "index_resources_on_resource_type"
|
288
280
|
end
|
289
281
|
|
290
|
-
create_table "sessions", force: :cascade do |t|
|
282
|
+
create_table "sessions", id: :serial, force: :cascade do |t|
|
291
283
|
t.string "session_id", null: false
|
292
284
|
t.text "data"
|
293
285
|
t.datetime "created_at"
|
@@ -296,11 +288,11 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
296
288
|
t.index ["updated_at"], name: "index_sessions_on_updated_at"
|
297
289
|
end
|
298
290
|
|
299
|
-
create_table "settings", force: :cascade do |t|
|
291
|
+
create_table "settings", id: :serial, force: :cascade do |t|
|
300
292
|
t.jsonb "data", default: {}, null: false
|
301
293
|
end
|
302
294
|
|
303
|
-
create_table "social_thumbnails", force: :cascade do |t|
|
295
|
+
create_table "social_thumbnails", id: :serial, force: :cascade do |t|
|
304
296
|
t.integer "target_id", null: false
|
305
297
|
t.string "target_type", null: false
|
306
298
|
t.string "image", null: false
|
@@ -308,7 +300,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
308
300
|
t.index ["target_type", "target_id"], name: "index_social_thumbnails_on_target_type_and_target_id"
|
309
301
|
end
|
310
302
|
|
311
|
-
create_table "staff_members", force: :cascade do |t|
|
303
|
+
create_table "staff_members", id: :serial, force: :cascade do |t|
|
312
304
|
t.string "bio", limit: 4096
|
313
305
|
t.string "position"
|
314
306
|
t.datetime "created_at", null: false
|
@@ -322,7 +314,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
322
314
|
t.index ["first_name", "last_name"], name: "index_staff_members_on_first_name_and_last_name"
|
323
315
|
end
|
324
316
|
|
325
|
-
create_table "standard_links", force: :cascade do |t|
|
317
|
+
create_table "standard_links", id: :serial, force: :cascade do |t|
|
326
318
|
t.integer "standard_begin_id", null: false
|
327
319
|
t.integer "standard_end_id", null: false
|
328
320
|
t.string "link_type", null: false
|
@@ -332,7 +324,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
332
324
|
t.index ["standard_end_id"], name: "index_standard_links_on_standard_end_id"
|
333
325
|
end
|
334
326
|
|
335
|
-
create_table "standards", force: :cascade do |t|
|
327
|
+
create_table "standards", id: :serial, force: :cascade do |t|
|
336
328
|
t.string "name", null: false
|
337
329
|
t.datetime "created_at"
|
338
330
|
t.datetime "updated_at"
|
@@ -350,7 +342,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
350
342
|
t.index ["subject"], name: "index_standards_on_subject"
|
351
343
|
end
|
352
344
|
|
353
|
-
create_table "taggings", force: :cascade do |t|
|
345
|
+
create_table "taggings", id: :serial, force: :cascade do |t|
|
354
346
|
t.integer "tag_id"
|
355
347
|
t.integer "taggable_id"
|
356
348
|
t.string "taggable_type"
|
@@ -362,13 +354,13 @@ ActiveRecord::Schema.define(version: 2020_04_22_130652) do
|
|
362
354
|
t.index ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context"
|
363
355
|
end
|
364
356
|
|
365
|
-
create_table "tags", force: :cascade do |t|
|
357
|
+
create_table "tags", id: :serial, force: :cascade do |t|
|
366
358
|
t.string "name"
|
367
359
|
t.integer "taggings_count", default: 0
|
368
360
|
t.index ["name"], name: "index_tags_on_name", unique: true
|
369
361
|
end
|
370
362
|
|
371
|
-
create_table "users", force: :cascade do |t|
|
363
|
+
create_table "users", id: :serial, force: :cascade do |t|
|
372
364
|
t.string "name"
|
373
365
|
t.datetime "created_at", null: false
|
374
366
|
t.datetime "updated_at", null: false
|