class DarwinCore::Metadata

Represents data from EML (Ecological Metadata Language) file

Attributes

data[R]
metadata[R]

Public Class Methods

new(archive = nil) click to toggle source
# File lib/dwc_archive/metadata.rb, line 9
def initialize(archive = nil)
  @archive = archive
  @metadata = @archive.eml
end

Public Instance Methods

abstract() click to toggle source
# File lib/dwc_archive/metadata.rb, line 37
def abstract
  fix_nil { @metadata[:eml][:dataset][:abstract] }
end
authors() click to toggle source
# File lib/dwc_archive/metadata.rb, line 26
def authors
  return nil unless defined?(@metadata[:eml][:dataset][:creator])

  authors = [@metadata[:eml][:dataset][:creator]].flatten
  authors.map do |au|
    { first_name: au[:individualName][:givenName],
      last_name: au[:individualName][:surName],
      email: au[:electronicMailAddress] }
  end
end
citation() click to toggle source
# File lib/dwc_archive/metadata.rb, line 41
def citation
  fix_nil { @metadata[:eml][:additionalMetadata][:metadata][:citation] }
end
id() click to toggle source
# File lib/dwc_archive/metadata.rb, line 14
def id
  fix_nil { @metadata[:eml][:dataset][:attributes][:id] }
end
package_id() click to toggle source
# File lib/dwc_archive/metadata.rb, line 18
def package_id
  fix_nil { @metadata.data[:eml][:attributes][:packageId] }
end
title() click to toggle source
# File lib/dwc_archive/metadata.rb, line 22
def title
  fix_nil { @metadata[:eml][:dataset][:title] }
end
url() click to toggle source
# File lib/dwc_archive/metadata.rb, line 45
def url
  fix_nil { @metadata[:eml][:dataset][:distribution][:online][:url] }
end

Private Instance Methods

fix_nil() { || ... } click to toggle source
# File lib/dwc_archive/metadata.rb, line 51
def fix_nil
  yield
rescue NoMethodError
  nil
end