Class: Cabriolet::Extraction::FileExtractionWork

Inherits:
Fractor::Work
  • Object
show all
Defined in:
lib/cabriolet/extraction/file_extraction_work.rb

Overview

Work item for file extraction using Fractor

Instance Method Summary collapse

Constructor Details

#initialize(file, output_dir:, preserve_paths: true, overwrite: false) ⇒ FileExtractionWork

Initialize work item for extracting a single file

Parameters:

  • file (Object)

    File object from archive (responds to :name, :data)

  • output_dir (String)

    Output directory path

  • preserve_paths (Boolean) (defaults to: true)

    Whether to preserve directory structure

  • overwrite (Boolean) (defaults to: false)

    Whether to overwrite existing files



15
16
17
18
19
20
21
22
# File 'lib/cabriolet/extraction/file_extraction_work.rb', line 15

def initialize(file, output_dir:, preserve_paths: true, overwrite: false)
  super({
    file: file,
    output_dir: output_dir,
    preserve_paths: preserve_paths,
    overwrite: overwrite,
  })
end

Instance Method Details

#fileObject

The file object to extract

Returns:

  • (Object)

    File from archive



27
28
29
# File 'lib/cabriolet/extraction/file_extraction_work.rb', line 27

def file
  input[:file]
end

#idString

Unique identifier for this work item (filename based)

Returns:

  • (String)

    Unique identifier



55
56
57
# File 'lib/cabriolet/extraction/file_extraction_work.rb', line 55

def id
  file.name
end

#output_dirString

Output directory for extraction

Returns:

  • (String)

    Directory path



34
35
36
# File 'lib/cabriolet/extraction/file_extraction_work.rb', line 34

def output_dir
  input[:output_dir]
end

#overwriteBoolean

Whether to overwrite existing files

Returns:

  • (Boolean)


48
49
50
# File 'lib/cabriolet/extraction/file_extraction_work.rb', line 48

def overwrite
  input[:overwrite]
end

#preserve_pathsBoolean

Whether to preserve directory structure

Returns:

  • (Boolean)


41
42
43
# File 'lib/cabriolet/extraction/file_extraction_work.rb', line 41

def preserve_paths
  input[:preserve_paths]
end