module ActiveFedora::Aggregation::BaseExtension::ClassMethods

Public Instance Methods

filters_association(extending_from, options={}) click to toggle source

Create an association filter on the class @example

class Image < ActiveFedora::Base
  aggregates :generic_files
  filters_association :generic_files, as: :large_files, condition: :big_file?
end
# File lib/active_fedora/aggregation/base_extension.rb, line 50
def filters_association(extending_from, options={})
  name = options.delete(:as)
  ActiveFedora::Filter::Builder.build(self, name, options.merge(extending_from: extending_from))
end
ordered_aggregation(name, options={}) click to toggle source

Convenience method for building an ordered aggregation. @example

class Image < ActiveFedora::Base
  ordered_aggregation :members, through: :list_source
end
# File lib/active_fedora/aggregation/base_extension.rb, line 39
def ordered_aggregation(name, options={})
  ActiveFedora::Orders::AggregationBuilder.build(self, name, options)
end
orders(name, options={}) click to toggle source

Allows ordering of an association @example

class Image < ActiveFedora::Base
  contains :list_resource, class_name:
    "ActiveFedora::Aggregation::ListSource"
  orders :generic_files, through: :list_resource
end
# File lib/active_fedora/aggregation/base_extension.rb, line 29
def orders(name, options={})
  ActiveFedora::Orders::Builder.build(self, name, options)
end