Sha256: 2c4f128293f711a85369aa3dc47ed036ea7cfcc8e1a5508983bb7e6dead5a56d
Contents?: true
Size: 1.49 KB
Versions: 6
Compression:
Stored size: 1.49 KB
Contents
module ActiveFedora class Base def can_have_attachments? has_association? :attachments end def has_attachments? can_have_attachments? && attachments.size > 0 end def can_have_children? has_association? :children end def has_children? can_have_children? and children.size > 0 end def can_have_content? datastreams.include? "content" end def has_content? can_have_content? && content.has_content? end def describable? self.is_a? Ddr::Models::Describable end def governable? has_association? :admin_policy end def has_admin_policy? governable? && admin_policy.present? end def has_rights_metadata? ds = self.datastreams[Ddr::Datastreams::RIGHTS_METADATA] ds && ds.size && ds.size > 0 end def can_have_struct_metadata? datastreams.include? Ddr::Datastreams::STRUCT_METADATA end def has_struct_metadata? can_have_struct_metadata? && structMetadata.has_content? end def can_have_thumbnail? datastreams.include? "thumbnail" end def has_thumbnail? can_have_thumbnail? && thumbnail.has_content? end def safe_id id.sub(/:/, "-") end # For duck-typing with SolrDocument def active_fedora_model self.class.to_s end def controller_name active_fedora_model.tableize end protected def has_association? assoc !association(assoc).nil? end end end
Version data entries
6 entries across 6 versions & 1 rubygems