Class: DSpaceRest::Repositories::ItemRepository
Instance Attribute Summary
#rest_client
Instance Method Summary
collapse
#initialize
Instance Method Details
#create_bitstream_for(item, file, upload_strategy) ⇒ Object
59
60
61
62
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 59
def create_bitstream_for(item, file, upload_strategy)
response = upload_strategy.upload("/items/#{item.id}/bitstreams", file)
DSpaceRest::Bitstream.new(JSON.parse(response))
end
|
54
55
56
57
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 54
def create_metadata_for(item)
form = JSON.generate(self.to_h["metadata"])
response = rest_client["/items/#{item.id}/metadata"].put form
end
|
#delete(item) ⇒ Object
64
65
66
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 64
def delete(item)
response = rest_client["/items/#{item.id}"].delete
end
|
#get_all_items(expand = nil) ⇒ Object
19
20
21
22
23
24
25
26
27
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 19
def get_all_items(expand = nil)
expand_uri = build_expand_uri(expand)
response = rest_client["/items?#{expand_uri}"].get
items = []
JSON.parse(response).each do |item|
items << DSpaceRest::Item.new(item)
end
items
end
|
#get_bitstreams_of(item) ⇒ Object
44
45
46
47
48
49
50
51
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 44
def get_bitstreams_of(item)
response = rest_client["/items/#{item.id}/bitstreams"].get
bitstreams = []
JSON.parse(response).each do |bits|
bitstreams << DSpaceRest::Bitstream.new(bits)
end
bitstreams
end
|
#get_item_by_id(id, expand = nil) ⇒ Object
29
30
31
32
33
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 29
def get_item_by_id(id, expand = nil)
expand_uri = build_expand_uri(expand)
response = rest_client["/items/#{id}?#{expand_uri}"].get
DSpaceRest::Item.new(JSON.parse(response))
end
|
35
36
37
38
39
40
41
42
|
# File 'lib/dspacerest/repositories/item_repository.rb', line 35
def get_metadata_of(item)
response = rest_client["/items/#{item.id}/metadata"].get
metadata = []
JSON.parse(response).each do |m|
metadata << DSpaceRest::Metadata.new(m)
end
metadata
end
|