Class: LtiTemplateBuilder::LtiExtension

Inherits:
Recipe
  • Object
show all
Defined in:
lib/lti_template_builder/recipes/lti_extension/lti_extension.rb

Instance Attribute Summary

Attributes inherited from Recipe

#after_bundle_commands, #gem_dependencies, #gem_dev_dependencies

Instance Method Summary collapse

Methods inherited from Recipe

#initialize, #render, #template

Constructor Details

This class inherits a constructor from LtiTemplateBuilder::Recipe

Instance Method Details

#setup(args) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/lti_template_builder/recipes/lti_extension/lti_extension.rb', line 3

def setup(args)
  @gem_dependencies << ["ims-lti"]
  @enabled_extensions = args[:enabled_extensions] || []
  @after_bundle_commands << "generate 'controller lti index'"

  @additional_configs = []
  @additional_configs << "      tc.canvas_homework_submission!(enabled: true)" if @enabled_extensions.include? :homework_submission
  @additional_configs << "      tc.canvas_editor_button!(enabled: true)"       if @enabled_extensions.include? :editor_button
  @additional_configs << "      tc.canvas_resource_selection!(enabled: true)"  if @enabled_extensions.include? :resource_selection
  @additional_configs << "      tc.canvas_account_navigation!(enabled: true)"  if @enabled_extensions.include? :account_navigation
  @additional_configs << "      tc.canvas_course_navigation!(enabled: true)"   if @enabled_extensions.include? :course_navigation
  @additional_configs << "      tc.canvas_user_navigation!(enabled: true)"     if @enabled_extensions.include? :user_navigation

  @extra_expects = ["\n"]
  @extra_expects << "          expect(response.body).to include('<lticm:options name=\"homework_submission\">')" if @enabled_extensions.include? :homework_submission
  @extra_expects << "          expect(response.body).to include('<lticm:options name=\"editor_button\">')"       if @enabled_extensions.include? :editor_button
  @extra_expects << "          expect(response.body).to include('<lticm:options name=\"resource_selection\">')"  if @enabled_extensions.include? :resource_selection
  @extra_expects << "          expect(response.body).to include('<lticm:options name=\"account_navigation\">')"  if @enabled_extensions.include? :account_navigation
  @extra_expects << "          expect(response.body).to include('<lticm:options name=\"course_navigation\">')"   if @enabled_extensions.include? :course_navigation
  @extra_expects << "          expect(response.body).to include('<lticm:options name=\"user_navigation\">')"     if @enabled_extensions.include? :user_navigation
end