Sha256: beab974f0d10582f126265b729c051baa581f13bc539fc51943f28934831e494

Contents?: true

Size: 1.64 KB

Versions: 13

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 Reflection
    include Serialization

    include AttachedFiles
    include FedoraAttributes
    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

13 entries across 13 versions & 1 rubygems

Version Path
active-fedora-10.3.0 lib/active_fedora/base.rb
active-fedora-10.3.0.rc2 lib/active_fedora/base.rb
active-fedora-10.3.0.rc1 lib/active_fedora/base.rb
active-fedora-10.2.1 lib/active_fedora/base.rb
active-fedora-10.2.0 lib/active_fedora/base.rb
active-fedora-10.1.0 lib/active_fedora/base.rb
active-fedora-10.1.0.rc1 lib/active_fedora/base.rb
active-fedora-10.0.0 lib/active_fedora/base.rb
active-fedora-10.0.0.beta4 lib/active_fedora/base.rb
active-fedora-10.0.0.beta3 lib/active_fedora/base.rb
active-fedora-10.0.0.beta2 lib/active_fedora/base.rb
active-fedora-10.0.0.beta1 lib/active_fedora/base.rb
active-fedora-9.13.0 lib/active_fedora/base.rb