class Stash::Merritt::SwordHelper
Attributes
logger[R]
package[R]
Public Class Methods
new(package:, logger: nil)
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 9 def initialize(package:, logger: nil) @logger = logger @package = package end
Public Instance Methods
submit!()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 14 def submit! if (update_uri = resource.update_uri) do_update(update_uri) else do_create end resource.version_zipfile = zipfile resource.save! end
Private Instance Methods
do_create()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 46 def do_create receipt = sword_client.create(doi: identifier_str, zipfile: zipfile) resource.download_uri = receipt.em_iri resource.update_uri = receipt.edit_iri end
do_update(update_uri)
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 52 def do_update(update_uri) sword_client.update(edit_iri: update_uri, zipfile: zipfile) end
identifier_str()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 34 def identifier_str resource.identifier_str end
resource()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 26 def resource package.resource end
sword_client()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 42 def sword_client @sword_client ||= Stash::Sword::Client.new(logger: logger, **tenant.sword_params) end
tenant()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 30 def tenant resource.tenant end
zipfile()
click to toggle source
# File lib/stash/merritt/sword_helper.rb, line 38 def zipfile package.zipfile end