Sha256: 150f11179b1c96d2bff9fd3e5154c96d69a6c0a5b005c9b0b10a0e060d7af003
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
module ActiveFedora::Associations::Builder class IndirectlyContains < CollectionAssociation #:nodoc: def self.macro :indirectly_contains end def self.valid_options(options) super + [:has_member_relation, :is_member_of_relation, :inserted_content_relation, :foreign_key, :through] - [:predicate] end def build reflection = super configure_dependency reflection end def self.define_readers(mixin, name) super mixin.redefine_method("#{name.to_s.singularize}_ids") do association(name).ids_reader end end def validate_options super if !options[:has_member_relation] && !options[:is_member_of_relation] raise ArgumentError, "You must specify a predicate for #{name}" elsif !options[:has_member_relation].is_a?(RDF::URI) && !options[:is_member_of_relation].is_a?(RDF::URI) raise ArgumentError, "Predicate must be a kind of RDF::URI" end raise ArgumentError, "Missing :through option" unless options[:through] raise ArgumentError, "Missing :foreign_key option" unless options[:foreign_key] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active-fedora-9.10.0.pre2 | lib/active_fedora/associations/builder/indirectly_contains.rb |
active-fedora-9.10.0.pre1 | lib/active_fedora/associations/builder/indirectly_contains.rb |