Sha256: c4aa846e3376ed47141a836252f77c7f81876bf0260e5acf25d74e827edb7b82

Contents?: true

Size: 933 Bytes

Versions: 5

Compression:

Stored size: 933 Bytes

Contents

# frozen_string_literal: true

require 'dry-struct'
require 'dry-types'

module Assembly
  class ContentMetadata
    # Types for the configuration
    module Types
      include Dry.Types()
    end

    # Represents a configuration for generating the content metadata
    class Config < Dry::Struct
      STYLES = %w[image file book map 3d document webarchive-seed].freeze
      READING_ORDERS = %w[ltr rtl].freeze
      attribute :auto_labels, Types::Strict::Bool.default(true)
      attribute :flatten_folder_structure, Types::Strict::Bool.default(false)
      attribute :add_file_attributes, Types::Strict::Bool.default(false)
      attribute :add_exif, Types::Strict::Bool.default(false)
      attribute :file_attributes, Types::Strict::Hash.default({}.freeze)
      attribute :type, Types::Strict::String.enum(*STYLES)
      attribute :reading_order, Types::Strict::String.default('ltr').enum(*READING_ORDERS)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
assembly-objectfile-1.13.0 lib/assembly-objectfile/content_metadata/config.rb
assembly-objectfile-1.12.0 lib/assembly-objectfile/content_metadata/config.rb
assembly-objectfile-1.11.0 lib/assembly-objectfile/content_metadata/config.rb
assembly-objectfile-1.10.3 lib/assembly-objectfile/content_metadata/config.rb
assembly-objectfile-1.10.2 lib/assembly-objectfile/content_metadata/config.rb