Sha256: 4eb442beb7315e0b4ff1eef1144e50902f1b77156905e6ad2383ff64280a7295

Contents?: true

Size: 788 Bytes

Versions: 10

Compression:

Stored size: 788 Bytes

Contents

module ActiveFedora::Associations::Builder
  class DirectlyContains < CollectionAssociation #:nodoc:
    self.macro = :directly_contains
    self.valid_options += [:has_member_relation, :is_member_of_relation]
    self.valid_options -= [:predicate]

    def build
      reflection = super
      configure_dependency
      reflection
    end

    def validate_options
      super
      if !options[:has_member_relation] && !options[:is_member_of_relation]
        raise ArgumentError, "You must specify a :has_member_relation or :is_member_of_relation predicate for #{name}"
      elsif !options[:has_member_relation].kind_of?(RDF::URI) && !options[:is_member_of_relation].kind_of?(RDF::URI)
        raise ArgumentError, "Predicate must be a kind of RDF::URI"
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
active-fedora-9.5.0 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.4.3 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.4.2 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.4.1 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.4.0 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.3.0 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.2.1 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.2.0 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.2.0.rc2 lib/active_fedora/associations/builder/directly_contains.rb
active-fedora-9.2.0.rc1 lib/active_fedora/associations/builder/directly_contains.rb