def compare(&diff_block)
      # Get a copy of the outputs before any transformations are applied
      FileUtils.cp_r("#{temp_transformed_path}/.", temp_raw_path)

      transform_paths!

      glob_all(after_path).each do |relative_path|
        expected = after_path + relative_path

        next unless expected.file?
        next if context.ignores?(relative_path)

        block = context.preprocessors_for(relative_path).first
        diff = diff_files(expected, relative_path, &block)

        diff_block.call diff
      end
    end
def compare(&diff_block)
      # Get a copy of the outputs before any transformations are applied
      FileUtils.cp_r("#{temp_transformed_path}/.", temp_raw_path)

      transform_paths!

      glob_all(after_path).each do |relative_path|
        expected = after_path + relative_path

        next unless expected.file?
        next if context.ignores?(relative_path)

        block = context.preprocessors_for(relative_path).first
        diff = diff_files(expected, relative_path, &block)

        diff_block.call diff
      end
    end
Compares the expected and produced directory by using the rules
 defined in the context

 @param  [Block<(Diff)->()>] diff_block
         The block, where you will likely define a test for each file to compare.
         It will receive a Diff of each of the expected and produced files.