Sha256: 9cb04e0014d6c5b3d0318830c7641503eae35d58c990fc2895aa6a52bcd1b93a

Contents?: true

Size: 979 Bytes

Versions: 41

Compression:

Stored size: 979 Bytes

Contents

module ActiveFedora
  
  class Relationship 
    
    attr_accessor :subject, :predicate, :object, :is_literal, :data_type
    def initialize(attr={})
      attr.merge!({:is_literal => false})
      self.subject = attr[:subject]
      @predicate = attr[:predicate]
      self.object = attr[:object]
      @is_literal = attr[:is_literal]
      @data_type = attr[:data_type]
    end
    
    def subject=(subject)
      @subject = generate_uri(subject)
    end
    
    def subject_pid=(pid)
      @subject = "info:fedora/#{pid}"
    end
    
    def object=(object)
      @object = generate_uri(object)
    end
    
    def object_pid=(pid)
      @object = "info:fedora/#{pid}"
    end
    
    def generate_uri(input)
      if input.class == Symbol || input == nil
        return input
      elsif input.respond_to?(:pid)
        return "info:fedora/#{input.pid}"
      else
        input.include?("info:fedora") ? input : "info:fedora/#{input}"
      end
    end
  
  end
  
end

Version data entries

41 entries across 41 versions & 2 rubygems

Version Path
active-fedora-2.3.3 lib/active_fedora/relationship.rb
active-fedora-2.3.1 lib/active_fedora/relationship.rb
active-fedora-2.3.0 lib/active_fedora/relationship.rb
active-fedora-2.2.3 lib/active_fedora/relationship.rb
active-fedora-2.2.2 lib/active_fedora/relationship.rb
active-fedora-2.2.1 lib/active_fedora/relationship.rb
active-fedora-2.2.0 lib/active_fedora/relationship.rb
active-fedora-2.1.0 lib/active_fedora/relationship.rb
active-fedora-2.0.4 lib/active_fedora/relationship.rb
active-fedora-2.0.3 lib/active_fedora/relationship.rb
active-fedora-2.0.2 lib/active_fedora/relationship.rb
active-fedora-2.0.1 lib/active_fedora/relationship.rb
active-fedora-2.0.0 lib/active_fedora/relationship.rb
active-fedora-1.2.9 lib/active_fedora/relationship.rb
active-fedora-1.2.8 lib/active_fedora/relationship.rb
active-fedora-1.2.7 lib/active_fedora/relationship.rb
active-fedora-1.2.6 lib/active_fedora/relationship.rb
active-fedora-1.2.5 lib/active_fedora/relationship.rb
active-fedora-1.2.4 lib/active_fedora/relationship.rb
active-fedora-1.2.3 lib/active_fedora/relationship.rb