Class: ActiveFedora::Aggregation::Builder
- Inherits:
-
ActiveFedora::Associations::Builder::CollectionAssociation
- Object
- ActiveFedora::Associations::Builder::CollectionAssociation
- ActiveFedora::Aggregation::Builder
- Includes:
- ActiveFedora::AutosaveAssociation::AssociationBuilderExtension
- Defined in:
- lib/active_fedora/aggregation/builder.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.define_readers(mixin, name) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/active_fedora/aggregation/builder.rb', line 15 def self.define_readers(mixin, name) super mixin.redefine_method("#{name.to_s.singularize}_ids") do association(name).ids_reader end mixin.redefine_method("ordered_#{name.to_s.pluralize}") do association(name).ordered_reader end end |
.define_writers(mixin, name) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/active_fedora/aggregation/builder.rb', line 25 def self.define_writers(mixin, name) super mixin.redefine_method("#{name.to_s.singularize}_ids=") do |ids| association(name).ids_writer(ids) end end |
Instance Method Details
#build ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/active_fedora/aggregation/builder.rb', line 6 def build reflection = super model.belongs_to :head, predicate: ::RDF::Vocab::IANA['first'], class_name: 'ActiveFedora::Aggregation::Proxy' model.belongs_to :tail, predicate: ::RDF::Vocab::IANA.last, class_name: 'ActiveFedora::Aggregation::Proxy' model.include AggregationExtension reflection end |