Module: Cul::Scv::Fedora

Defined in:
lib/cul_scv_hydra.rb,
lib/cul_scv_fedora/dummy_object.rb,
lib/cul_scv_fedora/rubydora_patch.rb,
lib/cul_scv_fedora/url_helper_behavior.rb

Defined Under Namespace

Modules: RubydoraPatch, UrlHelperBehavior Classes: DummyObject

Class Method Summary collapse

Class Method Details

.configObject



14
15
16
# File 'lib/cul_scv_hydra.rb', line 14

def self.config
  ActiveFedora.fedora_config.credentials
end

.config_pathObject



11
12
13
# File 'lib/cul_scv_hydra.rb', line 11

def self.config_path
  File.join(Rails.root.to_s, 'config', 'fedora.yml')
end

.connectionObject



17
18
19
# File 'lib/cul_scv_hydra.rb', line 17

def self.connection
  @connection ||= ActiveFedora::RubydoraConnection.new(ActiveFedora.fedora_config.credentials)
end

.ds_for_opts(opts = {}, fake_obj = nil) ⇒ Object



35
36
37
38
39
# File 'lib/cul_scv_hydra.rb', line 35

def self.ds_for_opts(opts={}, fake_obj=nil)
  return nil unless opts[:pid] and opts[:dsid]
  fake_obj = fake_obj.nil? ? DummyObject.new(opts[:pid]) : fake_obj.spawn(opts[:pid])
  return (opts[:class] || ::Rubydora::Datastream).new(fake_obj, opts[:dsid])
end

.ds_for_uri(fedora_uri, fake_obj = nil) ⇒ Object



29
30
31
32
33
# File 'lib/cul_scv_hydra.rb', line 29

def self.ds_for_uri(fedora_uri, fake_obj=nil)
  return nil unless fedora_uri =~ /info\:fedora\/.*/
  p = fedora_uri.split('/')
  return ds_for_opts({pid: p[1], dsid: p[2]})
end

.repositoryObject



21
22
23
24
25
26
27
# File 'lib/cul_scv_hydra.rb', line 21

def self.repository
  @repository ||= begin
    repo = connection.connection
    repo.extend(RubydoraPatch)
    repo
  end
end