Module: ActiveFedora::Aggregation::BaseExtension::ClassMethods

Defined in:
lib/active_fedora/aggregation/base_extension.rb

Instance Method Summary collapse

Instance Method Details

#filters_association(extending_from, options = {}) ⇒ Object

Create an association filter on the class

Examples:

class Image < ActiveFedora::Base
  aggregates :generic_files
  filters_association :generic_files, as: :large_files, condition: :big_file?
end


50
51
52
53
# 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 = {}) ⇒ Object

Convenience method for building an ordered aggregation.

Examples:

class Image < ActiveFedora::Base
  ordered_aggregation :members, through: :list_source
end


39
40
41
# 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 = {}) ⇒ Object

Allows ordering of an association

Examples:

class Image < ActiveFedora::Base
  contains :list_resource, class_name:
    "ActiveFedora::Aggregation::ListSource"
  orders :generic_files, through: :list_resource
end


29
30
31
# File 'lib/active_fedora/aggregation/base_extension.rb', line 29

def orders(name, options={})
  ActiveFedora::Orders::Builder.build(self, name, options)
end