lib/rubyXL/objects/relationships.rb in rubyXL-3.3.19 vs lib/rubyXL/objects/relationships.rb in rubyXL-3.3.20
- old
+ new
@@ -68,11 +68,11 @@
end
def load_related_files(zipdir_path, base_file_name)
self.related_files = {}
- @@debug +=2 if @@debug
+ @@debug += 2 if @@debug
self.relationships.each { |rel|
next if rel.target_mode == 'External'
file_path = ::Pathname.new(rel.target)
@@ -151,19 +151,25 @@
[]
end
def collect_related_objects
res = related_objects.compact # Avoid tainting +related_objects+ array
- res += generic_storage if generic_storage
+ res.concat(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) }
+ related = []
- res
+ res.each { |o|
+ next if o.respond_to?(:empty?) && o.empty?
+ related << o
+ related.concat(o.collect_related_objects) if o.respond_to?(:collect_related_objects)
+ }
+
+ related
end
def load_relationships(dir_path, base_file_name)
self.relationship_container = RubyXL::OOXMLRelationshipsFile.load_relationship_file(dir_path, base_file_name)
return if relationship_container.nil?