strongmind_multi_version_common_cartridge 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/gem-push.yml +46 -0
  3. data/.gitignore +14 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +60 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE +674 -0
  8. data/PULL_REQUEST_TEMPLATE.md +7 -0
  9. data/README.md +36 -0
  10. data/lib/multi_version_common_cartridge/cartridge.rb +58 -0
  11. data/lib/multi_version_common_cartridge/cartridge_versions.rb +25 -0
  12. data/lib/multi_version_common_cartridge/item.rb +29 -0
  13. data/lib/multi_version_common_cartridge/manifest.rb +33 -0
  14. data/lib/multi_version_common_cartridge/resources/basic_lti_link.rb +46 -0
  15. data/lib/multi_version_common_cartridge/resources/canvas_assignment.rb +30 -0
  16. data/lib/multi_version_common_cartridge/resources/canvas_course_settings.rb +29 -0
  17. data/lib/multi_version_common_cartridge/resources/canvas_elements/assignment.rb +33 -0
  18. data/lib/multi_version_common_cartridge/resources/canvas_elements/course_settings.rb +111 -0
  19. data/lib/multi_version_common_cartridge/resources/resource.rb +23 -0
  20. data/lib/multi_version_common_cartridge/sax_machine_nokogiri_xml_saver.rb +85 -0
  21. data/lib/multi_version_common_cartridge/version.rb +19 -0
  22. data/lib/multi_version_common_cartridge/writers/basic_lti_extension_writer.rb +45 -0
  23. data/lib/multi_version_common_cartridge/writers/basic_lti_link_writer.rb +242 -0
  24. data/lib/multi_version_common_cartridge/writers/basic_lti_vendor_writer.rb +66 -0
  25. data/lib/multi_version_common_cartridge/writers/canvas_assignment_writer.rb +104 -0
  26. data/lib/multi_version_common_cartridge/writers/canvas_course_settings_writer.rb +218 -0
  27. data/lib/multi_version_common_cartridge/writers/cartridge_writer.rb +85 -0
  28. data/lib/multi_version_common_cartridge/writers/factory.rb +61 -0
  29. data/lib/multi_version_common_cartridge/writers/item_writer.rb +60 -0
  30. data/lib/multi_version_common_cartridge/writers/manifest_metadata_writer.rb +62 -0
  31. data/lib/multi_version_common_cartridge/writers/manifest_organization_writer.rb +68 -0
  32. data/lib/multi_version_common_cartridge/writers/manifest_resources_writer.rb +48 -0
  33. data/lib/multi_version_common_cartridge/writers/manifest_writer.rb +88 -0
  34. data/lib/multi_version_common_cartridge/writers/resource_writer.rb +54 -0
  35. data/lib/multi_version_common_cartridge/writers/supported_versions.rb +37 -0
  36. data/lib/multi_version_common_cartridge/xml_definitions.rb +149 -0
  37. data/lib/multi_version_common_cartridge.rb +45 -0
  38. data/multi_version_common_cartridge.gemspec +27 -0
  39. metadata +164 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7861854f0bf3a6b3e3f35954864edf86fa8b5c30bead75f87d057f5e47631a91
4
+ data.tar.gz: 853cc0d321b1e99f32d2fc43ea9cd927d69dd45cdc269f43b6c1f152518835ae
5
+ SHA512:
6
+ metadata.gz: cf48d095be43393ac36dc58f94f7101a43285697801c64bc6181e9dd0b42978c51230a29efd5252d1cb449d91279dd033a23c4d350e5ff70485133f013857f4a
7
+ data.tar.gz: 31c861c0b9af7d61cc14dd4961a3bc802db51f7cd6334e8b0f19fb7b3641641f4e5ea9a81367e254b96c581a9395dfdc952198683e5836db4f81a457b22b8d64
@@ -0,0 +1,46 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ build:
11
+ name: Build + Publish
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: read
15
+ packages: write
16
+ strategy:
17
+ matrix:
18
+ ruby:
19
+ - '3.2.2'
20
+
21
+ steps:
22
+ - uses: actions/checkout@v3
23
+ - name: Set up Ruby
24
+ uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: ${{ matrix.ruby }}
27
+
28
+ - name: Install
29
+ run: bundle install
30
+ env:
31
+ BUNDLE_RUBYGEMS__PKG__GITHUB__COM: ${{github.repository_owner}}:${{secrets.GITHUB_TOKEN}}
32
+
33
+ - name: Test
34
+ run: bundle exec rspec
35
+
36
+ - name: Publish to RubyGems
37
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
38
+ run: |
39
+ mkdir -p $HOME/.gem
40
+ touch $HOME/.gem/credentials
41
+ chmod 0600 $HOME/.gem/credentials
42
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
43
+ gem build *.gemspec
44
+ gem push *.gem
45
+ env:
46
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ *.gem
2
+ *~
3
+ .DS_Store
4
+ /.config
5
+ /coverage/
6
+ /spec/reports/
7
+ /spec/examples.txt
8
+ /tmp/
9
+ /.bundle/
10
+ /vendor/bundle
11
+ Gemfile.lock
12
+ .ruby-version
13
+ .ruby-gemset
14
+ .idea
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,60 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ AllCops:
5
+ DisplayCopNames: true
6
+ NewCops: enable
7
+ TargetRubyVersion: 3.0
8
+ Include:
9
+ - '**/Rakefile'
10
+ - '**/config.ru'
11
+ - '**/*.rb'
12
+ Exclude:
13
+ - 'config/**/*'
14
+ - 'script/**/*'
15
+ - 'vendor/**/*'
16
+
17
+ Style/Documentation:
18
+ Enabled: false
19
+
20
+ Style/FrozenStringLiteralComment:
21
+ Enabled: false
22
+
23
+ Style/AccessModifierDeclarations:
24
+ EnforcedStyle: inline
25
+
26
+ Layout/LineLength:
27
+ Max: 100
28
+
29
+ RSpec/NestedGroups:
30
+ Max: 5
31
+
32
+ RSpec/ExampleLength:
33
+ Max: 19
34
+
35
+ Naming/VariableNumber:
36
+ EnforcedStyle: snake_case
37
+
38
+ Naming/PredicateName:
39
+ ForbiddenPrefixes:
40
+ - is_
41
+ # Exclude Rspec specs because there is a strong convention to write spec
42
+ # helpers in the form of `have_something` or `be_something`.
43
+ Exclude:
44
+ - 'spec/**/*'
45
+
46
+ # Exclude Rspec specs because top level describe blocks are going to have lots
47
+ # more than 25 lines.
48
+ Metrics/BlockLength:
49
+ Exclude:
50
+ - 'spec/**/*'
51
+
52
+ # Exclude Rspec specs because we can easily have more than 3 levels of nesting
53
+ # of describe, context, and it blocks.
54
+ Metrics/BlockNesting:
55
+ Exclude:
56
+ - 'spec/**/*'
57
+
58
+ RSpec/MultipleMemoizedHelpers:
59
+ Exclude:
60
+ - 'spec/**/*'
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+ ruby '>=3.2'