Sha256: 8feaea5d4a798fb7ba6add0c55b81348ff1dd90c9e1dae21e2472f0920a72748

Contents?: true

Size: 526 Bytes

Versions: 6

Compression:

Stored size: 526 Bytes

Contents

# frozen_string_literal: true

module Datacite
  # The JSON request to create a specific DOI
  class RegisterDoiRequestBody
    # @param [String] prefix
    # @param [String] suffix
    def initialize(prefix:, suffix:)
      @prefix = prefix
      @suffix = suffix
    end

    # @returns [Hash]
    def to_json(*_args)
      {
        data: {
          type: "dois",
          attributes: {
            doi: "#{prefix}/#{suffix}"
          }
        }
      }
    end

    private

    attr_reader :prefix, :suffix
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
datacite-0.4.0 lib/datacite/register_doi_request_body.rb
datacite-0.3.0 lib/datacite/register_doi_request_body.rb
datacite-0.2.3 lib/datacite/register_doi_request_body.rb
datacite-0.2.2 lib/datacite/register_doi_request_body.rb
datacite-0.2.1 lib/datacite/register_doi_request_body.rb
datacite-0.2.0 lib/datacite/register_doi_request_body.rb