Sha256: f526defa0ef20f220b41851300c823567c25c1d73eb239134332f11b664b3f7f
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
# # # 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. # module LiveEvents class ModuleItemEvent < LiveEvents::BaseEvent # The following is provided in the live events call: # { # module_item_id, # module_id, # context_id, # context_type, # position, # workflow_state, # } def perform(_event_payload) super create_or_update_from_api(payload) end private def create_or_update_from_api(payload) context_module_item = ContextModuleItem.find_or_initialize_by(canvas_id: payload["module_item_id"]) api_params = canvas_sync_client.module_item(payload["context_id"], payload["module_id"], payload["module_item_id"]) context_module_item.assign_attributes( canvas_context_module_id: payload["module_id"], position: payload["position"], workflow_state: payload["workflow_state"], canvas_content_id: api_params["content_id"], canvas_content_type: api_params["type"], ) context_module_item.save! if context_module_item.changed? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
canvas_sync-0.10.2 | spec/dummy/app/services/live_events/module_item_event.rb |
canvas_sync-0.10.0 | spec/dummy/app/services/live_events/module_item_event.rb |