Sha256: ed3d61a8689f0a46b0e4af4e12e19a0a5b8a1b3e7e8b2a9b24504121f7de0b38

Contents?: true

Size: 946 Bytes

Versions: 20

Compression:

Stored size: 946 Bytes

Contents

require 'singleton'
require 'rubydora'

module ActiveFedora
  class RubydoraConnection
    include Singleton
    
    attr_reader :connection
    attr_accessor :options

    def self.connect(params={})
      if params.kind_of? String
        u = URI.parse params
        params = {}
        params[:user] = u.user
        params[:password] = u.password
        params[:url] = "#{u.scheme}://#{u.host}:#{u.port}#{u.path}"
      end
      instance = self.instance
      instance.options = params
      instance.connect
      instance
    end

    def connect()
      return unless @connection.nil?
      @connection = Rubydora.connect :url => options[:url], :user => options[:user], :password => options[:password]
    end

    def nextid(attrs={})
      d = REXML::Document.new(connection.next_pid(:namespace=>attrs[:namespace]))
      d.elements['//pid'].text
    end

    def find_model(pid, klass)
      klass.new(:pid=>pid)
    end

  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
active-fedora-3.1.1 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.rc4 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.rc3 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.rc2 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.rc1 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre14 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre13 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre12 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre11 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre10 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre9 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre8 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre7 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre6 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre5 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre4 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre3 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre2 lib/active_fedora/rubydora_connection.rb
active-fedora-3.1.0.pre1 lib/active_fedora/rubydora_connection.rb