Class: Zizia::MetadataDetails

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
app/lib/zizia/metadata_details.rb

Instance Method Summary collapse

Instance Method Details

#details(work_attributes:) ⇒ Object



8
9
10
11
12
13
# File 'app/lib/zizia/metadata_details.rb', line 8

def details(work_attributes:)
  validators = work_attributes.validators
  detail_list = work_attributes.properties.sort.map { |p| definition_hash_for(p, validators) }
  detail_list << visibility_definition
  detail_list << file_definition
end

#to_csv(work_attributes:) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'app/lib/zizia/metadata_details.rb', line 15

def to_csv(work_attributes:)
  attribute_list = details(work_attributes: work_attributes)
  headers = extract_headers(attribute_list[0])
  csv_string = CSV.generate do |csv|
    csv << headers
    attribute_list.each do |attribute|
      csv << headers.map { |h| attribute[h] }
    end
  end
  csv_string
end