Module: Cul::Hydra::Fedora::ClassMethods

Included in:
Cul::Hydra::Fedora
Defined in:
lib/cul_hydra/fedora.rb

Instance Method Summary collapse

Instance Method Details

#configObject



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

def config
  ActiveFedora.fedora_config.credentials
end

#config_pathObject



8
9
10
# File 'lib/cul_hydra/fedora.rb', line 8

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

#connectionObject



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

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

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



32
33
34
35
36
# File 'lib/cul_hydra/fedora.rb', line 32

def 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



26
27
28
29
30
# File 'lib/cul_hydra/fedora.rb', line 26

def 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



18
19
20
21
22
23
24
# File 'lib/cul_hydra/fedora.rb', line 18

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