Class: Datacite
- Inherits:
-
Object
- Object
- Datacite
- 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
-
#initialize(user_name, password, endpoint = nil) ⇒ Datacite
constructor
A new instance of Datacite.
- #metadata(doi) ⇒ Object
- #mint(doi, url) ⇒ Object
- #resolve(doi) ⇒ Object
- #upload_metadata(metadata) ⇒ Object
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 |