Class: AtlasRb::Work

Inherits:
Resource show all
Defined in:
lib/atlas_rb/work.rb

Constant Summary collapse

ROUTE =
"/works/"

Class Method Summary collapse

Methods included from FaradayHelper

#connection, #multipart

Class Method Details

.create(id) ⇒ Object



11
12
13
14
# File 'lib/atlas_rb/work.rb', line 11

def self.create(id)
  # params[:collection_id]
  JSON.parse(connection({ collection_id: id }).post(ROUTE)&.body)["work"]
end

.destroy(id) ⇒ Object



16
17
18
# File 'lib/atlas_rb/work.rb', line 16

def self.destroy(id)
  connection({}).delete(ROUTE + id)
end

.find(id) ⇒ Object



7
8
9
# File 'lib/atlas_rb/work.rb', line 7

def self.find(id)
  JSON.parse(connection({}).get(ROUTE + id)&.body)["work"]
end

.mods(id) ⇒ Object



27
28
29
# File 'lib/atlas_rb/work.rb', line 27

def self.mods(id)
  connection({}).get(ROUTE + id + '/mods.html')&.body
end

.update(id, xml_path) ⇒ Object



20
21
22
23
24
25
# File 'lib/atlas_rb/work.rb', line 20

def self.update(id, xml_path)
  payload = { binary: Faraday::Multipart::FilePart.new(File.open(xml_path),
                                                       "application/xml",
                                                       File.basename(xml_path)) }
  JSON.parse(multipart({}).patch(ROUTE + id, payload)&.body)
end

.xml(id) ⇒ Object



31
32
33
# File 'lib/atlas_rb/work.rb', line 31

def self.xml(id)
  connection({}).get(ROUTE + id + '/mods')&.body
end