module JSONAPI::Record::Destroyable::ClassMethods

Public Instance Methods

destroy(record) click to toggle source

@param record [JSONAPI::Record::Base] @return [JSONAPI::Record::Base]

# File lib/jsonapi/record/destroyable.rb, line 13
def destroy(record)
  response_document = JSONAPI::SimpleClient.delete(individual_uri(record.id), default_headers)

  case response_document
  when Types::Failure
    record.new(parse(response_document))
  when Types::Info
    record.new(persisted: false, **parse(response_document))
  when Types::Document
    record.new(persisted: false)
  end
end
destroy!(record) click to toggle source

@param record [JSONAPI::Record::Base] @raise [JSONAPI::SimpleClient::UnprocessableEntity] if destroy fails. @return [JSONAPI::Record::Base]

# File lib/jsonapi/record/destroyable.rb, line 29
def destroy!(record)
  raise_exception_when_errors { destroy(record) }
end