Sha256: 3a14ca5b4f028ffbbafa8c8deec705e48b7ef786fc1126c8e7e9ca87a2e7c1a8
Contents?: true
Size: 1.4 KB
Versions: 6
Compression:
Stored size: 1.4 KB
Contents
module ActiveFedora class Fedora def initialize(config) @config = config init_base_path end def host @config[:url] end def base_path @config[:base_path] || '/' end def user @config[:user] end def password @config[:password] end def connection @connection ||= CachingConnection.new(authorized_connection) end def ldp_resource_service @service ||= LdpResourceService.new(connection) end SLASH = '/'.freeze BLANK = ''.freeze # Call this to create a Container Resource to act as the base path for this connection def init_base_path connection.head(root_resource_path) ActiveFedora::Base.logger.info "Attempted to init base path `#{root_resource_path}`, but it already exists" if ActiveFedora::Base.logger false rescue Ldp::NotFound if !host.downcase.end_with?("/rest") ActiveFedora::Base.logger.warn "Fedora URL (#{host}) does not end with /rest. This could be a problem. Check your fedora.yml config" end connection.put(root_resource_path, BLANK).success? end # Remove a leading slash from the base_path def root_resource_path @root_resource_path ||= base_path.sub(SLASH, BLANK) end def authorized_connection connection = Faraday.new(host) connection.basic_auth(user, password) connection end end end
Version data entries
6 entries across 6 versions & 1 rubygems