module ActiveFedora::Core::ClassMethods

def from_uri(uri,_)

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

def generated_association_methods

def generated_association_methods
  @generated_association_methods ||= begin
    mod = const_set(:GeneratedAssociationMethods, Module.new)
    include mod
    mod
  end
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 relation

def relation
  Relation.new(self)
end

def to_class_uri(attrs = {})

TODO this is a poorly named method
Should reverse Model#from_class_uri
Returns a suitable uri object for :has_model
def to_class_uri(attrs = {})
  name
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