Sha256: f7f12a97970e1144cab03f7e4ace82dbe800132038af738b2da16974c0654c19

Contents?: true

Size: 1000 Bytes

Versions: 3

Compression:

Stored size: 1000 Bytes

Contents

class DarwinCore
  class Metadata
    def initialize(archive)
      @archive = archive
      @metadata = @archive.eml
    end

    def data
      @metadata
    end

    def id
      @metadata[:eml][:dataset][:attributes][:id]
    end

    def title
      @metadata[:eml][:dataset][:title]
    end

    def authors
      return nil unless defined?(@metadata[:eml][:dataset][:creator])
      @metadata[:eml][:dataset][:creator] = [@metadata[:eml][:dataset][:creator]] unless @metadata[:eml][:dataset][:creator].class == Array 
      @metadata[:eml][:dataset][:creator].map {|c| {:first_name => c[:individualName][:givenName], :last_name => c[:individualName][:surName], :email => c[:electronicMailAddress]}}
    end

    def abstract
      @metadata[:eml][:dataset][:abstract] rescue nil
    end

    def citation
      @metadata[:eml][:additionalMetadata][:metadata][:citation] rescue nil
    end

    def url
      @metadata[:eml][:dataset][:distribution][:online][:url] rescue nil
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dwc-archive-0.1.4 lib/dwc-archive/metadata.rb
dwc-archive-0.1.3 lib/dwc-archive/metadata.rb
dwc-archive-0.1.2 lib/dwc-archive/metadata.rb