@@ -119,20 +119,19 @@ def self.cli(argv = ARGV, logger = Logger.new(STDERR), opts = {})
119
119
# Compile catalogs and do catalog-diff
120
120
node_set = options . delete ( :node )
121
121
node_set = [ node_set ] unless node_set . is_a? ( Array )
122
- catalog_diff = nil
123
- all_diffs = [ ]
124
122
125
123
# run multiple node diffs in parallel
126
- if node_set . size == 1
127
- all_diffs << run_octocatalog_diff ( node_set . first , options , logger )
124
+ catalog_diffs = if node_set . size == 1
125
+ [ run_octocatalog_diff ( node_set . first , options , logger ) ]
128
126
else
129
- ::Parallel . map ( node_set , in_threads : 4 ) do |node |
130
- all_diffs << run_octocatalog_diff ( node , options , logger )
131
- end
127
+ ::Parallel . map ( node_set , in_threads : 4 ) { |node | run_octocatalog_diff ( node , options , logger ) }
132
128
end
133
129
134
- # Return the resulting diff object if requested (generally for testing) or otherwise return exit code
135
- return catalog_diff if opts [ :INTEGRATION ]
130
+ # Return the resulting diff object if requested (generally for testing)
131
+ # or otherwise return exit code
132
+ return catalog_diffs . first if opts [ :INTEGRATION ]
133
+
134
+ all_diffs = catalog_diffs . map ( &:diffs )
136
135
137
136
all_diffs . each do |diff |
138
137
next unless diff . any?
@@ -156,8 +155,8 @@ def self.run_octocatalog_diff(node, options, logger)
156
155
printer_obj = OctocatalogDiff ::Cli ::Printer . new ( options_copy , logger )
157
156
printer_obj . printer ( diffs , catalog_diff . from . compilation_dir , catalog_diff . to . compilation_dir )
158
157
159
- # Return diffs
160
- diffs
158
+ # Return catalog-diff object.
159
+ catalog_diff
161
160
end
162
161
163
162
# Parse command line options with 'optparse'. Returns a hash with the parsed arguments.
0 commit comments