Class: Datacite

Inherits:
Object
  • Object
show all
Defined in:
lib/datacite_doi_ify/datacite.rb

Constant Summary collapse

ENDPOINT =
'https://mds.datacite.org'
TEST_ENDPOINT =
'https://test.datacite.org/mds'

Instance Method Summary collapse

Constructor Details

#initialize(user_name, password, endpoint = nil) ⇒ Datacite

Returns a new instance of Datacite.



7
8
9
10
# File 'lib/datacite_doi_ify/datacite.rb', line 7

def initialize(user_name, password, endpoint = nil)
  endpoint ||= ENDPOINT
  @endpoint = RestClient::Resource.new(endpoint, user_name, password)
end

Instance Method Details

#metadata(doi) ⇒ Object



24
25
26
# File 'lib/datacite_doi_ify/datacite.rb', line 24

def (doi)
  @endpoint["metadata/#{doi}"].get
end

#mint(doi, url) ⇒ Object



16
17
18
# File 'lib/datacite_doi_ify/datacite.rb', line 16

def mint(doi, url)
  @endpoint['doi'].post("doi=#{doi}\nurl=#{url}", content_type: 'text/plain;charset=UTF-8')
end

#resolve(doi) ⇒ Object



12
13
14
# File 'lib/datacite_doi_ify/datacite.rb', line 12

def resolve(doi)
  @endpoint["doi/#{doi}"].get
end

#upload_metadata(metadata) ⇒ Object



20
21
22
# File 'lib/datacite_doi_ify/datacite.rb', line 20

def ()
  @endpoint['metadata'].post(, content_type: 'application/xml;charset=UTF-8')
end