mumuki-laboratory 7.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +661 -0
- data/README.md +599 -0
- data/Rakefile +35 -0
- data/app/assets/config/mumuki_laboratory_engine.js +2 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/user_shape.png +0 -0
- data/app/assets/javascripts/mumuki_laboratory/application.js +37 -0
- data/app/assets/javascripts/mumuki_laboratory/application/alias-modes.js +20 -0
- data/app/assets/javascripts/mumuki_laboratory/application/assets-loader.js +26 -0
- data/app/assets/javascripts/mumuki_laboratory/application/bridge.js +68 -0
- data/app/assets/javascripts/mumuki_laboratory/application/button.js +36 -0
- data/app/assets/javascripts/mumuki_laboratory/application/characters.js +26 -0
- data/app/assets/javascripts/mumuki_laboratory/application/codemirror-builder.js +100 -0
- data/app/assets/javascripts/mumuki_laboratory/application/codemirror.js +99 -0
- data/app/assets/javascripts/mumuki_laboratory/application/confirmation.js +17 -0
- data/app/assets/javascripts/mumuki_laboratory/application/console.js +175 -0
- data/app/assets/javascripts/mumuki_laboratory/application/csrf-token.js +18 -0
- data/app/assets/javascripts/mumuki_laboratory/application/custom-editor.js +21 -0
- data/app/assets/javascripts/mumuki_laboratory/application/discussions.js +76 -0
- data/app/assets/javascripts/mumuki_laboratory/application/elipsis.js +31 -0
- data/app/assets/javascripts/mumuki_laboratory/application/free-form.js +32 -0
- data/app/assets/javascripts/mumuki_laboratory/application/inputs.js +12 -0
- data/app/assets/javascripts/mumuki_laboratory/application/interval.js +17 -0
- data/app/assets/javascripts/mumuki_laboratory/application/kids.js +342 -0
- data/app/assets/javascripts/mumuki_laboratory/application/load-analytics.js +4 -0
- data/app/assets/javascripts/mumuki_laboratory/application/load-error-svg.js +11 -0
- data/app/assets/javascripts/mumuki_laboratory/application/messages.js +93 -0
- data/app/assets/javascripts/mumuki_laboratory/application/multiple-choice.js +11 -0
- data/app/assets/javascripts/mumuki_laboratory/application/multiple-files.js +241 -0
- data/app/assets/javascripts/mumuki_laboratory/application/multiple-scenarios.js +152 -0
- data/app/assets/javascripts/mumuki_laboratory/application/pin.js +17 -0
- data/app/assets/javascripts/mumuki_laboratory/application/popover.js +18 -0
- data/app/assets/javascripts/mumuki_laboratory/application/progress.js +10 -0
- data/app/assets/javascripts/mumuki_laboratory/application/speech-bubble-renderer.js +99 -0
- data/app/assets/javascripts/mumuki_laboratory/application/submission.js +112 -0
- data/app/assets/javascripts/mumuki_laboratory/application/timer.js +21 -0
- data/app/assets/javascripts/mumuki_laboratory/application/tooltip.js +3 -0
- data/app/assets/javascripts/mumuki_laboratory/application/upload.js +17 -0
- data/app/assets/javascripts/mumuki_laboratory/application/user.js +9 -0
- data/app/assets/stylesheets/mumuki_laboratory/application.scss +16 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_alerts.scss +3 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_errors.scss +59 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_fonts.scss +2 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_invitations.scss +4 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_layout.scss +154 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_mixins.scss +6 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_modules.scss +25 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_tooltip.scss +4 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_vendor.scss +2 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/hovers.scss +12 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_book_header.scss +21 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_breadcrumb.scss +64 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_chapter_show.scss +3 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_checkboxes.scss +34 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_console.scss +49 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_datepicker.scss +13 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +386 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_dropdown.scss +3 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_editor.scss +119 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_exercise_assignment.scss +38 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_exercise_results.scss +40 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_flash.scss +57 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_follow_us.scss +16 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_gs-board.scss +8 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_highlight.scss +144 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids.scss +513 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +49 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_modal.scss +24 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_organization_chooser.scss +18 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_overlap.scss +29 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_progress_bar.scss +31 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_progress_listing.scss +10 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_timer.scss +8 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_upload.scss +8 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/guide-corollary.scss +9 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/popover.scss +9 -0
- data/app/controllers/ajax_controller.rb +9 -0
- data/app/controllers/api/base_controller.rb +23 -0
- data/app/controllers/api/courses_controller.rb +26 -0
- data/app/controllers/api/organizations_controller.rb +28 -0
- data/app/controllers/api/roles_controller.rb +53 -0
- data/app/controllers/api/students_controller.rb +9 -0
- data/app/controllers/api/teachers_controller.rb +9 -0
- data/app/controllers/api/users_controller.rb +18 -0
- data/app/controllers/appendixes_controller.rb +5 -0
- data/app/controllers/application_controller.rb +93 -0
- data/app/controllers/assets_controller.rb +14 -0
- data/app/controllers/book_controller.rb +7 -0
- data/app/controllers/book_discussions_controller.rb +7 -0
- data/app/controllers/chapters_controller.rb +12 -0
- data/app/controllers/complements_controller.rb +8 -0
- data/app/controllers/concerns/on_base_organization_only.rb +11 -0
- data/app/controllers/concerns/organizations_controller_template.rb +35 -0
- data/app/controllers/concerns/users_controller_template.rb +33 -0
- data/app/controllers/concerns/with_authorization.rb +23 -0
- data/app/controllers/concerns/with_errors_filter.rb +32 -0
- data/app/controllers/concerns/with_user_params.rb +11 -0
- data/app/controllers/discussions_controller.rb +85 -0
- data/app/controllers/discussions_messages_controller.rb +37 -0
- data/app/controllers/exams_controller.rb +14 -0
- data/app/controllers/exercise_confirmations_controller.rb +9 -0
- data/app/controllers/exercise_query_controller.rb +13 -0
- data/app/controllers/exercise_solutions_controller.rb +28 -0
- data/app/controllers/exercise_tries_controller.rb +16 -0
- data/app/controllers/exercises_controller.rb +52 -0
- data/app/controllers/guide_container_controller.rb +21 -0
- data/app/controllers/guide_progress_controller.rb +18 -0
- data/app/controllers/guides_controller.rb +9 -0
- data/app/controllers/invitations_controller.rb +40 -0
- data/app/controllers/lessons_controller.rb +8 -0
- data/app/controllers/login_controller.rb +16 -0
- data/app/controllers/messages_controller.rb +32 -0
- data/app/controllers/topics_controller.rb +5 -0
- data/app/controllers/users_controller.rb +32 -0
- data/app/helpers/application_helper.rb +41 -0
- data/app/helpers/assets_helper.rb +24 -0
- data/app/helpers/assignment_result_helper.rb +47 -0
- data/app/helpers/assistance_box_helper.rb +9 -0
- data/app/helpers/authors_helper.rb +10 -0
- data/app/helpers/breadcrumbs_helper.rb +59 -0
- data/app/helpers/choices_helper.rb +5 -0
- data/app/helpers/concerns/with_student_path_navigation.rb +19 -0
- data/app/helpers/concerns/with_student_path_navigation/continue_navigation.rb +23 -0
- data/app/helpers/concerns/with_student_path_navigation/finish_navigation.rb +12 -0
- data/app/helpers/concerns/with_student_path_navigation/navigation.rb +36 -0
- data/app/helpers/concerns/with_student_path_navigation/revisit_navigation.rb +23 -0
- data/app/helpers/contextualization_result_helper.rb +36 -0
- data/app/helpers/discussions_helper.rb +176 -0
- data/app/helpers/editor_helper.rb +13 -0
- data/app/helpers/editor_tabs_helper.rb +21 -0
- data/app/helpers/email_helper.rb +20 -0
- data/app/helpers/exercise_input_helper.rb +118 -0
- data/app/helpers/icons_helper.rb +63 -0
- data/app/helpers/links_helper.rb +81 -0
- data/app/helpers/locale_helper.rb +11 -0
- data/app/helpers/menu_bar_helper.rb +41 -0
- data/app/helpers/messages_helper.rb +25 -0
- data/app/helpers/multiple_file_editor_helper.rb +14 -0
- data/app/helpers/open_graph_helper.rb +12 -0
- data/app/helpers/organization_breadcrumbs_helper.rb +24 -0
- data/app/helpers/organization_list_helper.rb +5 -0
- data/app/helpers/overlapped_buttons_helper.rb +17 -0
- data/app/helpers/page_title_helper.rb +11 -0
- data/app/helpers/progress_bar_helper.rb +8 -0
- data/app/helpers/progress_helper.rb +19 -0
- data/app/helpers/runner_assets_helper.rb +9 -0
- data/app/helpers/version_helper.rb +5 -0
- data/app/mailers/application_mailer.rb +16 -0
- data/app/mailers/user_mailer.rb +24 -0
- data/app/views/appendixes/show.html.erb +7 -0
- data/app/views/book/show.html.erb +58 -0
- data/app/views/book_discussions/index.html.erb +23 -0
- data/app/views/chapters/show.html.erb +35 -0
- data/app/views/complements/show.html.erb +1 -0
- data/app/views/discussions/_description_message.html.erb +17 -0
- data/app/views/discussions/_message.html.erb +28 -0
- data/app/views/discussions/_message_container.html.erb +8 -0
- data/app/views/discussions/_new_message.html.erb +21 -0
- data/app/views/discussions/index.html.erb +30 -0
- data/app/views/discussions/show.html.erb +78 -0
- data/app/views/errors/forbidden.html.erb +18 -0
- data/app/views/errors/gone.html.erb +14 -0
- data/app/views/errors/internal_server_error.html.erb +19 -0
- data/app/views/errors/not_found.html.erb +19 -0
- data/app/views/errors/unauthorized.html.erb +14 -0
- data/app/views/exams/show.html.erb +1 -0
- data/app/views/exercise_solutions/_contextualization_results_body.html.erb +19 -0
- data/app/views/exercise_solutions/_contextualization_results_container.html.erb +4 -0
- data/app/views/exercise_solutions/_expectations.html.erb +13 -0
- data/app/views/exercise_solutions/_kids_results.html.erb +18 -0
- data/app/views/exercise_solutions/_kids_results_button.html.erb +11 -0
- data/app/views/exercise_solutions/_out_of_attempts.html.erb +5 -0
- data/app/views/exercise_solutions/_results.html.erb +44 -0
- data/app/views/exercise_solutions/_results_button.html.erb +9 -0
- data/app/views/exercise_solutions/_results_hidden.html.erb +5 -0
- data/app/views/exercise_solutions/_results_title.html.erb +3 -0
- data/app/views/exercises/_exercise_assignment.html.erb +20 -0
- data/app/views/exercises/_read_only.html.erb +106 -0
- data/app/views/exercises/show.html.erb +63 -0
- data/app/views/invitations/_invitation_form.html.erb +23 -0
- data/app/views/invitations/show.html.erb +17 -0
- data/app/views/layouts/_authoring.html.erb +12 -0
- data/app/views/layouts/_copyright.html.erb +2 -0
- data/app/views/layouts/_discussions.html.erb +68 -0
- data/app/views/layouts/_error.html.erb +10 -0
- data/app/views/layouts/_exercise_skipped.html.erb +28 -0
- data/app/views/layouts/_guide.html.erb +67 -0
- data/app/views/layouts/_kids.html.erb +24 -0
- data/app/views/layouts/_main.html.erb +49 -0
- data/app/views/layouts/_messages.html.erb +21 -0
- data/app/views/layouts/_mixed_results.erb +3 -0
- data/app/views/layouts/_organization_chooser.html.erb +28 -0
- data/app/views/layouts/_organizations_listing.html.erb +14 -0
- data/app/views/layouts/_progress.html.erb +1 -0
- data/app/views/layouts/_progress_bar.html.erb +6 -0
- data/app/views/layouts/_progress_listing.html.erb +10 -0
- data/app/views/layouts/_result.html.erb +4 -0
- data/app/views/layouts/_runner_assets.html.erb +19 -0
- data/app/views/layouts/_social_media.html.erb +4 -0
- data/app/views/layouts/_submission_result_error.html.erb +6 -0
- data/app/views/layouts/_submission_result_error_body.html.erb +6 -0
- data/app/views/layouts/_test_results.html.erb +32 -0
- data/app/views/layouts/_timer.html.erb +10 -0
- data/app/views/layouts/application.html.erb +77 -0
- data/app/views/layouts/embedded.html.erb +28 -0
- data/app/views/layouts/exercise_inputs/editors/_code.html.erb +17 -0
- data/app/views/layouts/exercise_inputs/editors/_custom.html.erb +7 -0
- data/app/views/layouts/exercise_inputs/editors/_free_form.html.erb +4 -0
- data/app/views/layouts/exercise_inputs/editors/_hidden.html.erb +1 -0
- data/app/views/layouts/exercise_inputs/editors/_multiple_choice.html.erb +10 -0
- data/app/views/layouts/exercise_inputs/editors/_multiple_files.html.erb +40 -0
- data/app/views/layouts/exercise_inputs/editors/_single_choice.html.erb +8 -0
- data/app/views/layouts/exercise_inputs/editors/_text.html.erb +7 -0
- data/app/views/layouts/exercise_inputs/editors/_upload.html.erb +4 -0
- data/app/views/layouts/exercise_inputs/forms/_form.html.erb +14 -0
- data/app/views/layouts/exercise_inputs/forms/_interactive_form.html.erb +50 -0
- data/app/views/layouts/exercise_inputs/forms/_kids_form.html.erb +12 -0
- data/app/views/layouts/exercise_inputs/forms/_playground_form.html.erb +26 -0
- data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +73 -0
- data/app/views/layouts/exercise_inputs/forms/_reading_form.html.erb +3 -0
- data/app/views/layouts/exercise_inputs/layouts/_input_bottom.html.erb +15 -0
- data/app/views/layouts/exercise_inputs/layouts/_input_kids.html.erb +51 -0
- data/app/views/layouts/exercise_inputs/layouts/_input_right.html.erb +13 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_code.html.erb +3 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_custom.html.erb +6 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_free_form.html.erb +4 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_multiple_choice.html.erb +8 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_multiple_files.html.erb +29 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_single_choice.html.erb +8 -0
- data/app/views/layouts/exercise_inputs/read_only_editors/_text.erb +3 -0
- data/app/views/layouts/mailer.html.erb +487 -0
- data/app/views/layouts/mailer.text.erb +1 -0
- data/app/views/layouts/modals/_guide_corollary.html.erb +27 -0
- data/app/views/layouts/modals/_kids_context.html.erb +33 -0
- data/app/views/layouts/modals/_kids_results.html.erb +26 -0
- data/app/views/layouts/modals/_kids_results_aborted.html.erb +25 -0
- data/app/views/layouts/modals/_new_discussion.html.erb +27 -0
- data/app/views/layouts/modals/_new_message.html.erb +36 -0
- data/app/views/lessons/show.html.erb +1 -0
- data/app/views/messages/errors.html.erb +1 -0
- data/app/views/user_mailer/1st_reminder.html.erb +349 -0
- data/app/views/user_mailer/1st_reminder.text.erb +13 -0
- data/app/views/user_mailer/2nd_reminder.html.erb +349 -0
- data/app/views/user_mailer/2nd_reminder.text.erb +13 -0
- data/app/views/user_mailer/3rd_reminder.html.erb +349 -0
- data/app/views/user_mailer/3rd_reminder.text.erb +13 -0
- data/app/views/user_mailer/no_submissions_reminder.html.erb +349 -0
- data/app/views/user_mailer/no_submissions_reminder.text.erb +13 -0
- data/app/views/users/_profile_fields.html.erb +20 -0
- data/app/views/users/_user_form.html.erb +11 -0
- data/app/views/users/show.html.erb +60 -0
- data/config/i18n-tasks.yml +98 -0
- data/config/initializers/form_builder.rb +7 -0
- data/config/initializers/omniauth.rb +5 -0
- data/config/initializers/session_store.rb +1 -0
- data/config/routes.rb +106 -0
- data/lib/mumuki/laboratory.rb +48 -0
- data/lib/mumuki/laboratory/controllers.rb +13 -0
- data/lib/mumuki/laboratory/controllers/authorization.rb +10 -0
- data/lib/mumuki/laboratory/controllers/content.rb +12 -0
- data/lib/mumuki/laboratory/controllers/current_organization.rb +16 -0
- data/lib/mumuki/laboratory/controllers/disabling.rb +5 -0
- data/lib/mumuki/laboratory/controllers/dynamic_errors.rb +74 -0
- data/lib/mumuki/laboratory/controllers/embedded_mode.rb +45 -0
- data/lib/mumuki/laboratory/controllers/exercise_seed.rb +11 -0
- data/lib/mumuki/laboratory/controllers/nested_in_exercise.rb +11 -0
- data/lib/mumuki/laboratory/controllers/notifications.rb +32 -0
- data/lib/mumuki/laboratory/controllers/results_rendering.rb +63 -0
- data/lib/mumuki/laboratory/engine.rb +32 -0
- data/lib/mumuki/laboratory/events/events.rb +39 -0
- data/lib/mumuki/laboratory/extensions.rb +1 -0
- data/lib/mumuki/laboratory/extensions/request.rb +3 -0
- data/lib/mumuki/laboratory/locales/datetime.es.yml +25 -0
- data/lib/mumuki/laboratory/locales/en.yml +261 -0
- data/lib/mumuki/laboratory/locales/es.yml +288 -0
- data/lib/mumuki/laboratory/locales/pt.yml +264 -0
- data/lib/mumuki/laboratory/locales/views.es.yml +9 -0
- data/lib/mumuki/laboratory/version.rb +5 -0
- data/lib/tasks/assignments.rake +29 -0
- data/lib/tasks/events.rake +19 -0
- data/lib/tasks/messages.rake +17 -0
- data/lib/tasks/users.rake +12 -0
- data/public/422.html +67 -0
- data/public/character/kibi/context.svg +1 -0
- data/public/character/kibi/failure.svg +1 -0
- data/public/character/kibi/jump.svg +1 -0
- data/public/character/kibi/success2_l.svg +1 -0
- data/public/character/kibi/success_l.svg +1 -0
- data/public/character/magnifying_glass/apparition.svg +1 -0
- data/public/character/magnifying_glass/loop.svg +1 -0
- data/public/compass_rose.svg +1427 -0
- data/public/email-banner.png +0 -0
- data/public/favicon.ico +0 -0
- data/public/kibi.svg +2 -0
- data/public/logo-alt-large.png +0 -0
- data/public/logo-alt.png +0 -0
- data/spec/api_helper.rb +7 -0
- data/spec/capybara_helper.rb +12 -0
- data/spec/controllers/api_clients_controller.rb +26 -0
- data/spec/controllers/chapters_controller_spec.rb +17 -0
- data/spec/controllers/confirmations_controller_spec.rb +20 -0
- data/spec/controllers/courses_api_controller_spec.rb +28 -0
- data/spec/controllers/discussions_controller_spec.rb +64 -0
- data/spec/controllers/exercise_solutions_controller_spec.rb +88 -0
- data/spec/controllers/guide_progress_controller_spec.rb +40 -0
- data/spec/controllers/invitations_controller_spec.rb +26 -0
- data/spec/controllers/messages_controller_spec.rb +32 -0
- data/spec/controllers/organizations_api_controller_spec.rb +239 -0
- data/spec/controllers/students_api_controller_spec.rb +106 -0
- data/spec/controllers/users_api_controller_spec.rb +65 -0
- data/spec/controllers/users_controller_spec.rb +21 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +38 -0
- data/spec/dummy/bin/update +29 -0
- data/spec/dummy/bin/yarn +11 -0
- data/spec/dummy/config.ru +5 -0
- data/spec/dummy/config/application.rb +17 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/database.travis.yml +4 -0
- data/spec/dummy/config/database.yml +19 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +55 -0
- data/spec/dummy/config/environments/test.rb +54 -0
- data/spec/dummy/config/initializers/assets.rb +14 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +33 -0
- data/spec/dummy/config/puma.rb +14 -0
- data/spec/dummy/config/rabbit.yml +7 -0
- data/spec/dummy/config/routes.rb +2 -0
- data/spec/dummy/config/secrets.yml +5 -0
- data/spec/dummy/config/spring.rb +6 -0
- data/spec/dummy/db/schema.rb +387 -0
- data/spec/dummy/db/seeds.rb +32 -0
- data/spec/dummy/package.json +5 -0
- data/spec/dummy/public/character/animations.json +34 -0
- data/spec/dummy/public/error/401.svg +218 -0
- data/spec/dummy/public/error/403.svg +218 -0
- data/spec/dummy/public/error/404.svg +218 -0
- data/spec/dummy/public/error/410.svg +218 -0
- data/spec/dummy/public/error/500.svg +218 -0
- data/spec/dummy/public/error/timeout_1.svg +1 -0
- data/spec/dummy/public/error/timeout_2.svg +3 -0
- data/spec/dummy/public/error/timeout_3.svg +1 -0
- data/spec/evaluation_helper.rb +19 -0
- data/spec/features/chapter_spec.rb +53 -0
- data/spec/features/choose_organization_spec.rb +92 -0
- data/spec/features/complements_flow_spec.rb +16 -0
- data/spec/features/disable_user_flow_spec.rb +34 -0
- data/spec/features/dynamic_exam_spec.rb +40 -0
- data/spec/features/exams_flow_spec.rb +136 -0
- data/spec/features/exercise_flow_spec.rb +240 -0
- data/spec/features/guide_reset_spec.rb +60 -0
- data/spec/features/guides_flow_spec.rb +126 -0
- data/spec/features/home_private_flow_spec.rb +78 -0
- data/spec/features/home_public_flow_spec.rb +62 -0
- data/spec/features/invitations_flow_spec.rb +46 -0
- data/spec/features/lessons_flow_spec.rb +21 -0
- data/spec/features/links_flow_spec.rb +63 -0
- data/spec/features/login_flow_spec.rb +69 -0
- data/spec/features/menu_bar_spec.rb +116 -0
- data/spec/features/not_found_private_flow_spec.rb +43 -0
- data/spec/features/not_found_public_flow_spec.rb +40 -0
- data/spec/features/profile_flow_spec.rb +96 -0
- data/spec/features/progressive_tips_spec.rb +48 -0
- data/spec/features/runner_assets_spec.rb +58 -0
- data/spec/features/standard_flow_spec.rb +32 -0
- data/spec/features/topic_flow_spec.rb +27 -0
- data/spec/helpers/application_helper_spec.rb +29 -0
- data/spec/helpers/authors_helper_spec.rb +18 -0
- data/spec/helpers/breadcrumbs_helper_spec.rb +129 -0
- data/spec/helpers/email_helper_spec.rb +14 -0
- data/spec/helpers/exercise_input_helper_spec.rb +85 -0
- data/spec/helpers/icons_helper_spec.rb +22 -0
- data/spec/helpers/page_title_helper_spec.rb +19 -0
- data/spec/helpers/test_results_rendering_spec.rb +105 -0
- data/spec/helpers/with_choices_spec.rb +14 -0
- data/spec/helpers/with_navigation_spec.rb +97 -0
- data/spec/login_helper.rb +23 -0
- data/spec/mailers/previews/user_mailer_preview.rb +9 -0
- data/spec/mailers/user_mailer_spec.rb +181 -0
- data/spec/spec_helper.rb +76 -0
- data/vendor/assets/javascripts/analytics.js +4 -0
- data/vendor/assets/javascripts/codemirror-autorefresh.js +46 -0
- data/vendor/assets/javascripts/codemirror-modes/assembly_x86.js +967 -0
- data/vendor/assets/javascripts/codemirror-modes/autocomplete.js +44 -0
- data/vendor/assets/javascripts/codemirror-modes/clike.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/closebrackets.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/css-hint.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/css.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/elixir.js +1284 -0
- data/vendor/assets/javascripts/codemirror-modes/gobstones.js +71 -0
- data/vendor/assets/javascripts/codemirror-modes/haskell-autocomplete.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/haskell.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/html-hint.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/htmlmixed.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/index.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/javascript-hint.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/javascript.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/markdown.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/matchbrackets.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/php.js +236 -0
- data/vendor/assets/javascripts/codemirror-modes/placeholder.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/prolog-autocomplete.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/prolog.js +1089 -0
- data/vendor/assets/javascripts/codemirror-modes/python.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/ruby-autocomplete.js +3 -0
- data/vendor/assets/javascripts/codemirror-modes/ruby.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/shell.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/show-hint.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/sql-hint.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/sql.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/wollok-autocomplete.js +3 -0
- data/vendor/assets/javascripts/codemirror-modes/wollok.js +1035 -0
- data/vendor/assets/javascripts/codemirror-modes/xml-hint.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-modes/xml.min.js +1 -0
- data/vendor/assets/javascripts/codemirror-simple-mode.js +216 -0
- data/vendor/assets/javascripts/codemirror.min.js +1 -0
- data/vendor/assets/javascripts/hotjar.js +8 -0
- data/vendor/assets/javascripts/jquery-console.js +847 -0
- data/vendor/assets/javascripts/webcomponents-lite.js +12 -0
- data/vendor/assets/stylesheets/codemirror/codemirror.min.css +2 -0
- data/vendor/assets/stylesheets/codemirror/show-hint.min.css +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/AUTHORS +16 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/Gemfile +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/LICENSE +661 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/README.md +159 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/Rakefile +35 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/api_client.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/application_record.rb +128 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/assignment.rb +243 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/avatar.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/book.rb +65 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/chapter.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/complement.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/assistable.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/contextualization.rb +137 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/disabling.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/friendly_name.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/guide_container.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/navigation/parent_navigation.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/navigation/siblings_navigation.rb +28 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/navigation/terminal_navigation.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/submittable/confirmable.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/submittable/queriable.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/submittable/questionable.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/submittable/solvable.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/submittable/submittable.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/submittable/triable.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/topic_container.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_assignments.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_case_insensitive_search.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_content.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_description.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_discussion_creation.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_discussion_creation/subscription.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_discussion_creation/upvote.rb +28 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_discussion_status.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_discussions.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_editor.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_expectations.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_language.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_layout.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_locale.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_messages.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_name.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_number.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_profile.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_progress.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_randomizations.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_reminders.rb +74 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_scoped_queries.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_scoped_queries/filter.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_scoped_queries/page.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_scoped_queries/sort.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_slug.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_usages.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/concerns/with_user_navigation.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/content.rb +35 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/course.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/discussion.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/event.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exam.rb +177 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exam_authorization.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise.rb +255 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise/challenge.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise/interactive.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise/playground.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise/problem.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise/queriable_challenge.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/exercise/reading.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/guide.rb +131 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/indicator.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/invitation.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/language.rb +128 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/lesson.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/message.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/organization.rb +167 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/progress.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/stats.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/subscription.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/topic.rb +63 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/upvote.rb +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/usage.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/user.rb +192 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/app/models/with_stats.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/bin/rails +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141120231135_create_exercises.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141120231735_create_submissions.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141121001134_add_status_to_submission.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141121013100_add_result_to_submission.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141121122921_add_language_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141124023403_create_users.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141124032114_add_user_to_submission.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141207235356_add_submissions_count_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141208005050_add_author_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141208005125_rename_user_to_submitter.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141212044717_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141212044718_add_missing_unique_indices.acts_as_taggable_on_engine.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141212044719_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141212044720_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141221213109_create_exercise_repos.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141221215035_add_origin_to_exercise.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141225034553_rename_exercise_repo_to_guide.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141225143218_rename_github_url_to_github_repository.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141225195510_create_imports.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141225211350_add_status_to_import.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141226010922_add_result_to_import.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141228151351_change_exercise_description_to_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141231074400_create_languages.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141231191842_change_language_column_type.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141231192030_rename_author_to_plugin_author.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20141231234940_increment_language_id.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150108014005_add_locale_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150111160450_add_uniques_to_languages.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150125042217_add_test_syntax_hint_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150125051529_add_hint_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150126213310_devise_create_admin_users.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150126213316_create_active_admin_comments.rb +19 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150315072037_add_description_to_guide.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150317052723_remove_language_author.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150317053307_remove_language_hint.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150321150030_add_extra_code_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150328211331_create_expectations.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150329163753_add_email_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150330020553_add_expectation_results_to_submission.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150405231013_create_exports.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150405232603_add_default_guide_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150406020152_add_last_submission_date_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150407225356_add_unique_index_to_users.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150408020712_add_status_to_export.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150408022654_add_commiter_to_export.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150411215351_change_guide_description_to_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150412042959_add_committer_to_import.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150412201651_remove_default_guide_from_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150415053559_add_image_url_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150415211341_add_position_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150415234515_create_relationships.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150417052238_add_original_id_format_to_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150418055334_add_locale_and_language_to_guide.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150424180136_add_guides_users_association_tables.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150428195229_add_guides_suggestions.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150507215646_remove_relationship.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150508015148_create_api_tokens.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150509191428_add_name_to_token.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150512235847_add_feedback_to_submission.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150513203636_create_categories.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150513204102_create_starting_points.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150517074730_add_extra_code_to_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150518174912_add_language_output_visibility_flag.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150518185508_add_content_type_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150519131033_set_default_locale_for_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150519174628_remove_language_name_uniq.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150519220307_rename_api_token_columns.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150520011404_convert_starting_point_into_path.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150529135324_add_corollary_to_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150529141430_add_corollary_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150531164450_add_test_extension_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150603003459_remove_language_extension_uniq.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150603020457_remove_guide_name_uniq.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150605065543_add_highlight_mode.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150614173852_add_learning_flag.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150614180512_add_beta_flag.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150614191257_add_last_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150620181839_add_layout_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150701030644_add_unique_to_language_name_index.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150701212609_add_test_results_to_submission.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150708212022_add_position_to_category.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150708212836_change_category_description_to_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150713120916_add_expectations_column_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150714000532_remove_expectations_relation.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150722003532_create_event_subscribers.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150722030820_create_solutions.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150722142019_add_submissions_count_to_solution.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150723052640_add_submission_id_to_solution.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150724062215_add_language_description.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150724062233_add_category_links.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150724062249_add_category_long_description.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150819194207_convert_submissions_into_solutions.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150819202310_remove_submissions.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150826023647_create_friendly_id_slugs.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150826023757_add_slug_to_guides.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150826024859_add_slug_to_exercises.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150828013106_add_remember_me_token_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150829211550_add_queriable_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150829215524_add_expectations_column_to_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20150905214532_rename_exercise_title_to_name.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151001143118_rename_solution_to_assignment.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151001183858_rename_assignment_content_to_solution.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151003003856_add_type_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151020145904_remove_guide_git_information.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151104163433_create_tenants.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151104172241_create_path_rules.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151104173956_remove_guide_position.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151104220859_remove_path_from_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151107232242_move_slug_to_path_rule.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151108173838_remove_slugs.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151108182857_remove_act_as_taggable_taggings.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151108183319_add_tags_array.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151206072741_rename_guide_extra_code_to_extra.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151208224736_rename_path_rule_to_chapter_guide.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151208224907_rename_category_to_chapter.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151208225503_rename_chapter_position_to_number.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151208231749_rename_chapter_guide_path_to_chapter.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151208233707_rename_url_to_slug.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151209021925_add_locale_to_tenant.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151210204646_remove_language_extensions.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151211032811_drop_collaborators.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151211033000_drop_contributors.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151211034943_remove_authors.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151211035206_add_contact_email_to_tenant.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151218172557_drop_import.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151222153838_add_default_content_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151223014138_change_language_icon_url_into_devicon_id.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151224174248_remove_original_id.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20151229153839_replace_learning_with_type_in_guides.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160108191156_rename_extra_code.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160108215313_remove_unique_index_from_users.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160119024542_add_preface_to_tenant.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160119040351_rename_tenant_to_book.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160119191508_rename_position_to_number.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160120171336_add_type_to_event_suscriber.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160205184243_add_bibliotheca_id_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160214191548_required_bibliotheca_id.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160222165337_add_hidden_flag_to_extra_code.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160222192958_rename_chapter_guide_to_lesson.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160307184203_add_prompt_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160331210507_add_comment_model.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160401142104_add_readed_to_comment.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160404214826_change_readed_to_read.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160405184624_change_submission_id_to_string.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160412193123_change_content_comment_to_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160414150800_remove_tenant_subscriber.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160426171156_add_new_expectations_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160427195306_create_organizations.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160427223805_add_chapter_book.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160427234538_create_topics.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160427235605_add_topic_to_chapter.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160428162753_add_topic_id_to_lesson.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160428175230_create_exams.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160428224823_add_duration_to_exam.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160429174901_add_start_end_time_to_exam.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160429181825_add_exam_user.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160430225048_create_complements.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160430231035_remove_chapter_lesson.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160430235331_remove_chapter_name_description.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160430235656_remove_chapter_locale_image_url.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160501003355_add_long_description_to_topic.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160501071847_create_usages.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506012945_add_slug_to_topic_and_book.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506035230_remove_slug_from_lesson.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506041446_rename_preface_to_description.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506172239_remove_event_subscriber.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506175610_remove_api_tokens.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506181152_remove_admin_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160506182333_remove_admin_comments.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160510183137_add_private_to_organization.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160512134321_add_organization_image.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160516191936_add_stateful_console_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160517215229_add_classroom_idto_exams.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160518212552_rename_exam_users_to_exam_authorization.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160518213912_add_user_start_data_in_exam.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160519045220_add_id_to_exam_authorizations.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160520141716_remove_chapter_links_and_long_description.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160520153115_change_exam_classroom_id_to_string.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160526172026_remove_not_null_constraint_exam_duration.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160526182119_add_metadata_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160617175235_add_last_organization_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160617195350_change_metadata_to_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160701195105_add_login_methods_to_organization.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160705160244_add_manual_evaluation_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160715001254_rename_test_runner_url.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160729194600_change_default_content_to_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160812003350_change_default_login_methods.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160815225314_rename_long_description_to_appendix.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160819181024_make_organization_private_by_default.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160830160937_add_authoring_information_to_guide.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20160907010315_remove_exercise_slug.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161004202742_add_editor_to_problem.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161018142147_add_language_extension.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161107171305_remove_devicon_column_from_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161222182015_rename_uid_to_social_id.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161222182724_add_uid_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161226181932_remove_metadata_from_users.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161230055953_add_not_null_constraint_to_uid_in_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20161231224116_add_permissions_to_user.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170125185012_add_new_fields_on_organization.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170207154702_add_index_to_uid.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170224040846_create_invitations.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170224061531_make_tos_type_text.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170301160253_rename_invitation_slug_to_code.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170330145157_rename_comment_to_messages.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170407190910_add_has_messages_flag_to_assignment.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170526191251_add_community_link_to_organizations.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170526204944_add_has_messages_to_organizations.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170601181759_rename_has_messages_to_raise_hand_enabled_in_organization.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170608033403_remove_has_messages_from_assignment.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170608044038_remove_messages_exercise_id.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170608154055_remove_message_type_column.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170612173212_add_first_name_and_last_name_to_user.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170621222902_introduce_settings_and_themes.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170818185127_add_guide_slug_constraint.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20170830020507_change_invitation_expiration_date_type.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20171003204152_add_goal_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20171003204209_add_queries_to_assignment.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20171004134607_add_triable_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20171024182244_add_devicon_and_comment_type_to_language.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20171109181818_add_manual_evaluation_commend_and_submission_id_index_in_assignment.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20171229042201_add_assets_to_language.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180117014110_add_custom_editor_assets_to_language.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180123174410_add_initial_and_final_states_to_exercises.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180123180836_add_accepts_reminders_to_users.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180129142749_add_api_client.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180130194923_add_last_reminded_date_to_users.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180130204935_add_course.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180307150148_add_failed_submissions_count_to_assignments.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180323125804_remove_user_name.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180323140943_remove_unused_omniauth_fields.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180326224511_remove_book_ids.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180402015405_remove_course_uid.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180504173548_create_discussions.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180504185845_add_discussion_id_to_message.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180526141344_add_tips_rules_to_exercise.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180605143727_add_submission_to_discussion.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180611190239_add_randomizations_to_exercises.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180619182555_create_subscriptions.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180702153442_create_upvotes.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180702175220_add_upvotes_count_to_discussions.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180704150839_rename_assignment_status_to_submission_status.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180725145801_add_submissions_caps_to_exams.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20180802190437_add_approved_to_messages.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181004173216_add_free_form_editor_to_exercises.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181014233438_remove_non_null_constraint_from_permissions.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181016203853_add_test_extension_back.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181021151505_add_id_format_back.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181022043658_add_private_flag_for_guides.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181022220518_add_teacher_info_to_guide.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181101180652_add_unique_index_to_organizations_name.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181105152420_remove_contact_email_from_book.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181113183935_rename_guide_contributors_to_collaborators.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181114201620_add_test_template_to_languages.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181117190241_add_feedback_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181121165956_rename_choices_column.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20181210131824_convert_course_invitation_into_fk.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190123180139_add_sources_section.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190123180147_add_learn_more_section.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190312152901_add_content_fk.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190326152631_add_settings_to_content.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190404181724_add_organization_to_discussion.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190506180102_add_multifile_to_languages.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190530173142_add_organization_to_assignment.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190702003600_add_loading_flags_to_language.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190702182407_add_new_profile_fields.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190724190355_add_settings_to_languages.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190905174934_add_submitted_at_to_assignments.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190918134321_remove_new_expectations.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190918140026_add_custom_expectations.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20190929180601_add_expectations_to_language.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20191022180238_remove_choice_values_from_exercises.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20191029200548_create_indicators.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20191105171244_add_parent_to_assignments.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20191211153004_add_dirtiness_to_indicators.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20191217184525_add_progress_fields_to_indicators.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20200127142401_add_private_to_topics_and_books.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20200213175736_add_verified_names_to_users.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20200312181842_add_results_hidden_for_choices_to_exam.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20200508191543_create_avatars.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20200518135658_add_avatar_to_users.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/db/migrate/20200527180729_add_disabled_at_to_users.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/engine.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/evaluation.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/evaluation/automated.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/evaluation/manual.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions/blocked_forum_error.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions/disabled_error.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions/forbidden_error.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions/gone_error.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions/not_found_error.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/exceptions/unauthorized_error.rb +2 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/extensions.rb +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/extensions/array.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/extensions/hash.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/extensions/module.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/extensions/string.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/api_client_factory.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/assignments_factory.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/book_factory.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/chapter_factory.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/complement_factory.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/course_factory.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/discussion_factory.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/exam_factory.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/exercise_factory.rb +84 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/guide_factory.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/invitation_factory.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/lesson_factory.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/login_settings_factory.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/message_factory.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/organization_factory.rb +38 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/topic_factory.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/usage_factory.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/factories/user_factory.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/file.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/helpers.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/helpers/course.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/helpers/organization.rb +72 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/helpers/user.rb +109 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/locales/activerecord/en.yml +29 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/locales/activerecord/es.yml +58 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/locales/activerecord/pt.yml +29 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/locales/console_submission/en.yml +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/locales/console_submission/es.yml +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/locales/console_submission/pt.yml +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/organization.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/organization/profile.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/organization/settings.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/organization/theme.rb +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/seed.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status.rb +72 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/discussion/closed.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/discussion/discussion.rb +44 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/discussion/opened.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/discussion/pending_review.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/discussion/solved.rb +19 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/aborted.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/errored.rb +19 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/failed.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/manual_evaluation_pending.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/passed.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/passed_with_warnings.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/pending.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/running.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/skipped.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/status/submission/submission.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/store.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/store/bibliotheca.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/store/github.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/store/github/exercise_schema.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/store/github/guide_schema.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/store/thesaurus.rb +85 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/base.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/confirmation.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/console_submission.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/persistent_submission.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/query.rb +19 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/question.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/solution.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/submission/try.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/syncable.rb +91 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/syncable/with_resource_fields.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/lib/mumuki/domain/version.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/mumuki-domain.gemspec +78 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/Rakefile +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/bin/bundle +3 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/bin/rails +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/bin/rake +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/bin/setup +38 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/bin/update +29 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config.ru +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config/application.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config/boot.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config/database.travis.yml +4 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config/database.yml +13 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config/environment.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/config/environments/test.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/dummy/db/schema.rb +387 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/evaluation_helper.rb +19 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/lib/bibliotheca_store_spec.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/lib/organization_helpers_spec.rb +228 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/lib/thesaurus_store_spec.rb +329 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/lib/user_helpers_spec.rb +168 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/api_client_spec.rb +6 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/assignment_spec.rb +490 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/book_import_spec.rb +70 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/book_spec.rb +203 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/course_spec.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/discussion_spec.rb +176 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/event_generation_spec.rb +189 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/event_publishing_spec.rb +36 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/exam_spec.rb +159 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/exercise_spec.rb +589 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/guide_import_spec.rb +317 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/guide_spec.rb +264 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/hash_spec.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/indicator_spec.rb +101 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/interactive_spec.rb +144 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/invitation_spec.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/language_spec.rb +56 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/lesson_spec.rb +90 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/message_spec.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/navigation_spec.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/organization_spec.rb +215 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/playground_spec.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/problem_spec.rb +85 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/query_spec.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/question_spec.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/reading_spec.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/solution_spec.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/stats_spec.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/string_spec.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/topic_spec.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/usage_spec.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/user_changed_spec.rb +44 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/user_spec.rb +304 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/models/with_expectations_spec.rb +62 -0
- data/vendor/bundle/ruby/2.6.0/bundler/gems/mumuki-domain-acb12583b793/spec/spec_helper.rb +57 -0
- metadata +1378 -0
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><svg xmlns:xlink="http://www.w3.org/1999/xlink" id="tout_lowcost" image-rendering="auto" baseProfile="basic" version="1.1" x="0px" y="0px" width="176" height="129" xmlns="http://www.w3.org/2000/svg"><g id="Scene_1_l1" overflow="visible"><g id="estrellas" transform="matrix(0.443 0 0 0.443 29.2 10)"><path fill="#A6A8AC" d="M51.175,11.9Q51.18,11.107 50.85,10.4 50.505,9.683 49.825,9.225 49.155,8.783 48.15,8.775 47.394,8.772 46.825,9.025 46.255,9.296 45.875,9.75 45.493,10.195 45.3,10.75 45.118,11.307 45.125,11.9 45.118,12.492 45.3,13.05 45.493,13.605 45.875,14.05 46.255,14.505 46.825,14.775 47.394,15.028 48.15,15.025 48.653,15.029 49.075,14.925 49.493,14.803 49.825,14.575 50.505,14.118 50.85,13.4 51.18,12.693 51.175,11.9"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M50.825,13.4Q51.154,12.693 51.15,11.9 51.154,11.107 50.825,10.4 50.492,9.696 49.825,9.25 49.154,8.81 48.15,8.8 46.65,8.852 45.9,9.775 45.15,10.692 45.15,11.9 45.15,13.108 45.9,14.025 46.65,14.948 48.15,15 49.154,14.99 49.825,14.55 50.492,14.104 50.825,13.4"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M50.825,13.4Q51.154,12.693 51.15,11.9 51.154,11.107 50.825,10.4 50.492,9.696 49.825,9.25 49.154,8.81 48.15,8.8 46.65,8.852 45.9,9.775 45.15,10.692 45.15,11.9 45.15,13.108 45.9,14.025 46.65,14.948 48.15,15 49.154,14.99 49.825,14.55 50.492,14.104 50.825,13.4"/><path fill="#A6A8AC" d="M47.175,56.95Q46.721,56.015 45.825,55.425 45.382,55.129 44.825,54.975 44.265,54.829 43.6,54.825 43.108,54.82 42.675,54.9 42.242,54.996 41.875,55.175 41.126,55.516 40.625,56.1 40.126,56.69 39.875,57.425 39.626,58.162 39.625,58.95 39.626,59.723 39.875,60.45 40.126,61.185 40.625,61.775 41.126,62.37 41.875,62.725 42.242,62.892 42.675,62.975 43.108,63.067 43.6,63.075 44.266,63.06 44.825,62.9 45.382,62.746 45.825,62.45 46.721,61.859 47.175,60.925 47.392,60.466 47.5,59.975 47.605,59.475 47.6,58.95 47.605,58.425 47.5,57.925 47.392,57.421 47.175,56.95"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M47.125,56.975Q46.682,56.042 45.8,55.45 44.92,54.866 43.6,54.85 41.63,54.912 40.65,56.125 39.655,57.346 39.65,58.95 39.655,60.542 40.65,61.75 41.63,62.976 43.6,63.05 44.92,63.022 45.8,62.425 46.682,61.846 47.125,60.925 47.57,59.994 47.575,58.95 47.57,57.905 47.125,56.975"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M47.125,56.975Q46.682,56.042 45.8,55.45 44.92,54.866 43.6,54.85 41.63,54.912 40.65,56.125 39.655,57.346 39.65,58.95 39.655,60.542 40.65,61.75 41.63,62.976 43.6,63.05 44.92,63.022 45.8,62.425 46.682,61.846 47.125,60.925 47.57,59.994 47.575,58.95 47.57,57.905 47.125,56.975"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M73.675,27.95Q72.614,24.768 72.6,21.1M73.675,27.95Q74.738,31.122 76.625,33.525 78.523,35.938 81.025,37.3 83.509,38.655 86.375,38.675"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M71.975,25.775Q72.465,23.535 72.475,21.1M71.975,25.775Q71.495,28.014 70.6,29.975 69.7,31.931 68.45,33.525 67.192,35.123 65.65,36.275 64.122,37.428 62.375,38.05 60.614,38.67 58.7,38.675"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M73.1,50.95Q72.609,53.19 72.6,55.625M73.1,50.95Q73.58,48.711 74.475,46.75 75.375,44.794 76.625,43.2 77.883,41.602 79.425,40.45 80.966,39.297 82.725,38.675 84.473,38.055 86.375,38.05"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M71.975,50.95Q72.465,53.19 72.475,55.625M71.975,50.95Q71.495,48.711 70.6,46.75 69.7,44.794 68.45,43.2 67.192,41.602 65.65,40.45 64.122,39.297 62.375,38.675 60.614,38.055 58.7,38.05"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.925,73.9Q26.406,72.344 26.4,70.55M26.925,73.9Q27.448,75.463 28.375,76.65 29.302,77.833 30.525,78.5 31.744,79.164 33.15,79.175"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.2,73.275Q26.542,71.984 26.55,70.55M26.2,73.275Q25.865,74.57 25.25,75.65 24.624,76.718 23.775,77.5 22.934,78.291 21.925,78.725 20.919,79.164 19.8,79.175"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.75,83.9Q26.407,85.191 26.4,86.625M26.75,83.9Q27.085,82.605 27.7,81.525 28.325,80.457 29.175,79.675 30.016,78.884 31.025,78.45 32.031,78.011 33.15,78"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.2,83.9Q26.542,85.191 26.55,86.625M26.2,83.9Q25.865,82.605 25.25,81.525 24.624,80.457 23.775,79.675 22.934,78.884 21.925,78.45 20.919,78.011 19.8,78"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M20.175,3.975Q19.513,1.832 19.5,0M20.175,3.975Q20.85,6.11 21.975,8.05 23.088,9.987 24.45,11.225 25.813,12.476 27.225,12.525"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M18.625,2.575Q18.927,1.2 18.925,0M18.625,2.575Q18.31,3.949 17.75,5.35 17.192,6.762 16.45,8.05 15.713,9.324 14.85,10.325 13.996,11.336 13.075,11.925 12.141,12.511 11.2,12.525"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M19.825,21.525Q19.511,22.841 19.5,24.05M19.825,21.525Q20.128,20.218 20.675,18.925 21.232,17.631 21.975,16.475 22.712,15.32 23.575,14.425 24.429,13.534 25.35,13.025 26.284,12.51 27.225,12.5"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M18.625,21.525Q18.927,22.841 18.925,24.05M18.625,21.525Q18.31,20.218 17.75,18.925 17.192,17.631 16.45,16.475 15.713,15.32 14.85,14.425 13.996,13.534 13.075,13.025 12.141,12.51 11.2,12.5"/><path fill="#A6A8AC" d="M6.025,42.75Q6.03,41.957 5.7,41.25 5.355,40.533 4.675,40.075 4.005,39.633 3,39.625 2.243,39.622 1.675,39.875 1.105,40.146 0.725,40.6 0.343,41.045 0.15,41.6 -0.032,42.157 -0.025,42.75 -0.032,43.342 0.15,43.9 0.343,44.455 0.725,44.9 1.105,45.355 1.675,45.625 2.243,45.878 3,45.875 3.503,45.879 3.925,45.775 4.343,45.653 4.675,45.425 5.355,44.968 5.7,44.25 6.03,43.543 6.025,42.75"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M5.675,44.25Q6.004,43.543 6,42.75 6.004,41.957 5.675,41.25 5.341,40.546 4.675,40.1 4.004,39.66 3,39.65 1.5,39.702 0.75,40.625 0,41.542 0,42.75 0,43.958 0.75,44.875 1.5,45.798 3,45.85 4.004,45.84 4.675,45.4 5.341,44.954 5.675,44.25"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M5.675,44.25Q6.004,43.543 6,42.75 6.004,41.957 5.675,41.25 5.341,40.546 4.675,40.1 4.004,39.66 3,39.65 1.5,39.702 0.75,40.625 0,41.542 0,42.75 0,43.958 0.75,44.875 1.5,45.798 3,45.85 4.004,45.84 4.675,45.4 5.341,44.954 5.675,44.25"/></g><g id="reloj" transform="matrix(0.443 0 0 0.443 50.3 51)"><path fill="#A6A8AC" d="M149.1,16.85Q152.6,16.85 155.05,14.4 157.5,11.95 157.5,8.45L157.5,8.4Q157.5,4.9 155.05,2.45 152.6,0 149.1,0L8.4,0Q4.9,0 2.45,2.45 0,4.9 0,8.4L0,8.45Q0,11.95 2.45,14.4 4.9,16.85 8.4,16.85L149.1,16.85"/><path fill="#A6A8AC" d="M149.1,146.6Q152.6,146.6 155.05,144.15 157.5,141.7 157.5,138.2L157.5,138.15Q157.5,134.65 155.05,132.2 152.6,129.75 149.1,129.75L8.4,129.75Q4.9,129.75 2.45,132.2 0,134.65 0,138.15L0,138.2Q0,141.7 2.45,144.15 4.9,146.6 8.4,146.6L149.1,146.6"/><path fill="none" stroke="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M133.8,31.75Q135.821,24.491 135.85,16.6L21.85,16.6Q21.867,24.491 23.875,31.75 25.89,39.015 29.625,45.375 33.364,51.725 38.55,56.9 43.725,62.086 50.075,65.825 56.435,69.547 63.7,71.55 70.959,73.57 78.85,73.6 86.741,73.57 94,71.55 101.252,69.547 107.6,65.825 113.963,62.086 119.15,56.9 124.324,51.725 128.05,45.375 131.784,39.015 133.8,31.75"/><path fill="#A6A8AC" d="M134.725,122.35Q133.572,116.775 131.4,111.65 129.215,106.518 126.125,101.95 123.046,97.399 119.175,93.525 115.289,89.64 110.725,86.55 106.169,83.472 101.05,81.3 95.924,79.127 90.35,77.975 84.769,76.833 78.85,76.825 70.947,76.847 63.675,78.85 56.412,80.868 50.05,84.6 43.703,88.342 38.525,93.525 33.342,98.702 29.6,105.05 25.868,111.413 23.85,118.675 21.847,125.948 21.825,133.85L21.85,133.875 135.85,133.875 135.875,133.85Q135.867,127.932 134.725,122.35"/><path fill="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M131.35,111.65Q126.955,101.354 119.15,93.55 111.334,85.733 101.025,81.325 90.725,76.924 78.85,76.85 70.959,76.867 63.7,78.875 56.435,80.89 50.075,84.625 43.725,88.364 38.55,93.55 33.364,98.725 29.625,105.075 25.89,111.436 23.875,118.7 21.867,125.959 21.85,133.85L135.85,133.85Q135.763,121.962 131.35,111.65"/><path fill="none" stroke="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M131.35,111.65Q126.955,101.354 119.15,93.55 111.334,85.733 101.025,81.325 90.725,76.924 78.85,76.85 70.959,76.867 63.7,78.875 56.435,80.89 50.075,84.625 43.725,88.364 38.55,93.55 33.364,98.725 29.625,105.075 25.89,111.436 23.875,118.7 21.867,125.959 21.85,133.85L135.85,133.85Q135.763,121.962 131.35,111.65"/></g><g id="arena" transform="matrix(0.443 0 0 0.443 71.25 70.7)"><path fill="#A6A8AC" d="M62.7,-0.025L0,-0.025 -0.025,0.025Q0.756,1.373 1.65,2.65 2.551,3.933 3.55,5.125 4.538,6.317 5.625,7.425 6.72,8.525 7.9,9.525 9.093,10.538 10.375,11.45 11.639,12.356 12.975,13.15 14.324,13.932 15.75,14.6 17.171,15.287 18.65,15.85 20.13,16.402 21.675,16.825 23.216,17.255 24.8,17.55 26.386,17.846 28.025,18 29.673,18.148 31.35,18.15 33.028,18.148 34.675,18 36.314,17.846 37.9,17.55 39.484,17.255 41.025,16.825 42.57,16.402 44.05,15.85 45.529,15.287 46.95,14.6 48.376,13.932 49.725,13.15 51.061,12.356 52.325,11.45 53.608,10.538 54.8,9.525 55.98,8.525 57.075,7.425 58.176,6.317 59.175,5.125 60.162,3.933 61.05,2.65 61.942,1.368 62.725,0L62.7,-0.025"/><path fill="#A6A8AC" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M52.825,11.05Q55.834,8.817 58.325,6.025 60.816,3.247 62.7,0L0,0Q1.884,3.247 4.375,6.025 6.866,8.817 9.875,11.05 12.886,13.275 16.325,14.85 19.768,16.42 23.55,17.25 27.325,18.089 31.35,18.1 35.375,18.089 39.15,17.25 42.932,16.42 46.375,14.85 49.814,13.275 52.825,11.05"/><path fill="none" stroke="#A6A8AC" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M52.825,11.05Q55.834,8.817 58.325,6.025 60.816,3.247 62.7,0L0,0Q1.884,3.247 4.375,6.025 6.866,8.817 9.875,11.05 12.886,13.275 16.325,14.85 19.768,16.42 23.55,17.25 27.325,18.089 31.35,18.1 35.375,18.089 39.15,17.25 42.932,16.42 46.375,14.85 49.814,13.275 52.825,11.05"/><path fill="#FFF" d="M62.7,57.85L62.725,57.775Q61.944,56.427 61.05,55.15 60.162,53.869 59.175,52.675 58.176,51.482 57.075,50.375 55.98,49.274 54.8,48.275 53.608,47.275 52.325,46.375 51.061,45.469 49.725,44.675 48.376,43.881 46.95,43.2 45.529,42.514 44.05,41.95 42.57,41.398 41.025,40.975 39.484,40.545 37.9,40.25 36.314,39.966 34.675,39.825 33.028,39.677 31.35,39.675 29.673,39.677 28.025,39.825 26.386,39.966 24.8,40.25 23.216,40.545 21.675,40.975 20.13,41.398 18.65,41.95 17.171,42.513 15.75,43.2 14.324,43.88 12.975,44.675 11.639,45.469 10.375,46.375 9.093,47.275 7.9,48.275 6.72,49.274 5.625,50.375 4.538,51.482 3.55,52.675 2.551,53.869 1.65,55.15 0.756,56.427 -0.025,57.775L0,57.85 62.7,57.85"/><path fill="#FFF" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M58.325,51.775Q55.834,48.983 52.825,46.75 49.814,44.525 46.375,42.95 42.932,41.38 39.15,40.55 35.375,39.71 31.35,39.7 27.325,39.71 23.55,40.55 19.768,41.38 16.325,42.95 12.886,44.525 9.875,46.75 6.866,48.983 4.375,51.775 1.884,54.553 0,57.8L62.7,57.8Q60.816,54.553 58.325,51.775"/><path fill="none" stroke="#FFF" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M58.325,51.775Q55.834,48.983 52.825,46.75 49.814,44.525 46.375,42.95 42.932,41.38 39.15,40.55 35.375,39.71 31.35,39.7 27.325,39.71 23.55,40.55 19.768,41.38 16.325,42.95 12.886,44.525 9.875,46.75 6.866,48.983 4.375,51.775 1.884,54.553 0,57.8L62.7,57.8Q60.816,54.553 58.325,51.775"/></g><g style="display:none;"><path fill="#A6A8AC" d="M87.351,85.7Q88.201,84.9 88.201,83.7 88.201,82.5 87.351,81.65 86.551,80.85 85.351,80.85 84.151,80.85 83.301,81.65 82.501,82.5 82.501,83.7 82.501,84.9 83.301,85.7 84.151,86.55 85.351,86.55 86.551,86.55 87.351,85.7"/><path fill="#A6A8AC" d="M87.351,93.2Q88.201,92.4 88.201,91.2 88.201,90 87.351,89.15 86.551,88.35 85.351,88.35 84.151,88.35 83.301,89.15 82.501,90 82.501,91.2 82.501,92.4 83.301,93.2 84.151,94.05 85.351,94.05 86.551,94.05 87.351,93.2"/><path fill="#A6A8AC" d="M87.351,100.7Q88.201,99.9 88.201,98.7 88.201,97.5 87.351,96.65 86.551,95.85 85.351,95.85 84.151,95.85 83.301,96.65 82.501,97.5 82.501,98.7 82.501,99.9 83.301,100.7 84.151,101.55 85.351,101.55 86.551,101.55 87.351,100.7"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="6.958s" keyTimes="0;0.024;0.036;0.06;0.072;0.096;0.108;0.132;0.144;0.168;0.18;0.204;0.216;0.24;0.251;0.275;0.287;0.311;0.323;0.347;0.359;0.383;0.395;0.419;0.431;0.455;0.467;0.491;0.503;0.527;0.539;0.563;0.575;0.599;0.611;0.635;0.647;0.671;0.683;0.707;0.719;0.743;0.754;0.778;0.79;0.814;0.826;0.85;0.862;0.886;0.898;0.922;0.934;0.958;0.97;0.994;1" values="none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;inline"/></g><g style="display:none;"><path fill="#A6A8AC" d="M87.351,83.05Q88.201,82.25 88.201,81.05 88.201,79.85 87.351,79 86.551,78.2 85.351,78.2 84.151,78.2 83.301,79 82.501,79.85 82.501,81.05 82.501,82.25 83.301,83.05 84.151,83.9 85.351,83.9 86.551,83.9 87.351,83.05"/><path fill="#A6A8AC" d="M87.351,90.55Q88.201,89.75 88.201,88.55 88.201,87.35 87.351,86.5 86.551,85.7 85.351,85.7 84.151,85.7 83.301,86.5 82.501,87.35 82.501,88.55 82.501,89.75 83.301,90.55 84.151,91.4 85.351,91.4 86.551,91.4 87.351,90.55"/><path fill="#A6A8AC" d="M87.351,98.05Q88.201,97.25 88.201,96.05 88.201,94.85 87.351,94 86.551,93.2 85.351,93.2 84.151,93.2 83.301,94 82.501,94.85 82.501,96.05 82.501,97.25 83.301,98.05 84.151,98.9 85.351,98.9 86.551,98.9 87.351,98.05"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="6.958s" keyTimes="0;0.012;0.024;0.048;0.06;0.084;0.096;0.12;0.132;0.156;0.168;0.192;0.204;0.228;0.24;0.263;0.275;0.299;0.311;0.335;0.347;0.371;0.383;0.407;0.419;0.443;0.455;0.479;0.491;0.515;0.527;0.551;0.563;0.587;0.599;0.623;0.635;0.659;0.671;0.695;0.707;0.731;0.743;0.766;0.778;0.802;0.814;0.838;0.85;0.874;0.886;0.91;0.922;0.946;0.958;0.982;0.994;1" values="none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;none"/></g><g><path fill="#A6A8AC" d="M87.351,80.45Q88.201,79.65 88.201,78.45 88.201,77.25 87.351,76.4 86.551,75.6 85.351,75.6 84.151,75.6 83.301,76.4 82.501,77.25 82.501,78.45 82.501,79.65 83.301,80.45 84.151,81.3 85.351,81.3 86.551,81.3 87.351,80.45"/><path fill="#A6A8AC" d="M87.351,87.95Q88.201,87.15 88.201,85.95 88.201,84.75 87.351,83.9 86.551,83.1 85.351,83.1 84.151,83.1 83.301,83.9 82.501,84.75 82.501,85.95 82.501,87.15 83.301,87.95 84.151,88.8 85.351,88.8 86.551,88.8 87.351,87.95"/><path fill="#A6A8AC" d="M87.351,95.45Q88.201,94.65 88.201,93.45 88.201,92.25 87.351,91.4 86.551,90.6 85.351,90.6 84.151,90.6 83.301,91.4 82.501,92.25 82.501,93.45 82.501,94.65 83.301,95.45 84.151,96.3 85.351,96.3 86.551,96.3 87.351,95.45"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="6.958s" keyTimes="0;0.012;0.036;0.048;0.072;0.084;0.108;0.12;0.144;0.156;0.18;0.192;0.216;0.228;0.251;0.263;0.287;0.299;0.323;0.335;0.359;0.371;0.395;0.407;0.431;0.443;0.467;0.479;0.503;0.515;0.539;0.551;0.575;0.587;0.611;0.623;0.647;0.659;0.683;0.695;0.719;0.731;0.754;0.766;0.79;0.802;0.826;0.838;0.862;0.874;0.898;0.91;0.934;0.946;0.97;0.982;1" values="inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;none"/></g></g></svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><svg xmlns:xlink="http://www.w3.org/1999/xlink" id="tout_lowcost2x" image-rendering="auto" baseProfile="basic" version="1.1" x="0px" y="0px" width="176" height="129" xmlns="http://www.w3.org/2000/svg"><defs><symbol id="estrellas" overflow="visible"><path fill="#A6A8AC" d="M51.175,11.9Q51.18,11.107 50.85,10.4 50.505,9.683 49.825,9.225 49.155,8.783 48.15,8.775 47.394,8.772 46.825,9.025 46.255,9.296 45.875,9.75 45.493,10.195 45.3,10.75 45.118,11.307 45.125,11.9 45.118,12.492 45.3,13.05 45.493,13.605 45.875,14.05 46.255,14.505 46.825,14.775 47.394,15.028 48.15,15.025 48.653,15.029 49.075,14.925 49.493,14.803 49.825,14.575 50.505,14.118 50.85,13.4 51.18,12.693 51.175,11.9"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M50.825,13.4Q51.154,12.693 51.15,11.9 51.154,11.107 50.825,10.4 50.492,9.696 49.825,9.25 49.154,8.81 48.15,8.8 46.65,8.852 45.9,9.775 45.15,10.692 45.15,11.9 45.15,13.108 45.9,14.025 46.65,14.948 48.15,15 49.154,14.99 49.825,14.55 50.492,14.104 50.825,13.4"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M50.825,13.4Q51.154,12.693 51.15,11.9 51.154,11.107 50.825,10.4 50.492,9.696 49.825,9.25 49.154,8.81 48.15,8.8 46.65,8.852 45.9,9.775 45.15,10.692 45.15,11.9 45.15,13.108 45.9,14.025 46.65,14.948 48.15,15 49.154,14.99 49.825,14.55 50.492,14.104 50.825,13.4"/><path fill="#A6A8AC" d="M45.825,55.425Q45.382,55.129 44.825,54.975 44.265,54.829 43.6,54.825 43.108,54.82 42.675,54.9 42.242,54.996 41.875,55.175 41.126,55.516 40.625,56.1 40.126,56.69 39.875,57.425 39.626,58.162 39.625,58.95 39.626,59.723 39.875,60.45 40.126,61.185 40.625,61.775 41.126,62.37 41.875,62.725 42.242,62.892 42.675,62.975 43.108,63.067 43.6,63.075 44.266,63.06 44.825,62.9 45.382,62.746 45.825,62.45 46.721,61.859 47.175,60.925 47.392,60.466 47.5,59.975 47.605,59.475 47.6,58.95 47.605,58.425 47.5,57.925 47.392,57.421 47.175,56.95 46.721,56.015 45.825,55.425"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M47.125,56.975Q46.682,56.042 45.8,55.45 44.92,54.866 43.6,54.85 41.63,54.912 40.65,56.125 39.655,57.346 39.65,58.95 39.655,60.542 40.65,61.75 41.63,62.976 43.6,63.05 44.92,63.022 45.8,62.425 46.682,61.846 47.125,60.925 47.57,59.994 47.575,58.95 47.57,57.905 47.125,56.975"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M47.125,56.975Q46.682,56.042 45.8,55.45 44.92,54.866 43.6,54.85 41.63,54.912 40.65,56.125 39.655,57.346 39.65,58.95 39.655,60.542 40.65,61.75 41.63,62.976 43.6,63.05 44.92,63.022 45.8,62.425 46.682,61.846 47.125,60.925 47.57,59.994 47.575,58.95 47.57,57.905 47.125,56.975"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M73.675,27.95Q72.614,24.768 72.6,21.1M73.675,27.95Q74.738,31.122 76.625,33.525 78.523,35.938 81.025,37.3 83.509,38.655 86.375,38.675"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M71.975,25.775Q72.465,23.535 72.475,21.1M71.975,25.775Q71.495,28.014 70.6,29.975 69.7,31.931 68.45,33.525 67.192,35.123 65.65,36.275 64.122,37.428 62.375,38.05 60.614,38.67 58.7,38.675"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M73.1,50.95Q72.609,53.19 72.6,55.625M73.1,50.95Q73.58,48.711 74.475,46.75 75.375,44.794 76.625,43.2 77.883,41.602 79.425,40.45 80.966,39.297 82.725,38.675 84.473,38.055 86.375,38.05"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M71.975,50.95Q72.465,53.19 72.475,55.625M71.975,50.95Q71.495,48.711 70.6,46.75 69.7,44.794 68.45,43.2 67.192,41.602 65.65,40.45 64.122,39.297 62.375,38.675 60.614,38.055 58.7,38.05"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.925,73.9Q26.406,72.344 26.4,70.55M26.925,73.9Q27.448,75.463 28.375,76.65 29.302,77.833 30.525,78.5 31.744,79.164 33.15,79.175"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.2,73.275Q26.542,71.984 26.55,70.55M26.2,73.275Q25.865,74.57 25.25,75.65 24.624,76.718 23.775,77.5 22.934,78.291 21.925,78.725 20.919,79.164 19.8,79.175"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.75,83.9Q26.407,85.191 26.4,86.625M26.75,83.9Q27.085,82.605 27.7,81.525 28.325,80.457 29.175,79.675 30.016,78.884 31.025,78.45 32.031,78.011 33.15,78"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.2,83.9Q26.542,85.191 26.55,86.625M26.2,83.9Q25.865,82.605 25.25,81.525 24.624,80.457 23.775,79.675 22.934,78.884 21.925,78.45 20.919,78.011 19.8,78"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M20.175,3.975Q19.513,1.832 19.5,0M20.175,3.975Q20.85,6.11 21.975,8.05 23.088,9.987 24.45,11.225 25.813,12.476 27.225,12.525"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M18.625,2.575Q18.927,1.2 18.925,0M18.625,2.575Q18.31,3.949 17.75,5.35 17.192,6.762 16.45,8.05 15.713,9.324 14.85,10.325 13.996,11.336 13.075,11.925 12.141,12.511 11.2,12.525"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M19.825,21.525Q19.511,22.841 19.5,24.05M19.825,21.525Q20.128,20.218 20.675,18.925 21.232,17.631 21.975,16.475 22.712,15.32 23.575,14.425 24.429,13.534 25.35,13.025 26.284,12.51 27.225,12.5"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M18.625,21.525Q18.927,22.841 18.925,24.05M18.625,21.525Q18.31,20.218 17.75,18.925 17.192,17.631 16.45,16.475 15.713,15.32 14.85,14.425 13.996,13.534 13.075,13.025 12.141,12.51 11.2,12.5"/><path fill="#A6A8AC" d="M6.025,42.75Q6.03,41.957 5.7,41.25 5.355,40.533 4.675,40.075 4.005,39.633 3,39.625 2.243,39.622 1.675,39.875 1.105,40.146 0.725,40.6 0.343,41.045 0.15,41.6 -0.032,42.157 -0.025,42.75 -0.032,43.342 0.15,43.9 0.343,44.455 0.725,44.9 1.105,45.355 1.675,45.625 2.243,45.878 3,45.875 3.503,45.879 3.925,45.775 4.343,45.653 4.675,45.425 5.355,44.968 5.7,44.25 6.03,43.543 6.025,42.75"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M5.675,44.25Q6.004,43.543 6,42.75 6.004,41.957 5.675,41.25 5.341,40.546 4.675,40.1 4.004,39.66 3,39.65 1.5,39.702 0.75,40.625 0,41.542 0,42.75 0,43.958 0.75,44.875 1.5,45.798 3,45.85 4.004,45.84 4.675,45.4 5.341,44.954 5.675,44.25"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M5.675,44.25Q6.004,43.543 6,42.75 6.004,41.957 5.675,41.25 5.341,40.546 4.675,40.1 4.004,39.66 3,39.65 1.5,39.702 0.75,40.625 0,41.542 0,42.75 0,43.958 0.75,44.875 1.5,45.798 3,45.85 4.004,45.84 4.675,45.4 5.341,44.954 5.675,44.25"/>
|
2
|
+
</symbol><symbol id="reloj" overflow="visible"><path fill="#A6A8AC" d="M149.1,16.85Q152.6,16.85 155.05,14.4 157.5,11.95 157.5,8.45L157.5,8.4Q157.5,4.9 155.05,2.45 152.6,0 149.1,0L8.4,0Q4.9,0 2.45,2.45 0,4.9 0,8.4L0,8.45Q0,11.95 2.45,14.4 4.9,16.85 8.4,16.85L149.1,16.85"/><path fill="#A6A8AC" d="M149.1,146.6Q152.6,146.6 155.05,144.15 157.5,141.7 157.5,138.2L157.5,138.15Q157.5,134.65 155.05,132.2 152.6,129.75 149.1,129.75L8.4,129.75Q4.9,129.75 2.45,132.2 0,134.65 0,138.15L0,138.2Q0,141.7 2.45,144.15 4.9,146.6 8.4,146.6L149.1,146.6"/><path fill="none" stroke="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M133.8,31.75Q135.821,24.491 135.85,16.6L21.85,16.6Q21.867,24.491 23.875,31.75 25.89,39.015 29.625,45.375 33.364,51.725 38.55,56.9 43.725,62.086 50.075,65.825 56.435,69.547 63.7,71.55 70.959,73.57 78.85,73.6 86.741,73.57 94,71.55 101.252,69.547 107.6,65.825 113.963,62.086 119.15,56.9 124.324,51.725 128.05,45.375 131.784,39.015 133.8,31.75"/><path fill="#A6A8AC" d="M134.725,122.35Q133.572,116.775 131.4,111.65 129.215,106.518 126.125,101.95 123.046,97.399 119.175,93.525 115.289,89.64 110.725,86.55 106.169,83.472 101.05,81.3 95.924,79.127 90.35,77.975 84.769,76.833 78.85,76.825 70.947,76.847 63.675,78.85 56.412,80.868 50.05,84.6 43.703,88.342 38.525,93.525 33.342,98.702 29.6,105.05 25.868,111.413 23.85,118.675 21.847,125.948 21.825,133.85L21.85,133.875 135.85,133.875 135.875,133.85Q135.867,127.932 134.725,122.35"/><path fill="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M131.35,111.65Q126.955,101.354 119.15,93.55 111.334,85.733 101.025,81.325 90.725,76.924 78.85,76.85 70.959,76.867 63.7,78.875 56.435,80.89 50.075,84.625 43.725,88.364 38.55,93.55 33.364,98.725 29.625,105.075 25.89,111.436 23.875,118.7 21.867,125.959 21.85,133.85L135.85,133.85Q135.763,121.962 131.35,111.65"/><path fill="none" stroke="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M131.35,111.65Q126.955,101.354 119.15,93.55 111.334,85.733 101.025,81.325 90.725,76.924 78.85,76.85 70.959,76.867 63.7,78.875 56.435,80.89 50.075,84.625 43.725,88.364 38.55,93.55 33.364,98.725 29.625,105.075 25.89,111.436 23.875,118.7 21.867,125.959 21.85,133.85L135.85,133.85Q135.763,121.962 131.35,111.65"/>
|
3
|
+
</symbol></defs><g id="Scene_1_l1" overflow="visible"><g style="display:none;"><use xlink:href="#estrellas" transform="matrix(0.443 0 0 0.443 29.2 10)"/><use xlink:href="#reloj" transform="matrix(0.443 0 0 0.443 50.3 51)"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="1.708s" keyTimes="0;1;1" values="none;inline;inline"/></g><use xlink:href="#estrellas" transform="matrix(0.443 0 0 0.443 29.2 10)"/><use xlink:href="#reloj" transform="matrix(0.443 0 0 0.443 50.3 51)"/><g id="arena" transform="matrix(0.443 0 0 0.443 71.25 70.7)"><path fill="#A6A8AC" d="M62.7,-0.025L0,-0.025 -0.025,0.025Q0.756,1.373 1.65,2.65 2.551,3.933 3.55,5.125 4.538,6.317 5.625,7.425 6.72,8.525 7.9,9.525 9.093,10.538 10.375,11.45 11.639,12.356 12.975,13.15 14.324,13.932 15.75,14.6 17.171,15.287 18.65,15.85 20.13,16.402 21.675,16.825 23.216,17.255 24.8,17.55 26.386,17.846 28.025,18 29.673,18.148 31.35,18.15 33.028,18.148 34.675,18 36.314,17.846 37.9,17.55 39.484,17.255 41.025,16.825 42.57,16.402 44.05,15.85 45.529,15.287 46.95,14.6 48.376,13.932 49.725,13.15 51.061,12.356 52.325,11.45 53.608,10.538 54.8,9.525 55.98,8.525 57.075,7.425 58.176,6.317 59.175,5.125 60.162,3.933 61.05,2.65 61.942,1.368 62.725,0L62.7,-0.025"/><path fill="#A6A8AC" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M52.825,11.05Q55.834,8.817 58.325,6.025 60.816,3.247 62.7,0L0,0Q1.884,3.247 4.375,6.025 6.866,8.817 9.875,11.05 12.886,13.275 16.325,14.85 19.768,16.42 23.55,17.25 27.325,18.089 31.35,18.1 35.375,18.089 39.15,17.25 42.932,16.42 46.375,14.85 49.814,13.275 52.825,11.05"/><path fill="none" stroke="#A6A8AC" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M52.825,11.05Q55.834,8.817 58.325,6.025 60.816,3.247 62.7,0L0,0Q1.884,3.247 4.375,6.025 6.866,8.817 9.875,11.05 12.886,13.275 16.325,14.85 19.768,16.42 23.55,17.25 27.325,18.089 31.35,18.1 35.375,18.089 39.15,17.25 42.932,16.42 46.375,14.85 49.814,13.275 52.825,11.05"/><path fill="#FFF" d="M62.7,57.85L62.725,57.775Q61.944,56.427 61.05,55.15 60.162,53.869 59.175,52.675 58.176,51.482 57.075,50.375 55.98,49.274 54.8,48.275 53.608,47.275 52.325,46.375 51.061,45.469 49.725,44.675 48.376,43.881 46.95,43.2 45.529,42.514 44.05,41.95 42.57,41.398 41.025,40.975 39.484,40.545 37.9,40.25 36.314,39.966 34.675,39.825 33.028,39.677 31.35,39.675 29.673,39.677 28.025,39.825 26.386,39.966 24.8,40.25 23.216,40.545 21.675,40.975 20.13,41.398 18.65,41.95 17.171,42.513 15.75,43.2 14.324,43.88 12.975,44.675 11.639,45.469 10.375,46.375 9.093,47.275 7.9,48.275 6.72,49.274 5.625,50.375 4.538,51.482 3.55,52.675 2.551,53.869 1.65,55.15 0.756,56.427 -0.025,57.775L0,57.85 62.7,57.85"/><path fill="#FFF" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M58.325,51.775Q55.834,48.983 52.825,46.75 49.814,44.525 46.375,42.95 42.932,41.38 39.15,40.55 35.375,39.71 31.35,39.7 27.325,39.71 23.55,40.55 19.768,41.38 16.325,42.95 12.886,44.525 9.875,46.75 6.866,48.983 4.375,51.775 1.884,54.553 0,57.8L62.7,57.8Q60.816,54.553 58.325,51.775"/><path fill="none" stroke="#FFF" stroke-width="3.15" stroke-linecap="round" stroke-linejoin="round" d="M58.325,51.775Q55.834,48.983 52.825,46.75 49.814,44.525 46.375,42.95 42.932,41.38 39.15,40.55 35.375,39.71 31.35,39.7 27.325,39.71 23.55,40.55 19.768,41.38 16.325,42.95 12.886,44.525 9.875,46.75 6.866,48.983 4.375,51.775 1.884,54.553 0,57.8L62.7,57.8Q60.816,54.553 58.325,51.775"/></g><g style="display:none;"><path fill="#A6A8AC" d="M87.351,85.7Q88.201,84.9 88.201,83.7 88.201,82.5 87.351,81.65 86.551,80.85 85.351,80.85 84.151,80.85 83.301,81.65 82.501,82.5 82.501,83.7 82.501,84.9 83.301,85.7 84.151,86.55 85.351,86.55 86.551,86.55 87.351,85.7"/><path fill="#A6A8AC" d="M87.351,93.2Q88.201,92.4 88.201,91.2 88.201,90 87.351,89.15 86.551,88.35 85.351,88.35 84.151,88.35 83.301,89.15 82.501,90 82.501,91.2 82.501,92.4 83.301,93.2 84.151,94.05 85.351,94.05 86.551,94.05 87.351,93.2"/><path fill="#A6A8AC" d="M87.351,100.7Q88.201,99.9 88.201,98.7 88.201,97.5 87.351,96.65 86.551,95.85 85.351,95.85 84.151,95.85 83.301,96.65 82.501,97.5 82.501,98.7 82.501,99.9 83.301,100.7 84.151,101.55 85.351,101.55 86.551,101.55 87.351,100.7"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="1.708s" keyTimes="0;0.098;0.146;0.244;0.293;0.39;0.439;0.537;0.585;0.683;0.732;0.829;0.878;0.976;1" values="none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;inline"/></g><g style="display:none;"><path fill="#A6A8AC" d="M87.351,83.05Q88.201,82.25 88.201,81.05 88.201,79.85 87.351,79 86.551,78.2 85.351,78.2 84.151,78.2 83.301,79 82.501,79.85 82.501,81.05 82.501,82.25 83.301,83.05 84.151,83.9 85.351,83.9 86.551,83.9 87.351,83.05"/><path fill="#A6A8AC" d="M87.351,90.55Q88.201,89.75 88.201,88.55 88.201,87.35 87.351,86.5 86.551,85.7 85.351,85.7 84.151,85.7 83.301,86.5 82.501,87.35 82.501,88.55 82.501,89.75 83.301,90.55 84.151,91.4 85.351,91.4 86.551,91.4 87.351,90.55"/><path fill="#A6A8AC" d="M87.351,98.05Q88.201,97.25 88.201,96.05 88.201,94.85 87.351,94 86.551,93.2 85.351,93.2 84.151,93.2 83.301,94 82.501,94.85 82.501,96.05 82.501,97.25 83.301,98.05 84.151,98.9 85.351,98.9 86.551,98.9 87.351,98.05"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="1.708s" keyTimes="0;0.049;0.098;0.195;0.244;0.341;0.39;0.488;0.537;0.634;0.683;0.78;0.829;0.927;0.976;1" values="none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;none"/></g><g><path fill="#A6A8AC" d="M87.351,80.45Q88.201,79.65 88.201,78.45 88.201,77.25 87.351,76.4 86.551,75.6 85.351,75.6 84.151,75.6 83.301,76.4 82.501,77.25 82.501,78.45 82.501,79.65 83.301,80.45 84.151,81.3 85.351,81.3 86.551,81.3 87.351,80.45"/><path fill="#A6A8AC" d="M87.351,87.95Q88.201,87.15 88.201,85.95 88.201,84.75 87.351,83.9 86.551,83.1 85.351,83.1 84.151,83.1 83.301,83.9 82.501,84.75 82.501,85.95 82.501,87.15 83.301,87.95 84.151,88.8 85.351,88.8 86.551,88.8 87.351,87.95"/><path fill="#A6A8AC" d="M87.351,95.45Q88.201,94.65 88.201,93.45 88.201,92.25 87.351,91.4 86.551,90.6 85.351,90.6 84.151,90.6 83.301,91.4 82.501,92.25 82.501,93.45 82.501,94.65 83.301,95.45 84.151,96.3 85.351,96.3 86.551,96.3 87.351,95.45"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="1.708s" keyTimes="0;0.049;0.146;0.195;0.293;0.341;0.439;0.488;0.585;0.634;0.732;0.78;0.878;0.927;1" values="inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;inline;none;none"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><svg xmlns:xlink="http://www.w3.org/1999/xlink" id="tout_lowcost3x" image-rendering="auto" baseProfile="basic" version="1.1" x="0px" y="0px" width="176" height="129" xmlns="http://www.w3.org/2000/svg"><g id="Scene_1_l1" overflow="visible"><g id="reloj" transform="matrix(0.443 0 0 0.443 50.3 51)"><path fill="#A6A8AC" d="M149.1,16.85Q152.6,16.85 155.05,14.4 157.5,11.95 157.5,8.45L157.5,8.4Q157.5,4.9 155.05,2.45 152.6,0 149.1,0L8.4,0Q4.9,0 2.45,2.45 0,4.9 0,8.4L0,8.45Q0,11.95 2.45,14.4 4.9,16.85 8.4,16.85L149.1,16.85"/><path fill="#A6A8AC" d="M149.1,146.6Q152.6,146.6 155.05,144.15 157.5,141.7 157.5,138.2L157.5,138.15Q157.5,134.65 155.05,132.2 152.6,129.75 149.1,129.75L8.4,129.75Q4.9,129.75 2.45,132.2 0,134.65 0,138.15L0,138.2Q0,141.7 2.45,144.15 4.9,146.6 8.4,146.6L149.1,146.6"/><path fill="none" stroke="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M133.8,31.75Q135.821,24.491 135.85,16.6L21.85,16.6Q21.867,24.491 23.875,31.75 25.89,39.015 29.625,45.375 33.364,51.725 38.55,56.9 43.725,62.086 50.075,65.825 56.435,69.547 63.7,71.55 70.959,73.57 78.85,73.6 86.741,73.57 94,71.55 101.252,69.547 107.6,65.825 113.963,62.086 119.15,56.9 124.324,51.725 128.05,45.375 131.784,39.015 133.8,31.75"/><path fill="#A6A8AC" d="M134.725,122.35Q133.572,116.775 131.4,111.65 129.215,106.518 126.125,101.95 123.046,97.399 119.175,93.525 115.289,89.64 110.725,86.55 106.169,83.472 101.05,81.3 95.924,79.127 90.35,77.975 84.769,76.833 78.85,76.825 70.947,76.847 63.675,78.85 56.412,80.868 50.05,84.6 43.703,88.342 38.525,93.525 33.342,98.702 29.6,105.05 25.868,111.413 23.85,118.675 21.847,125.948 21.825,133.85L21.85,133.875 135.85,133.875 135.875,133.85Q135.867,127.932 134.725,122.35"/><path fill="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M131.35,111.65Q126.955,101.354 119.15,93.55 111.334,85.733 101.025,81.325 90.725,76.924 78.85,76.85 70.959,76.867 63.7,78.875 56.435,80.89 50.075,84.625 43.725,88.364 38.55,93.55 33.364,98.725 29.625,105.075 25.89,111.436 23.875,118.7 21.867,125.959 21.85,133.85L135.85,133.85Q135.763,121.962 131.35,111.65"/><path fill="none" stroke="#A6A8AC" stroke-width="7.2" stroke-linecap="round" stroke-linejoin="round" d="M131.35,111.65Q126.955,101.354 119.15,93.55 111.334,85.733 101.025,81.325 90.725,76.924 78.85,76.85 70.959,76.867 63.7,78.875 56.435,80.89 50.075,84.625 43.725,88.364 38.55,93.55 33.364,98.725 29.625,105.075 25.89,111.436 23.875,118.7 21.867,125.959 21.85,133.85L135.85,133.85Q135.763,121.962 131.35,111.65"/></g><g id="estrellas" transform="matrix(0.443 0 0 0.443 29.2 10)"><path fill="#A6A8AC" d="M51.175,11.9Q51.18,11.107 50.85,10.4 50.505,9.683 49.825,9.225 49.155,8.783 48.15,8.775 47.394,8.772 46.825,9.025 46.255,9.296 45.875,9.75 45.493,10.195 45.3,10.75 45.118,11.307 45.125,11.9 45.118,12.492 45.3,13.05 45.493,13.605 45.875,14.05 46.255,14.505 46.825,14.775 47.394,15.028 48.15,15.025 48.653,15.029 49.075,14.925 49.493,14.803 49.825,14.575 50.505,14.118 50.85,13.4 51.18,12.693 51.175,11.9"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M50.825,13.4Q51.154,12.693 51.15,11.9 51.154,11.107 50.825,10.4 50.492,9.696 49.825,9.25 49.154,8.81 48.15,8.8 46.65,8.852 45.9,9.775 45.15,10.692 45.15,11.9 45.15,13.108 45.9,14.025 46.65,14.948 48.15,15 49.154,14.99 49.825,14.55 50.492,14.104 50.825,13.4"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M50.825,13.4Q51.154,12.693 51.15,11.9 51.154,11.107 50.825,10.4 50.492,9.696 49.825,9.25 49.154,8.81 48.15,8.8 46.65,8.852 45.9,9.775 45.15,10.692 45.15,11.9 45.15,13.108 45.9,14.025 46.65,14.948 48.15,15 49.154,14.99 49.825,14.55 50.492,14.104 50.825,13.4"/><path fill="#A6A8AC" d="M47.175,56.95Q46.721,56.015 45.825,55.425 45.382,55.129 44.825,54.975 44.265,54.829 43.6,54.825 43.108,54.82 42.675,54.9 42.242,54.996 41.875,55.175 41.126,55.516 40.625,56.1 40.126,56.69 39.875,57.425 39.626,58.162 39.625,58.95 39.626,59.723 39.875,60.45 40.126,61.185 40.625,61.775 41.126,62.37 41.875,62.725 42.242,62.892 42.675,62.975 43.108,63.067 43.6,63.075 44.266,63.06 44.825,62.9 45.382,62.746 45.825,62.45 46.721,61.859 47.175,60.925 47.392,60.466 47.5,59.975 47.605,59.475 47.6,58.95 47.605,58.425 47.5,57.925 47.392,57.421 47.175,56.95"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M47.125,56.975Q46.682,56.042 45.8,55.45 44.92,54.866 43.6,54.85 41.63,54.912 40.65,56.125 39.655,57.346 39.65,58.95 39.655,60.542 40.65,61.75 41.63,62.976 43.6,63.05 44.92,63.022 45.8,62.425 46.682,61.846 47.125,60.925 47.57,59.994 47.575,58.95 47.57,57.905 47.125,56.975"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M47.125,56.975Q46.682,56.042 45.8,55.45 44.92,54.866 43.6,54.85 41.63,54.912 40.65,56.125 39.655,57.346 39.65,58.95 39.655,60.542 40.65,61.75 41.63,62.976 43.6,63.05 44.92,63.022 45.8,62.425 46.682,61.846 47.125,60.925 47.57,59.994 47.575,58.95 47.57,57.905 47.125,56.975"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M73.675,27.95Q72.614,24.768 72.6,21.1M73.675,27.95Q74.738,31.122 76.625,33.525 78.523,35.938 81.025,37.3 83.509,38.655 86.375,38.675"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M71.975,25.775Q72.465,23.535 72.475,21.1M71.975,25.775Q71.495,28.014 70.6,29.975 69.7,31.931 68.45,33.525 67.192,35.123 65.65,36.275 64.122,37.428 62.375,38.05 60.614,38.67 58.7,38.675"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M73.1,50.95Q72.609,53.19 72.6,55.625M73.1,50.95Q73.58,48.711 74.475,46.75 75.375,44.794 76.625,43.2 77.883,41.602 79.425,40.45 80.966,39.297 82.725,38.675 84.473,38.055 86.375,38.05"/><path fill="none" stroke="#A6A8AC" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M71.975,50.95Q72.465,53.19 72.475,55.625M71.975,50.95Q71.495,48.711 70.6,46.75 69.7,44.794 68.45,43.2 67.192,41.602 65.65,40.45 64.122,39.297 62.375,38.675 60.614,38.055 58.7,38.05"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.925,73.9Q26.406,72.344 26.4,70.55M26.925,73.9Q27.448,75.463 28.375,76.65 29.302,77.833 30.525,78.5 31.744,79.164 33.15,79.175"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.2,73.275Q26.542,71.984 26.55,70.55M26.2,73.275Q25.865,74.57 25.25,75.65 24.624,76.718 23.775,77.5 22.934,78.291 21.925,78.725 20.919,79.164 19.8,79.175"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.75,83.9Q26.407,85.191 26.4,86.625M26.75,83.9Q27.085,82.605 27.7,81.525 28.325,80.457 29.175,79.675 30.016,78.884 31.025,78.45 32.031,78.011 33.15,78"/><path fill="none" stroke="#A6A8AC" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M26.2,83.9Q26.542,85.191 26.55,86.625M26.2,83.9Q25.865,82.605 25.25,81.525 24.624,80.457 23.775,79.675 22.934,78.884 21.925,78.45 20.919,78.011 19.8,78"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M20.175,3.975Q19.513,1.832 19.5,0M20.175,3.975Q20.85,6.11 21.975,8.05 23.088,9.987 24.45,11.225 25.813,12.476 27.225,12.525"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M18.625,2.575Q18.927,1.2 18.925,0M18.625,2.575Q18.31,3.949 17.75,5.35 17.192,6.762 16.45,8.05 15.713,9.324 14.85,10.325 13.996,11.336 13.075,11.925 12.141,12.511 11.2,12.525"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M19.825,21.525Q19.511,22.841 19.5,24.05M19.825,21.525Q20.128,20.218 20.675,18.925 21.232,17.631 21.975,16.475 22.712,15.32 23.575,14.425 24.429,13.534 25.35,13.025 26.284,12.51 27.225,12.5"/><path fill="none" stroke="#A6A8AC" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M18.625,21.525Q18.927,22.841 18.925,24.05M18.625,21.525Q18.31,20.218 17.75,18.925 17.192,17.631 16.45,16.475 15.713,15.32 14.85,14.425 13.996,13.534 13.075,13.025 12.141,12.51 11.2,12.5"/><path fill="#A6A8AC" d="M6.025,42.75Q6.03,41.957 5.7,41.25 5.355,40.533 4.675,40.075 4.005,39.633 3,39.625 2.243,39.622 1.675,39.875 1.105,40.146 0.725,40.6 0.343,41.045 0.15,41.6 -0.032,42.157 -0.025,42.75 -0.032,43.342 0.15,43.9 0.343,44.455 0.725,44.9 1.105,45.355 1.675,45.625 2.243,45.878 3,45.875 3.503,45.879 3.925,45.775 4.343,45.653 4.675,45.425 5.355,44.968 5.7,44.25 6.03,43.543 6.025,42.75"/><path fill="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M5.675,44.25Q6.004,43.543 6,42.75 6.004,41.957 5.675,41.25 5.341,40.546 4.675,40.1 4.004,39.66 3,39.65 1.5,39.702 0.75,40.625 0,41.542 0,42.75 0,43.958 0.75,44.875 1.5,45.798 3,45.85 4.004,45.84 4.675,45.4 5.341,44.954 5.675,44.25"/><path fill="none" stroke="#A6A8AC" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round" d="M5.675,44.25Q6.004,43.543 6,42.75 6.004,41.957 5.675,41.25 5.341,40.546 4.675,40.1 4.004,39.66 3,39.65 1.5,39.702 0.75,40.625 0,41.542 0,42.75 0,43.958 0.75,44.875 1.5,45.798 3,45.85 4.004,45.84 4.675,45.4 5.341,44.954 5.675,44.25"/></g><g style="display:none;"><path fill="#A6A8AC" stroke="#FFF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M133.763,43.082Q133.763,38.39 130.443,35.07 127.124,31.75 122.432,31.75 117.74,31.75 114.42,35.07 111.1,38.39 111.1,43.082 111.1,47.774 114.42,51.093 117.74,54.413 122.432,54.413 127.124,54.413 130.443,51.093 133.763,47.774 133.763,43.082"/><path fill="none" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M117.85,43.19L121.741,46.354"/><path fill="none" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M127.598,40.454L121.783,46.354"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="2.625s" keyTimes="0;0.508;1" values="none;inline;inline"/></g><g style="display:none;"><path fill="#A6A8AC" stroke="#FFF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M135.515,42.857Q135.515,37.534 131.748,33.767 127.981,30 122.657,30 117.334,30 113.567,33.767 109.8,37.534 109.8,42.857 109.8,48.181 113.567,51.948 117.334,55.715 122.657,55.715 127.981,55.715 131.748,51.948 135.515,48.181 135.515,42.857"/><path fill="none" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M117.299,43.321L121.713,46.911"/><path fill="none" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M128.359,40.217L121.762,46.911"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="2.625s" keyTimes="0;0.492;0.508;1" values="none;inline;none;none"/></g><g style="display:none;"><path fill="#A6A8AC" stroke="#FFF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M130.759,40.854Q130.759,37.706 128.531,35.478 126.303,33.25 123.154,33.25 120.006,33.25 117.778,35.478 115.55,37.706 115.55,40.854 115.55,44.003 117.778,46.231 120.006,48.459 123.154,48.459 126.303,48.459 128.531,46.231 130.759,44.003 130.759,40.854"/><path fill="none" stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" d="M120.306,40.987L122.916,43.11"/><path fill="none" stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" d="M126.847,39.151L122.945,43.11"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="2.625s" keyTimes="0;0.476;0.492;1" values="none;inline;none;none"/></g><g style="display:none;"><path fill="#A6A8AC" stroke="#FFF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" d="M129.33,41.565Q129.33,39.323 127.744,37.736 126.157,36.15 123.915,36.15 121.673,36.15 120.086,37.736 118.5,39.323 118.5,41.565 118.5,43.807 120.086,45.394 121.673,46.98 123.915,46.98 126.157,46.98 127.744,45.394 129.33,43.807 129.33,41.565"/><animate attributeName="display" fill="freeze" repeatCount="1" dur="2.625s" keyTimes="0;0.46;0.476;1" values="none;inline;none;none"/></g></g></svg>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Language.class_eval do
|
2
|
+
def test_only_fake_response
|
3
|
+
{status: Mumuki::Domain::Status::Submission::Failed, result: 'noop result'}
|
4
|
+
end
|
5
|
+
|
6
|
+
def run_tests!(*)
|
7
|
+
test_only_fake_response
|
8
|
+
end
|
9
|
+
|
10
|
+
def run_query!(*)
|
11
|
+
test_only_fake_response
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
Assignment.class_eval do
|
16
|
+
def failed!
|
17
|
+
update! status: :failed
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'Chapters flow', organization_workspace: :test do
|
4
|
+
let(:haskell) { create(:haskell) }
|
5
|
+
|
6
|
+
let!(:chapter) {
|
7
|
+
create(:chapter, name: 'Functional Programming', lessons: [
|
8
|
+
create(:lesson, name: 'Values and Functions', language: haskell, description: 'Values are everywhere...', exercises: [
|
9
|
+
create(:exercise, name: 'The Basic Values', description: "Let's say we want to declare a variable...")
|
10
|
+
]),
|
11
|
+
create(:lesson, name: 'Monads and Functors', language: haskell, description: 'Monds are everywhere too...', exercises: [
|
12
|
+
create(:exercise, name: 'The Maybe Functor', description: "Let's say we want to model absense of value...")
|
13
|
+
])
|
14
|
+
]) }
|
15
|
+
|
16
|
+
before { reindex_current_organization! }
|
17
|
+
|
18
|
+
context 'no appendix' do
|
19
|
+
scenario 'show chapter, no appendix' do
|
20
|
+
visit "/chapters/#{chapter.id}"
|
21
|
+
|
22
|
+
expect(page).to have_text('Functional Programming')
|
23
|
+
expect(page).to have_text('The Basic Values')
|
24
|
+
|
25
|
+
expect(page).to have_text('Monads and Functors')
|
26
|
+
expect(page).to have_text('The Maybe Functor')
|
27
|
+
|
28
|
+
expect(page).to_not have_text('Appendix')
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'with appendix' do
|
33
|
+
before { chapter.topic.update appendix: 'Check this article about endofunctors' }
|
34
|
+
|
35
|
+
scenario 'show chapter, with appendix' do
|
36
|
+
visit "/chapters/#{chapter.id}"
|
37
|
+
|
38
|
+
expect(page).to have_text('Functional Programming')
|
39
|
+
expect(page).to have_text('The Basic Values')
|
40
|
+
|
41
|
+
expect(page).to have_text('Monads and Functors')
|
42
|
+
expect(page).to have_text('The Maybe Functor')
|
43
|
+
|
44
|
+
expect(page).to have_text('Appendix')
|
45
|
+
end
|
46
|
+
|
47
|
+
scenario 'show appendix' do
|
48
|
+
visit "/chapters/#{chapter.id}/appendix"
|
49
|
+
expect(page).to have_text('Appendix')
|
50
|
+
expect(page).to have_text('endofunctors')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'Choose organization Flow' do
|
4
|
+
|
5
|
+
let(:user) { create(:user, permissions: {student: ''}) }
|
6
|
+
let(:user2) { create(:user, permissions: {student: 'pdep/*'}) }
|
7
|
+
let(:user3) { create(:user, permissions: {student: 'pdep/*:foo/*'}) }
|
8
|
+
let(:user4) { create(:user, permissions: {student: 'immersive-orga/*'}) }
|
9
|
+
|
10
|
+
before do
|
11
|
+
%w(pdep central foo immersive-orga).each do |it|
|
12
|
+
create(:organization,
|
13
|
+
name: it,
|
14
|
+
book: create(:book,
|
15
|
+
chapters: [create(:chapter, lessons: [create(:lesson)])],
|
16
|
+
name: it,
|
17
|
+
slug: "mumuki/mumuki-the-#{it}-book"))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
before { Organization.find_by_name('immersive-orga').tap { |it| it.immersive = true }.save! }
|
22
|
+
before { set_current_user! user }
|
23
|
+
|
24
|
+
context 'when organization exists' do
|
25
|
+
before { Organization.central.switch! }
|
26
|
+
|
27
|
+
scenario 'when visiting with implicit subdomain and no permissions' do
|
28
|
+
set_implicit_central!
|
29
|
+
|
30
|
+
visit '/'
|
31
|
+
|
32
|
+
expect(page).to have_text('Sign Out')
|
33
|
+
expect(page).not_to have_text('Do you want to go there?')
|
34
|
+
end
|
35
|
+
|
36
|
+
scenario 'when visiting with implicit subdomain and permissions to only one non-immersive organization' do
|
37
|
+
set_current_user! user2
|
38
|
+
set_implicit_central!
|
39
|
+
|
40
|
+
visit '/'
|
41
|
+
|
42
|
+
expect(page).to have_text('Sign Out')
|
43
|
+
expect(page).to have_text('Do you want to go there?')
|
44
|
+
end
|
45
|
+
|
46
|
+
scenario 'when visiting with implicit subdomain and permissions to only one immersive organization' do
|
47
|
+
set_current_user! user4
|
48
|
+
set_implicit_central!
|
49
|
+
|
50
|
+
visit '/'
|
51
|
+
|
52
|
+
expect(page).to have_text('Sign Out')
|
53
|
+
expect(page).not_to have_text('Do you want to go there?')
|
54
|
+
expect(page).to have_text('immersive-orga')
|
55
|
+
end
|
56
|
+
|
57
|
+
scenario 'when visiting with implicit subdomain and permissions to two or more organizations' do
|
58
|
+
set_current_user! user3
|
59
|
+
set_implicit_central!
|
60
|
+
|
61
|
+
visit '/'
|
62
|
+
|
63
|
+
expect(page).to have_text('Sign Out')
|
64
|
+
expect(page).to have_text('Do you want to go there?')
|
65
|
+
end
|
66
|
+
|
67
|
+
scenario 'when visiting central explicitly' do
|
68
|
+
set_subdomain_host!('central')
|
69
|
+
|
70
|
+
visit '/'
|
71
|
+
|
72
|
+
expect(page).not_to have_text('Do you want to go there?')
|
73
|
+
expect(page).not_to have_text('pdep')
|
74
|
+
end
|
75
|
+
|
76
|
+
scenario 'when visit foo subdomain' do
|
77
|
+
set_current_user! user3
|
78
|
+
set_subdomain_host!('foo')
|
79
|
+
|
80
|
+
visit '/'
|
81
|
+
|
82
|
+
expect(page).not_to have_text('Do you want to go there?')
|
83
|
+
expect(page).to have_text('foo')
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
scenario 'when organization does not exist' do
|
88
|
+
visit '/'
|
89
|
+
|
90
|
+
expect(page).to have_http_status(404)
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'Complements Flow', organization_workspace: :test do
|
4
|
+
let(:complement_not_in_path) { create(:complement) }
|
5
|
+
|
6
|
+
before { reindex_current_organization! }
|
7
|
+
|
8
|
+
let(:user) { User.find_by(name: 'testuser') }
|
9
|
+
|
10
|
+
context 'inexistent complement' do
|
11
|
+
scenario 'visit complement by id, unknown complement' do
|
12
|
+
visit '/complements/900000'
|
13
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'disable user flow', organization_workspace: :test do
|
4
|
+
let!(:current_organization) { Organization.current }
|
5
|
+
let(:user) { create(:user) }
|
6
|
+
|
7
|
+
let!(:chapter) {
|
8
|
+
create(:chapter, lessons: [
|
9
|
+
create(:lesson, guide: create(:guide))]) }
|
10
|
+
|
11
|
+
let(:book) { current_organization.book }
|
12
|
+
|
13
|
+
before { reindex_current_organization! }
|
14
|
+
|
15
|
+
before { set_current_user! user }
|
16
|
+
|
17
|
+
scenario 'enabled visitor' do
|
18
|
+
visit '/'
|
19
|
+
|
20
|
+
expect(page).to have_text('ム mumuki')
|
21
|
+
expect(page).to have_text(current_organization.book.name)
|
22
|
+
expect(user.reload.last_organization).to eq current_organization
|
23
|
+
end
|
24
|
+
|
25
|
+
scenario 'disable visitor' do
|
26
|
+
user.disable!
|
27
|
+
|
28
|
+
visit '/'
|
29
|
+
|
30
|
+
expect(page).to_not have_text('ム mumuki')
|
31
|
+
expect(page).to_not have_text(current_organization.book.name)
|
32
|
+
expect(page).to have_text('You are trying to visit a permamently disabled or deleted resource')
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'Dynamic Exam', organization_workspace: :test do
|
4
|
+
let(:user) { create(:user, id: 1) }
|
5
|
+
let(:user2) { create(:user, id: 2) }
|
6
|
+
|
7
|
+
let!(:problem) { build(:problem, description: 'do f = $someVariable', randomizations: { someVariable: { type: :one_of, value: %w(some_string some_other_string)} }) }
|
8
|
+
|
9
|
+
let!(:chapter) {
|
10
|
+
create(:chapter, lessons: [
|
11
|
+
create(:lesson, description: 'An awesome guide', exercises: [
|
12
|
+
problem
|
13
|
+
])
|
14
|
+
]) }
|
15
|
+
|
16
|
+
before { reindex_current_organization! }
|
17
|
+
|
18
|
+
context 'not logged user' do
|
19
|
+
scenario 'visit exercise by slug' do
|
20
|
+
visit "/exercises/#{problem.transparent_id}"
|
21
|
+
|
22
|
+
expect(page).to have_text('do f = some_string')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
context 'logged user' do
|
28
|
+
scenario 'visit exercise by transparent_id' do
|
29
|
+
set_current_user! user
|
30
|
+
visit "/exercises/#{problem.transparent_id}"
|
31
|
+
|
32
|
+
expect(page).to have_text('do f = some_other_string')
|
33
|
+
|
34
|
+
set_current_user! user2
|
35
|
+
visit "/exercises/#{problem.transparent_id}"
|
36
|
+
|
37
|
+
expect(page).to have_text('do f = some_string')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'Exams Flow', organization_workspace: :test do
|
4
|
+
let(:exam) { create(:exam, classroom_id: '12345') }
|
5
|
+
let(:other_exam) { create(:exam, organization: other_organization) }
|
6
|
+
let!(:exam_not_in_path) { create :exam }
|
7
|
+
|
8
|
+
let(:other_organization) { create(:organization, name: 'baz') }
|
9
|
+
|
10
|
+
let(:test_organization) { Organization.locate! 'test' }
|
11
|
+
let(:exam_with_no_submission_limits) { create(:exam, organization: test_organization, guide: guide) }
|
12
|
+
|
13
|
+
let(:capped_exam) { create(:exam, organization: test_organization, guide: problems_guide, max_choice_submissions: 2, max_problem_submissions: 5) }
|
14
|
+
|
15
|
+
let(:guide) { create(:guide, exercises: [exercise])}
|
16
|
+
let(:exercise) { create(:exercise, name: 'Exam Exercise') }
|
17
|
+
|
18
|
+
let(:problems_guide) { create(:guide, exercises: [choice_problem, code_problem])}
|
19
|
+
|
20
|
+
let(:choice_problem) { create(:problem, name: 'Exam Choice Problem', editor: :multiple_choice,
|
21
|
+
choices: [{ value: "A", checked: true }, { value: "B", checked: false }]) }
|
22
|
+
|
23
|
+
let(:code_problem) { create(:problem, name: 'Exam Code Problem') }
|
24
|
+
|
25
|
+
before { exam_with_no_submission_limits.index_usage! test_organization }
|
26
|
+
|
27
|
+
before { reindex_current_organization! }
|
28
|
+
|
29
|
+
context 'inexistent exam' do
|
30
|
+
scenario 'visit exam by id, not in path' do
|
31
|
+
visit "/exams/#{exam_not_in_path.id}"
|
32
|
+
expect(page).to have_text('You have no permissions for this content. Maybe you logged in with another account.')
|
33
|
+
end
|
34
|
+
|
35
|
+
scenario 'visit exam by id, unknown exam' do
|
36
|
+
visit '/exams/900000'
|
37
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
scenario 'visit exam not in path, by id, anonymous' do
|
42
|
+
visit "/exams/#{other_exam.id}"
|
43
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
44
|
+
end
|
45
|
+
|
46
|
+
scenario 'visit exam in path, by id, anonymous' do
|
47
|
+
visit "/exams/#{exam.id}"
|
48
|
+
|
49
|
+
expect(page).to have_text('You have no permissions for this content.')
|
50
|
+
end
|
51
|
+
|
52
|
+
scenario 'visit exam in path, by classroom id, anonymous' do
|
53
|
+
visit "/exams/#{exam.classroom_id}"
|
54
|
+
|
55
|
+
expect(page).to have_text('You have no permissions for this content.')
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'visit authorized exam for user' do
|
59
|
+
let(:user) { create(:user) }
|
60
|
+
let(:current_exam) { exam }
|
61
|
+
|
62
|
+
before do
|
63
|
+
current_exam.authorize! user
|
64
|
+
set_current_user! user
|
65
|
+
end
|
66
|
+
|
67
|
+
scenario 'in path, when there is no more time' do
|
68
|
+
expect_any_instance_of(Exam).to receive(:enabled_for?).and_return(false)
|
69
|
+
visit "/exams/#{current_exam.classroom_id}"
|
70
|
+
|
71
|
+
expect(page).to have_text('This content is no longer available.')
|
72
|
+
end
|
73
|
+
|
74
|
+
feature 'with no submission limits' do
|
75
|
+
let(:current_exam) { exam_with_no_submission_limits }
|
76
|
+
|
77
|
+
scenario 'in a particular exercise' do
|
78
|
+
visit "/exercises/#{exercise.id}"
|
79
|
+
|
80
|
+
expect(page).to have_text('Exam Exercise')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
feature 'with submission limits' do
|
85
|
+
let(:current_exam) { capped_exam }
|
86
|
+
|
87
|
+
feature 'when user has no remaining attempts' do
|
88
|
+
feature 'for code problem' do
|
89
|
+
before { 5.times { code_problem.submit_solution!(user, content: 'foo') } }
|
90
|
+
|
91
|
+
scenario do
|
92
|
+
visit "/exercises/#{code_problem.id}"
|
93
|
+
|
94
|
+
expect(page).to have_text('Exam Code Problem')
|
95
|
+
expect(page).to have_text('out of attempts')
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
feature 'for choice problem' do
|
100
|
+
before { 2.times { choice_problem.submit_solution!(user, content: 'foo') } }
|
101
|
+
|
102
|
+
scenario do
|
103
|
+
visit "/exercises/#{choice_problem.id}"
|
104
|
+
|
105
|
+
expect(page).to have_text('Exam Choice Problem')
|
106
|
+
expect(page).to have_text('out of attempts')
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
feature 'when user has remaining attempts' do
|
112
|
+
feature 'for code problem' do
|
113
|
+
before { 2.times { code_problem.submit_solution!(user, content: 'foo') } }
|
114
|
+
|
115
|
+
scenario do
|
116
|
+
visit "/exercises/#{code_problem.id}"
|
117
|
+
|
118
|
+
expect(page).to have_text('Exam Code Problem')
|
119
|
+
expect(page).to have_text('3 attempts remaining')
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
feature 'for choice problem' do
|
124
|
+
before { 1.times { choice_problem.submit_solution!(user, content: 'foo') } }
|
125
|
+
|
126
|
+
scenario do
|
127
|
+
visit "/exercises/#{choice_problem.id}"
|
128
|
+
|
129
|
+
expect(page).to have_text('Exam Choice Problem')
|
130
|
+
expect(page).to have_text('1 attempt remaining')
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -0,0 +1,240 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature 'Exercise Flow', organization_workspace: :test do
|
4
|
+
let(:user) { create(:user) }
|
5
|
+
|
6
|
+
let(:haskell) { create(:haskell) }
|
7
|
+
let(:gobstones) { create(:gobstones) }
|
8
|
+
|
9
|
+
let!(:problem_1) { build(:problem, name: 'Succ1', description: 'Description of Succ1', layout: :input_right, hint: 'lala') }
|
10
|
+
let!(:problem_2) { build(:problem, name: 'Succ2', description: 'Description of Succ2', layout: :input_right, editor: :hidden, language: gobstones) }
|
11
|
+
let!(:problem_3) { build(:problem, name: 'Succ3', description: 'Description of Succ3', layout: :input_right, editor: :upload, hint: 'lele') }
|
12
|
+
let!(:problem_4) { build(:problem, name: 'Succ4', description: 'Description of Succ4', layout: :input_bottom, extra: 'x = 2') }
|
13
|
+
let!(:problem_5) { build(:problem, name: 'Succ5', description: 'Description of Succ5', layout: :input_right, editor: :upload, hint: 'lele', language: gobstones) }
|
14
|
+
let!(:problem_6) { build(:problem, name: 'Succ6', description: 'Description of Succ6', layout: :input_right, editor: :hidden, language: haskell) }
|
15
|
+
let!(:problem_7) { build(:problem, name: 'Succ7', description: 'Description of Succ7', editor: :single_choice, choices: [{value: 'some choice', checked: true}]) }
|
16
|
+
let!(:playground_1) { build(:playground, name: 'Succ5', description: 'Description of Succ4', layout: :input_right) }
|
17
|
+
let!(:playground_2) { build(:playground, name: 'Succ6', description: 'Description of Succ4', layout: :input_right, extra: 'x = 4') }
|
18
|
+
let!(:reading) { build(:reading, name: 'Reading about Succ', description: 'Lets understand succ history') }
|
19
|
+
let!(:exercise_not_in_path) { create :exercise }
|
20
|
+
|
21
|
+
|
22
|
+
let!(:chapter) {
|
23
|
+
create(:chapter, name: 'Functional Programming', lessons: [
|
24
|
+
create(:lesson, name: 'getting-started', description: 'An awesome guide', language: haskell, exercises: [
|
25
|
+
problem_1, problem_2, problem_3, problem_4, reading, problem_5, problem_6, problem_7, playground_1, playground_2
|
26
|
+
])
|
27
|
+
]) }
|
28
|
+
|
29
|
+
before { reindex_current_organization! }
|
30
|
+
|
31
|
+
context 'inexistent exercise' do
|
32
|
+
scenario 'visit exercise transparently, not in path' do
|
33
|
+
visit "/exercises/#{exercise_not_in_path.transparent_id}"
|
34
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
35
|
+
end
|
36
|
+
|
37
|
+
scenario 'visit exercise transparently, unknown exercise' do
|
38
|
+
visit '/exercises/an_exercise_transparent_id'
|
39
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
40
|
+
end
|
41
|
+
|
42
|
+
scenario 'visit exercise by id, not in path' do
|
43
|
+
visit "/exercises/#{exercise_not_in_path.id}"
|
44
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
45
|
+
end
|
46
|
+
|
47
|
+
scenario 'visit exercise by id, unknown exercise' do
|
48
|
+
visit '/exercises/900000'
|
49
|
+
expect(page).to have_text('You may have mistyped the address or the page may have moved')
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'not logged user' do
|
54
|
+
scenario 'visit exercise transparently' do
|
55
|
+
visit "/exercises/#{problem_1.transparent_id}"
|
56
|
+
|
57
|
+
expect(page).to have_text('Succ1')
|
58
|
+
expect(page).to_not have_text('Console')
|
59
|
+
expect(page).to_not have_text('Solution')
|
60
|
+
expect(page).to have_text('need a hint?')
|
61
|
+
expect(page).to have_text('Description of Succ1')
|
62
|
+
end
|
63
|
+
|
64
|
+
scenario 'visit exercise by id, upload layout' do
|
65
|
+
visit "/exercises/#{problem_3.id}"
|
66
|
+
|
67
|
+
expect(page).to have_text('Succ3')
|
68
|
+
expect(page).to_not have_text('Console')
|
69
|
+
expect(page).to_not have_text('Solution')
|
70
|
+
expect(page).to have_text('need a hint?')
|
71
|
+
expect(page).to_not have_selector('.upload')
|
72
|
+
end
|
73
|
+
|
74
|
+
scenario 'should not see the edit exercise link' do
|
75
|
+
visit "/exercises/#{problem_2.id}"
|
76
|
+
expect(page).not_to have_xpath("//a[@title='Edit']")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
context 'logged user' do
|
82
|
+
before { set_current_user! user }
|
83
|
+
let(:writer) { create(:user, permissions: {student: 'private/*', writer: 'private/*'}) }
|
84
|
+
|
85
|
+
scenario 'visit exercise transparently' do
|
86
|
+
visit "/exercises/#{problem_1.transparent_id}"
|
87
|
+
|
88
|
+
expect(page).to have_text('Succ1')
|
89
|
+
expect(page).to have_text('Console')
|
90
|
+
expect(page).to have_text('need a hint?')
|
91
|
+
expect(page).to have_text('Description of Succ1')
|
92
|
+
end
|
93
|
+
|
94
|
+
describe 'embedded mode' do
|
95
|
+
scenario 'visit exercise by id, standalone mode' do
|
96
|
+
visit "/exercises/#{problem_1.id}"
|
97
|
+
expect(page).to have_text('Functional Programming 1')
|
98
|
+
expect(page).to have_text('Profile')
|
99
|
+
end
|
100
|
+
scenario 'visit exercise by id, embedded mode in non embeddable organization' do
|
101
|
+
visit "/exercises/#{problem_1.id}?embed=true"
|
102
|
+
expect(page).to have_text('Functional Programming 1')
|
103
|
+
expect(page).to have_text('Profile')
|
104
|
+
end
|
105
|
+
scenario 'visit exercise by id, embedded mode in embeddable organization' do
|
106
|
+
Organization.current.tap { |it| it.embeddable = true }.save!
|
107
|
+
|
108
|
+
visit "/exercises/#{problem_1.id}?embed=true"
|
109
|
+
expect(page).to_not have_text('Functional Programming 1')
|
110
|
+
expect(page).to_not have_text('Profile')
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
|
115
|
+
scenario 'visit exercise by id, editor right layout' do
|
116
|
+
visit "/exercises/#{problem_1.id}"
|
117
|
+
|
118
|
+
expect(page).to have_text('Succ1')
|
119
|
+
expect(page).to have_text('Console')
|
120
|
+
expect(page).to have_text('Solution')
|
121
|
+
expect(page).to have_text('need a hint?')
|
122
|
+
expect(page).to_not have_selector('.upload')
|
123
|
+
end
|
124
|
+
|
125
|
+
scenario 'visit exercise by id, hidden layout, no hint, not queriable language' do
|
126
|
+
visit "/exercises/#{problem_2.id}"
|
127
|
+
|
128
|
+
expect(page).to have_text('Succ2')
|
129
|
+
expect(page).to have_text('Continue')
|
130
|
+
expect(page).to_not have_text('Submit')
|
131
|
+
|
132
|
+
expect(page).to_not have_text('Console')
|
133
|
+
expect(page).to_not have_text('Solution')
|
134
|
+
expect(page).to_not have_text('need a hint?')
|
135
|
+
expect(page).to_not have_selector('.upload')
|
136
|
+
end
|
137
|
+
|
138
|
+
scenario 'visit exercise by id, hidden layout, no hint, queriable language' do
|
139
|
+
visit "/exercises/#{problem_6.id}"
|
140
|
+
|
141
|
+
expect(page).to have_text('Succ6')
|
142
|
+
expect(page).to_not have_text('Console')
|
143
|
+
expect(page).to_not have_text('Solution')
|
144
|
+
expect(page).to_not have_text('need a hint?')
|
145
|
+
expect(page).to_not have_selector('.upload')
|
146
|
+
end
|
147
|
+
|
148
|
+
|
149
|
+
scenario 'visit exercise by id, upload layout' do
|
150
|
+
visit "/exercises/#{problem_3.id}"
|
151
|
+
|
152
|
+
expect(page).to have_text('Succ3')
|
153
|
+
expect(page).to have_text('Console')
|
154
|
+
expect(page).to have_text('Solution')
|
155
|
+
expect(page).to have_text('need a hint?')
|
156
|
+
expect(page).to have_selector('.upload')
|
157
|
+
end
|
158
|
+
|
159
|
+
scenario 'visit exercise by id, upload layout, not queriable language' do
|
160
|
+
visit "/exercises/#{problem_5.id}"
|
161
|
+
|
162
|
+
expect(page).to have_text('Succ5')
|
163
|
+
expect(page).to_not have_text('Console')
|
164
|
+
expect(page).to have_text('need a hint?')
|
165
|
+
expect(page).to have_selector('.upload')
|
166
|
+
expect(problem_5.language.extension).to eq('gbs')
|
167
|
+
expect(page.find("//div[@class = 'form-group']/input")['accept']).to eq(".gbs")
|
168
|
+
end
|
169
|
+
|
170
|
+
scenario 'visit exercise by id, input_bottom layout, extra, no hint' do
|
171
|
+
visit "/exercises/#{problem_4.id}"
|
172
|
+
|
173
|
+
expect(page).to have_text('Succ4')
|
174
|
+
expect(page).to have_text('x = 2')
|
175
|
+
expect(page).to have_text('Console')
|
176
|
+
expect(page).to have_text('Solution')
|
177
|
+
expect(page).to_not have_text('need a hint?')
|
178
|
+
expect(page).to_not have_selector('.upload')
|
179
|
+
end
|
180
|
+
|
181
|
+
scenario 'visit playground by id, no extra, no hint' do
|
182
|
+
visit "/exercises/#{playground_1.id}"
|
183
|
+
|
184
|
+
expect(page).to have_text('Succ5')
|
185
|
+
expect(page).to_not have_text('Console')
|
186
|
+
expect(page).to_not have_text('Solution')
|
187
|
+
expect(page).to_not have_text('need a hint?')
|
188
|
+
expect(page).to_not have_selector('.upload')
|
189
|
+
end
|
190
|
+
|
191
|
+
scenario 'visit playground by id, with extra, no hint' do
|
192
|
+
visit "/exercises/#{playground_2.id}"
|
193
|
+
|
194
|
+
expect(page).to have_text('Succ6')
|
195
|
+
expect(page).to_not have_text('Console')
|
196
|
+
expect(page).to_not have_text('Solution')
|
197
|
+
expect(page).to_not have_text('need a hint?')
|
198
|
+
expect(page).to have_text('x = 4')
|
199
|
+
expect(page).to_not have_selector('.upload')
|
200
|
+
end
|
201
|
+
|
202
|
+
scenario 'visit inner reading by id' do
|
203
|
+
visit "/exercises/#{reading.id}"
|
204
|
+
|
205
|
+
expect(page).to have_text('Reading about Succ')
|
206
|
+
expect(page).to have_text('Lets understand succ history')
|
207
|
+
|
208
|
+
expect(page).to_not have_text('Console')
|
209
|
+
expect(page).to_not have_text('Solution')
|
210
|
+
expect(page).to_not have_text('need a hint?')
|
211
|
+
expect(page).to_not have_selector('.upload')
|
212
|
+
end
|
213
|
+
|
214
|
+
scenario 'visit solved choices exercise' do
|
215
|
+
problem_7.submit_solution!(user, content: '').passed!
|
216
|
+
visit "/exercises/#{problem_7.id}"
|
217
|
+
|
218
|
+
expect(page).to have_text 'The answer is correct!'
|
219
|
+
end
|
220
|
+
|
221
|
+
scenario 'visit failed choices exercise' do
|
222
|
+
problem_7.submit_solution!(user, content: '').failed!
|
223
|
+
visit "/exercises/#{problem_7.id}"
|
224
|
+
|
225
|
+
expect(page).to have_text 'The answer is wrong'
|
226
|
+
end
|
227
|
+
|
228
|
+
scenario 'with no permissions should not see the edit exercise link' do
|
229
|
+
visit "/exercises/#{problem_2.id}"
|
230
|
+
expect(page).not_to have_xpath("//a[@title='Edit']")
|
231
|
+
end
|
232
|
+
|
233
|
+
scenario 'writer should see the edit exercise link' do
|
234
|
+
set_current_user! writer
|
235
|
+
|
236
|
+
visit "/exercises/#{problem_2.id}"
|
237
|
+
expect(page).to have_xpath("//a[@title='Edit']")
|
238
|
+
end
|
239
|
+
end
|
240
|
+
end
|