Class: Stash::Merritt::SubmissionPackage::StashWrapperBuilder

Inherits:
Repo::FileBuilder
  • Object
show all
Includes:
Wrapper
Defined in:
lib/stash/merritt/submission_package/stash_wrapper_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dcs_resource:, version_number:, uploads:) ⇒ StashWrapperBuilder

Returns a new instance of StashWrapperBuilder.



13
14
15
16
17
18
# File 'lib/stash/merritt/submission_package/stash_wrapper_builder.rb', line 13

def initialize(dcs_resource:, version_number:, uploads:)
  super(file_name: 'stash-wrapper.xml')
  @dcs_resource = dcs_resource
  @version_number = version_number
  @uploads = uploads
end

Instance Attribute Details

#dcs_resourceObject (readonly)

Returns the value of attribute dcs_resource.



9
10
11
# File 'lib/stash/merritt/submission_package/stash_wrapper_builder.rb', line 9

def dcs_resource
  @dcs_resource
end

#uploadsObject (readonly)

Returns the value of attribute uploads.



10
11
12
# File 'lib/stash/merritt/submission_package/stash_wrapper_builder.rb', line 10

def uploads
  @uploads
end

#version_numberObject (readonly)

Returns the value of attribute version_number.



11
12
13
# File 'lib/stash/merritt/submission_package/stash_wrapper_builder.rb', line 11

def version_number
  @version_number
end

Instance Method Details

#contentsObject



20
21
22
23
24
25
26
27
28
# File 'lib/stash/merritt/submission_package/stash_wrapper_builder.rb', line 20

def contents
  StashWrapper.new(
    identifier: to_sw_identifier(dcs_resource.identifier),
    version: Version.new(number: version_number, date: Date.today),
    license: to_sw_license(dcs_resource.rights_list),
    inventory: to_sw_inventory(uploads),
    descriptive_elements: [dcs_resource.save_to_xml]
  ).write_xml
end