Class: Shelver::Repository
- Inherits:
-
Object
- Object
- Shelver::Repository
- Defined in:
- lib/shelver/repository.rb
Class Method Summary collapse
-
.get_datastream(obj, ds_name) ⇒ Object
This method retrieves the datastream for the given object with the given datastream name.
-
.get_datastreams(obj) ⇒ Object
This method retrieves a comprehensive list of datastreams for the given object.
-
.get_object(pid) ⇒ Object
This method retrieves the object associated with the given unique id.
-
.get_pids(num_docs) ⇒ Object
This method retrieves a comprehensive list of unique ids in the fedora repository.
Instance Method Summary collapse
-
#initialize_repository ⇒ Object
This method initializes the fedora repository and solr instance.
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_repository ⇒ Object
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 |