░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/lib/canvas/migration/external_content
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: service_interface.rb
# frozen_string_literal: true # # Copyright (C) 2016 - present Instructure, Inc. # # This file is part of Canvas. # # Canvas is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the Free # Software Foundation, version 3 of the License. # # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more # details. # # You should have received a copy of the GNU Affero General Public License along # with this program. If not, see <http://www.gnu.org/licenses/>. module Canvas::Migration::ExternalContent class ServiceInterface class << self def validate_service!(service) # an external content service should respond to the following methods: # # applies_to_course?(course) # is the service on for this course? # # begin_export(course, opts) # tell the service to begin an export # data sent back here will be sent to retrieve_export # # if the export is selective, opts[:selective] will be true # and opts[:exported_assets] will be a set of exported asset strings # # export_completed?(export_data) # check to see if the export is ready to be downloaded # # retrieve_export(export_data) # return the data that we need to save in the package # # send_imported_content(course, content_migration, imported_content) # gives back the translated data for importing to the service # return information needed to verify import is complete # # import_completed?(import_data) # verifies that the import completed methods = { applies_to_course?: 1, begin_export: 2, export_completed?: 1, retrieve_export: 1, send_imported_content: 3, import_completed?: 1 } methods.each do |method_name, arity| raise "external content service needs to implement #{method_name}" unless service.respond_to?(method_name) m = service.method(method_name) raise "method #{method_name} should accept #{arity} argument(s)" unless m.arity == arity end end end end end
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 migrator.rb
RB
5.6 KB
2023-09-24 03:36
EDIT
📄 service_interface.rb
RB
2.4 KB
2023-09-24 03:36
EDIT
📄 translator.rb
RB
4.1 KB
2023-09-24 03:36
EDIT