Class: SdrClient::RedesignedClient::UpdateResource
- Inherits:
-
Object
- Object
- SdrClient::RedesignedClient::UpdateResource
- Defined in:
- lib/sdr_client/redesigned_client/update_resource.rb
Overview
Updates a resource (metadata) in SDR
Constant Summary collapse
- RESOURCE_PATH =
'/v1/resources/%<id>s'
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(model:, version_description: nil, user_versions: nil) ⇒ UpdateResource
constructor
A new instance of UpdateResource.
-
#run ⇒ String
Job id for the background job result.
Constructor Details
#initialize(model:, version_description: nil, user_versions: nil) ⇒ UpdateResource
Returns a new instance of UpdateResource.
16 17 18 19 20 |
# File 'lib/sdr_client/redesigned_client/update_resource.rb', line 16 def initialize(model:, version_description: nil, user_versions: nil) @model = model @version_description = version_description @user_versions = user_versions end |
Class Method Details
.run ⇒ Object
9 10 11 |
# File 'lib/sdr_client/redesigned_client/update_resource.rb', line 9 def self.run(...) new(...).run end |
Instance Method Details
#run ⇒ String
Returns job id for the background job result.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sdr_client/redesigned_client/update_resource.rb', line 23 def run # rubocop:disable Metrics/MethodLength json = model.to_json logger.debug("Starting update with model: #{json}") response_hash = client.put( path: path, body: json, headers: { 'X-Cocina-Models-Version' => Cocina::Models::VERSION }, params: request_params, expected_status: 202 ) logger.info("Response from server: #{response_hash}") response_hash.fetch('jobId') end |