module ActiveFedora::Identifiable::ClassMethods

def abstract_class?

Abstract classes can't have default scopes.
def abstract_class?
  self == Base
end

def from_uri(uri, _)

Provides the common interface for ActiveTriples::Identifiable
#
def from_uri(uri, _)
  find(uri_to_id(uri))
rescue ActiveFedora::ObjectNotFoundError, Ldp::Gone
  ActiveTriples::Resource.new(uri)
end

def id_to_uri(id)

if translate_id_to_uri is set it uses that proc, otherwise just the default
Transforms an id into a uri
#
def id_to_uri(id)
  translate_id_to_uri.call(id)
end

def uri_to_id(uri)

if translate_uri_to_id is set it uses that proc, otherwise just the default
Transforms a uri into an id
#
def uri_to_id(uri)
  translate_uri_to_id.call(uri)
end