Newer
Older
def self.build_from_dspace(item)
lo = LearningObject.new(

Mauricio Giacomini Girardello
committed
name: item.name,
id_dspace: item.id,
thumbnail: nil,
metadata: item.metadata.map(&:to_h)
institution = lo.get_metadata_values_of('dc.creator').first
institution = 'Desconhecido' if institution.blank?
lo.publisher = Institution.where(name: institution).first_or_create
object_type = lo.get_metadata_value_of('dc.type')
object_type = 'Desconhecido' if object_type.blank?
lo.object_type = ObjectType.where(name: object_type).first_or_create
date = lo.get_metadata_value_of('dc.date.issued')
lo.published_at = Time.iso8601(date) unless date.nil?
code = lo.get_metadata_value_of('dc.language')
code = 'pt' if code.blank?
language = Language.where(code: code).first
language = Language.create(name: code, code: code) if language.nil?
lo.language = language
lo.author = lo.get_metadata_values_of('dc.contributor.author').join(', ')
lo.description = lo.get_metadata_value_of('dc.description')
lo
end

Mauricio Giacomini Girardello
committed
def self.build_form_params(params={}, publisher = nil)
_params = params.clone
_params.delete :link
# build tags
_params[:tags] = []
params[:tags].try(:each) do |t|
_params[:tags] << Tag.find(t['id'])

Mauricio Giacomini Girardello
committed
end
#build language
_params[:language] = Language.find(params[:language]) if params[:language].to_i > 0
# set publisher
_params[:publisher] = publisher unless publisher.nil?
_params
end
# private
#def self.sanitize_form_metadata(params={})
# if !params[:link].blank?
# metadata = [{'key' => 'dc.object.url', 'value' => params[:link]}]
# _args.merge(metadata: metadata)
# end
# _args
# end