lib/zipping.rb
def pack(files)
      entities = Entity.entities_from files
      return if entities.empty?

      reset_state
      pack_entities entities
      while has_dir?
        cd next_dir
        pack_current_dir
      end
    end
def pack(files)
      entities = Entity.entities_from files
      return if entities.empty?

      reset_state
      pack_entities entities
      while has_dir?
        cd next_dir
        pack_current_dir
      end
    end
Compression operations
 Pack file and directory entities and output to stream.