module Collab::HasCollaborativeDocument
Public Instance Methods
has_collaborative_document(attach_as, schema:, blank_document:)
click to toggle source
Calls superclass method
# File lib/collab/has_collaborative_document.rb, line 6 def has_collaborative_document(attach_as, schema:, blank_document:) has_one attach_as, -> { where(attached_as: attach_as) }, class_name: ::Collab.config.document_model, as: :attached define_method attach_as do super() || begin document = self.__send__("build_#{attach_as}", schema_name: schema, content: blank_document.dup) document.save! document end end end