Class: Shelver::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/shelver/repository.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get_datastream(obj, ds_name) ⇒ Object

This method retrieves the datastream for the given object with the given datastream name



45
46
47
48
49
50
51
# File 'lib/shelver/repository.rb', line 45

def self.get_datastream( obj, ds_name )
  begin
    obj.datastreams[ ds_name ]
  rescue
    return nil
  end
end

.get_datastreams(obj) ⇒ Object

This method retrieves a comprehensive list of datastreams for the given object



38
39
40
# File 'lib/shelver/repository.rb', line 38

def self.get_datastreams( obj )
  ds_keys = obj.datastreams.keys
end

.get_object(pid) ⇒ Object

This method retrieves the object associated with the given unique id



31
32
33
# File 'lib/shelver/repository.rb', line 31

def self.get_object( pid )
  object = ActiveFedora::Base.load_instance( pid )
end

.get_pids(num_docs) ⇒ Object

This method retrieves a comprehensive list of unique ids in the fedora repository



19
20
21
22
23
24
25
26
# File 'lib/shelver/repository.rb', line 19

def self.get_pids( num_docs )
  solr_results = ActiveFedora::SolrService.instance.conn.query( "active_fedora_model_field:Document", { :rows => num_docs } )
  id_array = []
  solr_results.hits.each do |hit|
    id_array << hit[SOLR_DOCUMENT_ID]
  end
  return id_array
end

Instance Method Details

#initialize_repositoryObject

This method initializes the fedora repository and solr instance



11
12
13
14
# File 'lib/shelver/repository.rb', line 11

def initialize_repository
  Fedora::Repository.register( FEDORA_URL )
  ActiveFedora::SolrService.register( FEDORA_SOLR_URL )
end