Class: GdsApi::AssetManager
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#asset(id) ⇒ GdsApi::Response?
Fetches an asset’s metadata given the id.
-
#create_asset(asset) ⇒ GdsApi::Response
Creates an asset given a hash with one
file
attribute. -
#delete_asset(id) ⇒ GdsApi::Response
Deletes an asset given an id.
-
#media(id, filename) ⇒ GdsApi::Response
Fetches an asset given the id and filename.
-
#restore_asset(id) ⇒ GdsApi::Response
Restores an asset given an id.
-
#update_asset(id, asset) ⇒ GdsApi::Response
Updates an asset given a hash with one
file
attribute. -
#whitehall_media(legacy_url_path) ⇒ GdsApi::Response
Fetches a Whitehall asset given the legacy URL path.
Methods inherited from Base
#client, #create_client, #get_list, #initialize, #url_for_slug
Constructor Details
This class inherits a constructor from GdsApi::Base
Instance Method Details
#asset(id) ⇒ GdsApi::Response?
Fetches an asset’s metadata given the id
89 90 91 |
# File 'lib/gds_api/asset_manager.rb', line 89 def asset(id) get_json("#{base_url}/assets/#{id}") end |
#create_asset(asset) ⇒ GdsApi::Response
Creates an asset given a hash with one file
attribute
Makes a POST
request to the asset manager api to create an asset.
The asset must be provided as a Hash
with a file
attribute that behaves like a File
object. The content-type
that the asset manager will subsequently serve will be based on the file’s extension (derived from #path
). If you supply a content-type
via, for example ActionDispatch::Http::UploadedFile
or another multipart wrapper, it will be ignored. To provide a content-type
directly you must be specify it as a content_type
attribute of the hash.
47 48 49 |
# File 'lib/gds_api/asset_manager.rb', line 47 def create_asset(asset) post_multipart("#{base_url}/assets", asset:) end |
#delete_asset(id) ⇒ GdsApi::Response
Deletes an asset given an id
Makes a DELETE
request to the asset manager api to delete an asset.
112 113 114 |
# File 'lib/gds_api/asset_manager.rb', line 112 def delete_asset(id) delete_json("#{base_url}/assets/#{id}") end |
#media(id, filename) ⇒ GdsApi::Response
Fetches an asset given the id and filename
158 159 160 |
# File 'lib/gds_api/asset_manager.rb', line 158 def media(id, filename) get_raw("#{base_url}/media/#{id}/#{filename}") end |
#restore_asset(id) ⇒ GdsApi::Response
Restores an asset given an id
Makes a POST
request to the asset manager api to restore an asset.
135 136 137 |
# File 'lib/gds_api/asset_manager.rb', line 135 def restore_asset(id) post_json("#{base_url}/assets/#{id}/restore") end |
#update_asset(id, asset) ⇒ GdsApi::Response
Updates an asset given a hash with one file
attribute
Makes a PUT
request to the asset manager api to update an asset.
The asset must be provided as a Hash
with a file
attribute that behaves like a File
object. The content-type
of the file will be based on the files extension unless you specify a content_type
attribute of the hash to set it.
78 79 80 |
# File 'lib/gds_api/asset_manager.rb', line 78 def update_asset(id, asset) put_multipart("#{base_url}/assets/#{id}", asset:) end |
#whitehall_media(legacy_url_path) ⇒ GdsApi::Response
Fetches a Whitehall asset given the legacy URL path
146 147 148 |
# File 'lib/gds_api/asset_manager.rb', line 146 def whitehall_media(legacy_url_path) get_raw("#{base_url}/#{uri_encode(legacy_url_path)}") end |