class Libis::Ingester::MetadataSpreadsheetMapper

Protected Instance Methods

get_record(item) click to toggle source
# File lib/libis/ingester/tasks/metadata_spreadsheet_mapper.rb, line 37
def get_record(item)
  term = get_term(item)
  return nil if term.blank?

  data = lookup(term)
  if data.blank?
    debug "No metadata found for #{term}"
    return nil
  end

  record = Libis::Metadata::DublinCoreRecord.new
  data.each do |key,value|
    next unless key =~ /^<(dc(terms)?:[^>]+)>.*$/
    record.add_node $1, value
  end

  record
end
get_term(item) click to toggle source
# File lib/libis/ingester/tasks/metadata_spreadsheet_mapper.rb, line 56
def get_term(item)
  if parameter(:match_regex)
    match_term = eval parameter(:match_term)
    return nil unless match_term =~ Regexp.new(parameter(:match_regex))
  end
  parameter(:term).blank? ? item.name : eval(parameter(:term))
end