class ActiveFedora::InitializingConnection

Attributes

connection[R]
root_resource_path[R]

Public Class Methods

new(connection, root_resource_path) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 5
def initialize(connection, root_resource_path)
  super(connection)
  @connection = connection
  @root_resource_path = root_resource_path
  @initialized = false
end

Public Instance Methods

__getobj__() click to toggle source
# File lib/active_fedora/initializing_connection.rb, line 12
def __getobj__
  @connection
end
__setobj__(connection) click to toggle source
# File lib/active_fedora/initializing_connection.rb, line 16
def __setobj__(connection)
  @connection = connection
end
delete(*) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 30
def delete(*)
  init_base_path
  super
end
get(*) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 25
def get(*)
  init_base_path
  super
end
head(*) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 20
def head(*)
  init_base_path
  super
end
patch(*) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 45
def patch(*)
  init_base_path
  super
end
post(*) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 35
def post(*)
  init_base_path
  super
end
put(*) click to toggle source
Calls superclass method
# File lib/active_fedora/initializing_connection.rb, line 40
def put(*)
  init_base_path
  super
end

Private Instance Methods

init_base_path() click to toggle source

Call this to create a Container Resource to act as the base path for this connection

# File lib/active_fedora/initializing_connection.rb, line 53
def init_base_path
  return if @initialized

  connection.head(root_resource_path)
  ActiveFedora::Base.logger.info "Attempted to init base path `#{root_resource_path}`, but it already exists"
  @initialized = true
  false
rescue Ldp::NotFound
  @initialized = connection.put(root_resource_path, '').success?
end