Class: Dor::Services::Client::Metadata
- Inherits:
-
VersionedService
- Object
- VersionedService
- Dor::Services::Client::Metadata
- Defined in:
- lib/dor/services/client/metadata.rb
Overview
API calls that are about retrieving metadata
Instance Method Summary collapse
-
#descriptive ⇒ String, NilClass
The descriptive metadata XML representation of the object or nil if response is 404.
-
#dublin_core ⇒ String, NilClass
The Dublin Core XML representation of the object or nil if response is 404.
-
#initialize(connection:, version:, object_identifier:) ⇒ Metadata
constructor
A new instance of Metadata.
-
#legacy_update(opts) ⇒ Object
Updates using the legacy SDR/Fedora3 metadata @example: legacy_update(descriptive: { updated: ‘2001-12-20’, content: ‘<descMetadata />’ }).
Methods inherited from VersionedService
Constructor Details
#initialize(connection:, version:, object_identifier:) ⇒ Metadata
Returns a new instance of Metadata.
11 12 13 14 |
# File 'lib/dor/services/client/metadata.rb', line 11 def initialize(connection:, version:, object_identifier:) super(connection: connection, version: version) @object_identifier = object_identifier end |
Instance Method Details
#descriptive ⇒ String, NilClass
Returns The descriptive metadata XML representation of the object or nil if response is 404.
53 54 55 56 57 58 59 60 61 |
# File 'lib/dor/services/client/metadata.rb', line 53 def descriptive resp = connection.get do |req| req.url "#{base_path}/descriptive" end return resp.body if resp.success? return if resp.status == 404 raise_exception_based_on_response!(resp, object_identifier) end |
#dublin_core ⇒ String, NilClass
Returns The Dublin Core XML representation of the object or nil if response is 404.
41 42 43 44 45 46 47 48 49 |
# File 'lib/dor/services/client/metadata.rb', line 41 def dublin_core resp = connection.get do |req| req.url "#{base_path}/dublin_core" end return resp.body if resp.success? return if resp.status == 404 raise_exception_based_on_response!(resp, object_identifier) end |
#legacy_update(opts) ⇒ Object
Updates using the legacy SDR/Fedora3 metadata @example:
legacy_update(descriptive: { updated: '2001-12-20', content: '<descMetadata />' })
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/dor/services/client/metadata.rb', line 27 def legacy_update(opts) opts = opts.slice(:descriptive, :rights, :identity, :content, :technical, :provenance, :geo) resp = connection.patch do |req| req.url "#{base_path}/legacy" req.headers['Content-Type'] = 'application/json' req.body = opts.to_json end return if resp.success? raise_exception_based_on_response!(resp, object_identifier) end |