Class: DSpaceRest::Repositories::CollectionRepository
Instance Attribute Summary
#rest_client
Instance Method Summary
collapse
#initialize
Instance Method Details
#create_collection_for(community, collection) ⇒ Object
53
54
55
56
57
|
# File 'lib/dspacerest/repositories/collection_repository.rb', line 53
def create_collection_for(, collection)
form = JSON.generate(collection.to_h)
response = rest_client["/communities/#{community.id}/collections"].post form
DSpaceRest::Collection.new(JSON.parse(response))
end
|
#create_item_for(collection, item) ⇒ Object
59
60
61
62
63
|
# File 'lib/dspacerest/repositories/collection_repository.rb', line 59
def create_item_for(collection, item)
form = JSON.generate({"metadata" => item.to_h["metadata"]})
response = rest_client["/collections/#{collection.id}/items"].post form
DSpaceRest::Item.new(JSON.parse(response))
end
|
#get_all_collections(expand = nil) ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/dspacerest/repositories/collection_repository.rb', line 33
def get_all_collections(expand = nil)
expand_uri = build_expand_uri(expand)
response = rest_client["/collections?#{expand_uri}"].get
collections = []
JSON.parse(response).each do |coll|
collections << DSpaceRest::Collection.new(coll)
end
collections
end
|
#get_collection_by_id(id, expand = nil) ⇒ Object
27
28
29
30
31
|
# File 'lib/dspacerest/repositories/collection_repository.rb', line 27
def get_collection_by_id(id, expand = nil)
expand_uri = build_expand_uri(expand)
response = rest_client["/collections/#{id}?#{expand_uri}"].get
DSpaceRest::Collection.new(JSON.parse(response))
end
|
#get_collection_items(collection) ⇒ Object
√ GET /communities/communityId/collections - Returns array of collections of community. √ GET /collections - Return all collections of DSpace in array. √ GET /collections/collectionId - Return collection with id. √ GET /collections/collectionId/items - Return all items of collection. √ POST /communities/communityId/collections - Create new collections in community. You must post Collection. √ POST /collections/collectionId/items - Create posted item in collection. You must post an Item POST /collections/find-collection - Find collection by passed name. PUT /collections/collectionId - Update collection. You must put Collection. DELETE /collections/collectionId - Delete collection from DSpace. DELETE /collections/collectionId/items/itemId - Delete item in collection. DELETE /communities/communityId/collections/collectionId - Delete collection in community.
18
19
20
21
22
23
24
25
|
# File 'lib/dspacerest/repositories/collection_repository.rb', line 18
def get_collection_items(collection)
response = rest_client["/collections/#{collection.id}/items"].get
items = []
JSON.parse(response).each do |item|
items << DSpaceRest::Item.new(item)
end
items
end
|
#get_collections_of(community, expand = nil) ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/dspacerest/repositories/collection_repository.rb', line 43
def get_collections_of(, expand = nil)
expand_uri = build_expand_uri(expand)
response = rest_client["/communities/#{community.id}/collections?#{expand_uri}"].get
collections = []
JSON.parse(response).each do |coll|
collections << DSpaceRest::Collection.new(coll)
end
collections
end
|