Class: Omnizip::Formats::Rar::Rar5::Models::SolidOptions

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/omnizip/formats/rar/rar5/models/solid_options.rb

Overview

Solid compression options

This model configures solid compression behavior, including whether to enable solid mode and block size limits.

Examples:

Enable solid compression

options = SolidOptions.new(enabled: true)

Configure solid block size

options = SolidOptions.new(enabled: true, max_block_size: 100 * 1024 * 1024)

Instance Method Summary collapse

Instance Method Details

#block_size_limited?Boolean

Check if block size is limited

Returns:

  • (Boolean)

    true if max_block_size set



55
56
57
# File 'lib/omnizip/formats/rar/rar5/models/solid_options.rb', line 55

def block_size_limited?
  !max_block_size.nil?
end

#enabled?Boolean

Check if solid compression is enabled

Returns:

  • (Boolean)

    true if enabled



48
49
50
# File 'lib/omnizip/formats/rar/rar5/models/solid_options.rb', line 48

def enabled?
  enabled == true
end

#validate!Object

Validate options

Raises:

  • (ArgumentError)

    if max_block_size is too small



39
40
41
42
43
# File 'lib/omnizip/formats/rar/rar5/models/solid_options.rb', line 39

def validate!
  if max_block_size && max_block_size < 1_048_576 # 1 MB minimum
    raise ArgumentError, "Solid block size must be at least 1 MB"
  end
end