dor-services-client 3.8.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17d1bc1362286691b1f977cad23f8a4055fdd12009b23fb407c59813d302cbc3
4
- data.tar.gz: a9279fc138723d1d9e6c9d3be6ef5de0736cbe06c5b03de72270b079e1336d29
3
+ metadata.gz: f823d797fe922ae8ba36b3bc55649a4963c7c466ab12d1f1608ef6f4c272b5a5
4
+ data.tar.gz: b9344e954cdef65a76a744707cd7cf699a311af0d04c40890352fa0dabb97c0b
5
5
  SHA512:
6
- metadata.gz: 40fff715eb9581abefd027fbd29bb92b955cd6d15b77c525966313f35feccd72f7f4cf8443114938e952d74aba57811bc9ada622d5cd6f17dd90180e1ab146d2
7
- data.tar.gz: '0483086f12869253fbeef14715703ed1c23ac74f8d068bd23a96c80f720a1188d0029f9f6c5d39b15d9da20a789d536da5bd468fcb35de608ae2fa779e6f4a54'
6
+ metadata.gz: 8725e1fce38fe15c77f0c0ce45da465a29e6ccdf0b83cf3018cd8927ac1cb5ea4081a169a746e8dc2ed577f4f80f3c1919256ce33bbb4e8aff4809d33ff34547
7
+ data.tar.gz: a4d14beeafaf4a070a12f5d38bf44201e5c858ba35232d4f9a999af1c4bddad78c9f405c075e7a189715266e9ad210de867cbbab26b86c629f597c4526d51c17
data/README.md CHANGED
@@ -102,6 +102,14 @@ object_client.metadata.dublin_core
102
102
  # Get the public descriptive XML representation
103
103
  object_client.metadata.descriptive
104
104
 
105
+ # Update legacy XML representation
106
+ object_client.metadata.legacy_update(
107
+ descriptive: {
108
+ updated: Time.now,
109
+ content: '<descMetadata/>'
110
+ }
111
+ )
112
+
105
113
  # Return the Cocina metadata
106
114
  object_client.find
107
115
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'active_support/json' # required for serializing time as iso8601
4
+
3
5
  module Dor
4
6
  module Services
5
7
  class Client
@@ -11,6 +13,26 @@ module Dor
11
13
  @object_identifier = object_identifier
12
14
  end
13
15
 
16
+ # Updates using the legacy SDR/Fedora3 metadata
17
+ # @param [Hash<Symbol,Hash>] opts the options for legacy update
18
+ # @option opts [Hash] :descriptive Data for descriptive metadata
19
+ # @option opts [Hash] :rights Data for access rights metadata
20
+ # @option opts [Hash] :content Data for structural metadata
21
+ # @option opts [Hash] :technical Data for technical metadata
22
+ # @example:
23
+ # legacy_update(descriptive: { updated: '2001-12-20', content: '<descMetadata />' })
24
+ def legacy_update(opts)
25
+ opts = opts.slice(:descriptive, :rights, :content, :technical)
26
+ resp = connection.patch do |req|
27
+ req.url "#{base_path}/legacy"
28
+ req.headers['Content-Type'] = 'application/json'
29
+ req.body = opts.to_json
30
+ end
31
+ return if resp.success?
32
+
33
+ raise UnexpectedResponse, ResponseErrorFormatter.format(response: resp, object_identifier: object_identifier)
34
+ end
35
+
14
36
  # @return [String, NilClass] The Dublin Core XML representation of the object or nil if response is 404
15
37
  # @raise [UnexpectedResponse] on an unsuccessful response from the server
16
38
  def dublin_core
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Services
5
5
  class Client
6
- VERSION = '3.8.0'
6
+ VERSION = '3.9.0'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-services-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.0
4
+ version: 3.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-11-06 00:00:00.000000000 Z
12
+ date: 2019-11-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport