ActiveFedora::Base.class_eval do def active? state == 'A' end def auditable? begin self.is_a? ActiveFedora::Auditable rescue false end end def has_permissions? self.is_a? Hydra::ModelMixins::RightsMetadata end def governable? !governed_by_association.nil? end def governed_by_association self.reflections.each do |name, reflection| # FIXME add class name condition, i.e.: # && reflection.class_name == [Hydra configured policy class or Hydra::AdminPolicy] return reflection if reflection.macro == :belongs_to && reflection.options[:property] == :is_governed_by end end def object_xml # XXX https://github.com/projecthydra/rubydora/pull/26 inner_object.repository.object_xml(:pid => pid) end end