canvas-lms/gems
Maya Tyner 9310c33d81 update text to include "concluded" in report params
The guide docs already note that "Include Deleted" param
also includes concluded courses. This change is just to
note this in the UI by switching to "Included Deleted/Concluded".

flag=none
fixes FOO-4782

test-plan:
- update tests
- follow steps in the guide linked in 4782

Change-Id: I9102f6e04608251ec7eb2138a2f30ba482846811
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357539
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2024-09-18 15:27:52 +00:00
..
activesupport-suspend_callbacks make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
acts_as_list don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
adheres_to_policy make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
attachment_fu bundle update rubocop 2024-09-04 20:59:15 +00:00
autoextend don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
bookmarked_collection don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
broadcast_policy don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_breach_mitigation make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
canvas_cache add alternative way to allow unsupported redis methods 2024-09-16 15:43:09 +00:00
canvas_cassandra make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
canvas_color rubocop: Style/ArgumentsForwarding 2024-09-13 14:43:09 +00:00
canvas_crummy make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
canvas_dynamodb make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
canvas_errors don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_ext don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_http don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_kaltura don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_mimetype_fu make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
canvas_panda_pub don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_partman rubocop: Style/ArgumentsForwarding 2024-09-13 14:43:09 +00:00
canvas_quiz_statistics make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
canvas_sanitize don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_security don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_slug don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_sort don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_stringex don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_text_helper don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_time don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
canvas_unzip don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
config_file don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
csv_diff don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
diigo don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
dr_diff don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
dynamic_settings don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
event_stream make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
google_drive don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
html_text_helper make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
i18n_extraction make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
i18n_tasks make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
incoming_mail_processor make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
json_token don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
legacy_multipart make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
live_events don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
lti-advantage make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
lti_outbound make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
paginated_collection don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
plugins update text to include "concluded" in report params 2024-09-18 15:27:52 +00:00
request_context don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
rubocop-canvas make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
stringify_ids don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
tatl_tael don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
turnitin_api make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
twitter don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00
utf8_cleaner make Ruby 3.3 mandatory in codebase 2024-09-12 20:26:17 +00:00
workflow rubocop: Style/ArgumentsForwarding 2024-09-13 14:43:09 +00:00
README.md Remove auditor cassandra support 2023-04-03 15:40:22 +00:00
gemfile_prefix.rb add Rails 7.1 lockfiles for embedded gems 2024-02-14 22:30:10 +00:00
test_all_gems.sh don't unconditionally add `--format doc` to gem rspec options 2024-09-13 14:44:40 +00:00

README.md

Gems

This folder is a place to extract modular functionality from canvas. Canvas's Gemfile arrangement is enabled to read gems from this path locally without installing from a remote source. This is valuable for a few reasons:

  • it prevents circular dependencies (bundler won't allow it)
  • modularized code cannot bind to specific domain concepts on canvas models
  • gems can have their specs run independently, without needing to load all of canvas, saving iteration time
  • it allows for eventual build optimization via only running specs for the transitive closure of parents depending on a gem where a change is.

There are some tradeoffs:

  • spreads canvas over more subdirectories, giving some mental overhad to traversing the entire codebase.
  • modular tests necessarily don't test integration with canvas concepts, so solid integration tests in the app are still a requirement.
  • total SERIALIZED build time goes up because each gem loads it's specs in a new process rather than all running within an already booted canvas process.

[TODO] eventually write more on whether we feel like those tradeoffs are good ones, and what the best practices are to leverage this pattern for max-gain/min-pain.

Testing

To test all the gems:

cd gems
./test_all_gems.sh

To test an individual gem

Run ./test.sh inside the gem's folder. This is basically the same as:

cd gems/google_drive
bundle
rspec