module RubyXL::RelationshipSupport
def collect_related_objects
def collect_related_objects res = related_objects.compact # Avoid tainting +related_objects+ array res += generic_storage if generic_storage if relationship_container then relationship_container.owner = self res << relationship_container end res.each { |o| res += o.collect_related_objects if o.respond_to?(:collect_related_objects) } res end
def load_relationships(dir_path, base_file_name = '')
def load_relationships(dir_path, base_file_name = '') self.relationship_container = relationship_file_class.load_relationship_file(dir_path, base_file_name) return if relationship_container.nil? relationship_container.load_related_files(dir_path, base_file_name).each_pair { |rid, related_file| attach_relationship(rid, related_file) if related_file } end
def related_objects # Override this method
def related_objects # Override this method [] end
def store_relationship(related_file, unknown = false)
def store_relationship(related_file, unknown = false) self.generic_storage ||= [] puts "WARNING: #{self.class} is not aware what to do with #{related_file.class}" if unknown self.generic_storage << related_file end