Class: GdsApi::AssetManager
- Inherits:
-
Base
- Object
- Base
- GdsApi::AssetManager
- Defined in:
- lib/gds_api/asset_manager.rb
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
fileattribute. -
#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
fileattribute. -
#whitehall_media(legacy_url_path) ⇒ GdsApi::Response
Fetches a Whitehall asset given the legacy URL path.
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 |