Sha256: cf054f179a89460b566b0cb68a46ce4255e18f448b997608ec1b986b089e3cbb

Contents?: true

Size: 1.64 KB

Versions: 6

Compression:

Stored size: 1.64 KB

Contents

require 'active_support/descendants_tracker'
require 'active_fedora/errors'
require 'active_fedora/log_subscriber'

module ActiveFedora
  # This class ties together many of the lower-level modules, and
  # implements something akin to an ActiveRecord-alike interface to
  # fedora. If you want to represent a fedora object in the ruby
  # space, this is the class you want to extend.
  #
  # =The Basics
  #   class Oralhistory < ActiveFedora::Base
  #     has_metadata "properties", type: ActiveFedora::SimpleDatastream do |m|
  #       m.field "narrator",  :string
  #       m.field "narrator",  :text
  #     end
  #   end
  #
  # The above example creates a Fedora object with a metadata datastream named "properties", which is composed of a
  # narrator and bio field.
  #
  # Attached files defined with +contains+ are accessed via the +attached_files+ member hash.
  #
  class Base
    extend ActiveModel::Naming
    extend ActiveSupport::DescendantsTracker
    extend LdpCache::ClassMethods

    include AttributeAssignment
    include Core
    include Identifiable
    include Inheritance
    include Persistence
    include Indexing
    include Scoping
    include ActiveModel::Conversion
    include Callbacks
    include Validations
    extend Querying
    include Associations
    include AutosaveAssociation
    include NestedAttributes
    include Serialization

    include AttachedFiles
    include FedoraAttributes
    include Reflection
    include AttributeMethods
    include Attributes
    include Versionable
    include LoadableFromJson
    include Schema
    include Aggregation::BaseExtension
  end

  ActiveSupport.run_load_hooks(:active_fedora, Base)
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
active-fedora-11.0.0.rc6 lib/active_fedora/base.rb
active-fedora-11.0.0.rc5 lib/active_fedora/base.rb
active-fedora-11.0.0.rc4 lib/active_fedora/base.rb
active-fedora-11.0.0.rc3 lib/active_fedora/base.rb
active-fedora-11.0.0.rc2 lib/active_fedora/base.rb
active-fedora-11.0.0.rc1 lib/active_fedora/base.rb