Sha256: a11d0e172d46660410508d496258959bc7f2f34188c8fa2f8df6af5cd981bdb8
Contents?: true
Size: 1.68 KB
Versions: 117
Compression:
Stored size: 1.68 KB
Contents
require "rails/generators" module CanvasSync class InstallLiveEventsGenerator < Rails::Generators::Base source_root File.expand_path("../templates/services/live_events", __FILE__) class_option :events, type: :string, required: true def autogenerated_event_warning <<-HERE.strip_heredoc # # AUTO GENERATED LIVE EVENT # This was auto generated by the CanvasSync Gem. # You can customize it as needed, but make sure you test # any changes you make to the auto generated methods. # # LiveEvent message formats can be found at https://canvas.instructure.com/doc/api/file.live_events.html # In the general case, LiveEvent message content should not be trusted - it is highly possible that events may # arrive out of order. Most of the CanvasSync LiveEvent templates solve this by always fetching the object from the API. # HERE end # Generates the specified live events. Invoke with: # # bin/rails generate canvas_sync:install_live_events --events users,courses # # Install all live events with: # # bin/rails generate canvas_sync:install_live_events --events all def generate_live_events events = options["events"] == "all" ? CanvasSync::SUPPORTED_LIVE_EVENTS : options["events"].split(",") CanvasSync.validate_live_events!(events) events.each do |event| Dir.glob("#{File.dirname(__FILE__)}/templates/services/live_events/#{event}_event.rb") do |rb_file| template rb_file.to_s, "app/services/live_events/#{File.basename(rb_file)}" end end template "base_event.rb", "app/services/live_events/base_event.rb" end end end
Version data entries
117 entries across 117 versions & 1 rubygems