Class: MultiVersionCommonCartridge::Writers::ManifestOrganizationWriter

Inherits:
Object
  • Object
show all
Includes:
SupportedVersions
Defined in:
lib/multi_version_common_cartridge/writers/manifest_organization_writer.rb

Constant Summary collapse

ORGANIZATION_STRUCTURE =
'rooted-hierarchy'.freeze
DEFAULT_ROOT_ITEM_IDENTIFIER =
'root'.freeze
MESSAGES =
{
  no_identifier: 'An identifier is required'
}.freeze

Constants included from SupportedVersions

SupportedVersions::SUPPORTED_VERSIONS, SupportedVersions::UNSUPPORTED_VERSION_MSG_TEMPLATE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SupportedVersions

#validate_version

Constructor Details

#initialize(cartridge, factory, version) ⇒ ManifestOrganizationWriter

Returns a new instance of ManifestOrganizationWriter.



36
37
38
39
40
# File 'lib/multi_version_common_cartridge/writers/manifest_organization_writer.rb', line 36

def initialize(cartridge, factory, version)
  @cartridge = cartridge
  @factory = factory
  @version = validate_version(version)
end

Instance Attribute Details

#cartridgeObject (readonly)

Returns the value of attribute cartridge.



34
35
36
# File 'lib/multi_version_common_cartridge/writers/manifest_organization_writer.rb', line 34

def cartridge
  @cartridge
end

Instance Method Details

#finalizeObject



42
43
44
# File 'lib/multi_version_common_cartridge/writers/manifest_organization_writer.rb', line 42

def finalize
  validate_identifier
end

#organization_elementObject



46
47
48
49
50
51
52
# File 'lib/multi_version_common_cartridge/writers/manifest_organization_writer.rb', line 46

def organization_element
  CommonCartridge::Elements::Organizations::Organization.new.tap do |element|
    element.identifier = SecureRandom.uuid
    element.structure = ORGANIZATION_STRUCTURE
    element.root_item = root_item
  end
end