class DMAO::API::PublicationDataset

Constants

ENDPOINT
INVALID_ENTITY_CLASS
INVALID_ENTITY_ERROR_MESSAGE
INVALID_ID_ERROR
NOT_FOUND_ERROR
VALID_ATTRIBUTES

Public Class Methods

find_by_system_uuid(_system_uuid) click to toggle source
# File lib/dmao/api/publication_dataset.rb, line 60
def self.find_by_system_uuid _system_uuid
  raise DMAO::API::Errors::UnsupportedQueryBySystemUUID.new
end
handle_unprocessable_entity(error_response) click to toggle source
# File lib/dmao/api/publication_dataset.rb, line 47
def self.handle_unprocessable_entity error_response

  errors = parse_error_response error_response

  raise DMAO::API::Errors::InvalidPublicationDataset.new("Invalid publication dataset details, please see errors.", errors) if (errors.keys.include?("publication") && errors.keys.include?("dataset"))

  raise_error_if_key DMAO::API::Errors::InvalidPublicationID, errors, "publication"
  raise_error_if_key DMAO::API::Errors::InvalidDatasetID, errors, "dataset"
  
  raise DMAO::API::Errors::InvalidPublicationDataset.new("Invalid publication dataset details, please see errors.", errors)
  
end
instance_from_api_data(data) click to toggle source
# File lib/dmao/api/publication_dataset.rb, line 34
def self.instance_from_api_data data

  attributes = {
      id: data["id"],
      institution_id: data["relationships"]["institution"]["data"]["id"],
      publication_id: data["relationships"]["publication"]["data"]["id"],
      dataset_id: data["relationships"]["dataset"]["data"]["id"]
  }

  new(attributes)

end
new(attributes) click to toggle source
# File lib/dmao/api/publication_dataset.rb, line 25
def initialize(attributes)

  @id = attributes[:id]
  @institution_id = attributes[:institution_id]
  @publication_id = attributes[:publication_id]
  @dataset_id= attributes[:dataset_id]

end
update(_id, _attributes) click to toggle source
# File lib/dmao/api/publication_dataset.rb, line 64
def self.update _id, _attributes
  raise DMAO::API::Errors::ActionUnsupported.new("Updating publication dataset is not supported.")
end