Class: Figshare::PrivateCollections
- Defined in:
- lib/private_collections.rb
Overview
Figshare Private Collections API
Instance Attribute Summary
Attributes inherited from Base
#api_url, #article_index_file, #auth_token, #base_dir, #hostname, #institute_id
Instance Method Summary collapse
-
#article_delete(collection_id:, article_id:, impersonate: nil, &block) ⇒ Object
Get a private article’s details (Not a figshare API call. Duplicates PrivateArticles:article_detail).
-
#article_detail(article_id:, impersonate: nil, &block) ⇒ Object
Get a private article’s details (Not a figshare API call. Duplicates PrivateArticles:article_detail).
-
#articles(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Yield collection articles.
- #articles_add(collection_id:, articles:, impersonate: nil) {|Hash| ... } ⇒ Object
-
#articles_replace(collection_id:, articles:, impersonate: nil, &block) ⇒ Object
Get a private article’s details (Not a figshare API call. Duplicates PrivateArticles:article_detail).
-
#author_delete(collection_id:, impersonate: nil, author_id:) ⇒ Object
Remove author from the collection.
-
#authors(article_id, impersonate: nil) {|Hash| ... } ⇒ Object
Yield collections authors.
-
#authors_add(article_id, impersonate: nil, authors:) {|Hash| ... } ⇒ Object
Associate new authors with the collection.
-
#authors_replace(article_id, impersonate: nil, authors:) ⇒ Object
Replace existing authors list with a new list.
-
#categories(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Yield collection categories.
-
#categories_add(collection_id:, categories:, impersonate: nil) {|Hash| ... } ⇒ Object
Associate new categories with the collection.
-
#categories_delete(collection_id:, category_id:, impersonate: nil, &block) ⇒ Object
Delete category from collection’s categories.
-
#categories_replace(collection_id:, categories:, impersonate: nil, &block) ⇒ Object
Associate new categories with the collection.
-
#collection_delete(collection_id:, impersonate: nil, &block) ⇒ Object
Delete a private collection.
-
#create(body:, impersonate: nil, &block) ⇒ Object
Create a new private Collection by sending collection information.
-
#detail(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Return details of specific collection (default version).
-
#link_create(collection_id:, private_link:, impersonate: nil) {|Hash| ... } ⇒ Object
Create new private link for this collection.
-
#link_delete(collection_id:, link:, impersonate: nil, &block) ⇒ Object
Disable/delete private link for this collection.
-
#link_update(collection_id:, link_id:, private_link:, impersonate: nil, &block) ⇒ Object
Update private link for this collection.
-
#links(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
List private links.
-
#list(order: 'published_date', order_direction: 'desc', impersonate: nil) {|Hash| ... } ⇒ Object
Requests a list of own (or institute’s) collections.
-
#publish(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
When a collection is published, a new public version will be generated.
-
#reserve_doi(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Reserve DOI for collection.
-
#reserve_handle(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Reserve Handle for collection.
-
#search(institute: false, group_id: nil, impersonate: nil, published_since: nil, modified_since: nil, resource_doi: nil, doi: nil, handle: nil, order: 'published_date', order_direction: 'desc', search_for:) {|Hash| ... } ⇒ Object
Search within the own (or institute’s) collections.
-
#update(collection_id:, body:, impersonate: nil, &block) ⇒ Object
Create a new private Collection by sending collection information.
Methods inherited from Base
Constructor Details
This class inherits a constructor from Figshare::Base
Instance Method Details
#article_delete(collection_id:, article_id:, impersonate: nil, &block) ⇒ Object
Get a private article’s details (Not a figshare API call. Duplicates PrivateArticles:article_detail)
272 273 274 275 276 |
# File 'lib/private_collections.rb', line 272 def article_delete(collection_id:, article_id: , impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? delete( api_query: "account/collections/#{collection_id}/articles/#{article_id}", args: args, &block) end |
#article_detail(article_id:, impersonate: nil, &block) ⇒ Object
Get a private article’s details (Not a figshare API call. Duplicates PrivateArticles:article_detail)
238 239 240 241 242 |
# File 'lib/private_collections.rb', line 238 def article_detail(article_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? get(api_query: "account/articles/#{article_id}", args: args, &block) end |
#articles(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Yield collection articles
228 229 230 231 232 |
# File 'lib/private_collections.rb', line 228 def articles(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? get(api_query: "account/collections/#{collection_id}/articles", args: args, &block) end |
#articles_add(collection_id:, articles:, impersonate: nil) {|Hash| ... } ⇒ Object
250 251 252 253 254 |
# File 'lib/private_collections.rb', line 250 def articles_add(collection_id:, articles: , impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post( api_query: "account/collections/#{collection_id}/articles", args: args, data: { "articles": articles}, &block) end |
#articles_replace(collection_id:, articles:, impersonate: nil, &block) ⇒ Object
Get a private article’s details (Not a figshare API call. Duplicates PrivateArticles:article_detail)
261 262 263 264 265 |
# File 'lib/private_collections.rb', line 261 def articles_replace(collection_id:, articles:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? put( api_query: "account/collections/#{collection_id}/articles/#{article_id}", args: args, data: { "articles": articles}, &block) end |
#author_delete(collection_id:, impersonate: nil, author_id:) ⇒ Object
Remove author from the collection
171 172 173 174 175 |
# File 'lib/private_collections.rb', line 171 def (collection_id:, impersonate: nil, author_id:) args = {} args["impersonate"] = impersonate if ! impersonate.nil? delete(api_query: "account/collections/#{collection_id}/authors/#{author_id}", args: args, &block) end |
#authors(article_id, impersonate: nil) {|Hash| ... } ⇒ Object
Yield collections authors
137 138 139 140 141 |
# File 'lib/private_collections.rb', line 137 def (article_id, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? get(api_query: "account/collections/#{collection_id}/authors", args: args, &block) end |
#authors_add(article_id, impersonate: nil, authors:) {|Hash| ... } ⇒ Object
Associate new authors with the collection. This will add new authors to the list of already associated authors
149 150 151 152 153 |
# File 'lib/private_collections.rb', line 149 def (article_id, impersonate: nil, authors:) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: "account/collections/#{collection_id}/authors", args: args, data: {"authors" => }, &block) end |
#authors_replace(article_id, impersonate: nil, authors:) ⇒ Object
Replace existing authors list with a new list
160 161 162 163 164 |
# File 'lib/private_collections.rb', line 160 def (article_id, impersonate: nil, authors:) args = {} args["impersonate"] = impersonate if ! impersonate.nil? put(api_query: "account/collections/#{collection_id}/authors", args: args, data: {"authors" => }, &block) end |
#categories(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Yield collection categories
182 183 184 185 186 |
# File 'lib/private_collections.rb', line 182 def categories(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? get(api_query: 'account/collections/#{collection_id}/categories', args: args, &block) end |
#categories_add(collection_id:, categories:, impersonate: nil) {|Hash| ... } ⇒ Object
Associate new categories with the collection. This will add new categories to the list of already associated categories
195 196 197 198 199 |
# File 'lib/private_collections.rb', line 195 def categories_add(collection_id:, categories:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: "account/collections/#{collection_id}/categories", args: args, data: { 'categories' => categories }, &block) end |
#categories_delete(collection_id:, category_id:, impersonate: nil, &block) ⇒ Object
Delete category from collection’s categories
217 218 219 220 221 |
# File 'lib/private_collections.rb', line 217 def categories_delete(collection_id:, category_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? delete(api_query: "account/collections/#{collection_id}/categories/#{category_id}", args: args, &block) end |
#categories_replace(collection_id:, categories:, impersonate: nil, &block) ⇒ Object
Associate new categories with the collection. This will remove all already associated categories and add these new ones
206 207 208 209 210 |
# File 'lib/private_collections.rb', line 206 def categories_replace(collection_id:, categories:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? put(api_query: "account/collections/#{collection_id}/categories", args: args, data: { 'categories' => categories }, &block) end |
#collection_delete(collection_id:, impersonate: nil, &block) ⇒ Object
Delete a private collection
69 70 71 72 73 |
# File 'lib/private_collections.rb', line 69 def collection_delete(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? delete( api_query: "account/collections/#{collection_id}/files/#{file_id}", args: args, &block ) end |
#create(body:, impersonate: nil, &block) ⇒ Object
Create a new private Collection by sending collection information
59 60 61 62 63 |
# File 'lib/private_collections.rb', line 59 def create(body:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: "account/collections", args: args, data: body, &block) end |
#detail(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Return details of specific collection (default version)
80 81 82 83 84 |
# File 'lib/private_collections.rb', line 80 def detail(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? get(api_query: "account/collections/#{collection_id}", args: args, &block) end |
#link_create(collection_id:, private_link:, impersonate: nil) {|Hash| ... } ⇒ Object
Create new private link for this collection
295 296 297 298 299 |
# File 'lib/private_collections.rb', line 295 def link_create(collection_id:, private_link:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: "account/collections/#{collection_id}/private_links", args: args, data: private_link, &block) end |
#link_delete(collection_id:, link:, impersonate: nil, &block) ⇒ Object
Disable/delete private link for this collection
306 307 308 309 310 |
# File 'lib/private_collections.rb', line 306 def link_delete(collection_id:, link:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? delete(api_query: "account/collections/#{collection_id}/private_links/#{link_id}", args: args, &block) end |
#link_update(collection_id:, link_id:, private_link:, impersonate: nil, &block) ⇒ Object
Update private link for this collection
317 318 319 320 321 |
# File 'lib/private_collections.rb', line 317 def link_update(collection_id:, link_id:, private_link:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? put(api_query: "account/collections/#{collection_id}/private_links/#{link_id}", args: args, data: private_link, &block) end |
#links(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
List private links
283 284 285 286 287 |
# File 'lib/private_collections.rb', line 283 def links(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? get(api_query: "account/collections/#{collection_id}/private_links", args: args, &block) end |
#list(order: 'published_date', order_direction: 'desc', impersonate: nil) {|Hash| ... } ⇒ Object
Requests a list of own (or institute’s) collections
13 14 15 16 17 18 19 |
# File 'lib/private_collections.rb', line 13 def list(order: 'published_date', order_direction: 'desc', impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? args['order'] = order if ! order.nil? args['order_direction'] = order_direction if ! order_direction.nil? get_paginate(api_query: 'account/collections', args: args, &block) end |
#publish(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
When a collection is published, a new public version will be generated. Any further updates to the collection will affect the private collection data. In order to make these changes publicly visible, an explicit publish operation is needed.
126 127 128 129 130 |
# File 'lib/private_collections.rb', line 126 def publish(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: 'account/collections/#{collection_id}/publish', args: args, &block) end |
#reserve_doi(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Reserve DOI for collection
102 103 104 105 106 |
# File 'lib/private_collections.rb', line 102 def reserve_doi(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: 'account/collections/#{collection_id}/reserve_doi', args: args, &block) end |
#reserve_handle(collection_id:, impersonate: nil) {|Hash| ... } ⇒ Object
Reserve Handle for collection
113 114 115 116 117 |
# File 'lib/private_collections.rb', line 113 def reserve_handle(collection_id:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? post(api_query: 'account/collections/#{collection_id}/reserve_handle', args: args, &block) end |
#search(institute: false, group_id: nil, impersonate: nil, published_since: nil, modified_since: nil, resource_doi: nil, doi: nil, handle: nil, order: 'published_date', order_direction: 'desc', search_for:) {|Hash| ... } ⇒ Object
Search within the own (or institute’s) collections
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/private_collections.rb', line 34 def search(institute: false, group_id: nil, impersonate: nil, published_since: nil, modified_since: nil, resource_doi: nil, doi: nil, handle: nil, order: 'published_date', order_direction: 'desc', search_for:, &block ) args = { 'search_for' => search_for } args["impersonate"] = impersonate if ! impersonate.nil? args['institution'] = @institute_id if ! institute.nil? args['group_id'] = group_id if ! group_id.nil? args['resource_doi'] = resource_doi if ! resource_doi.nil? args['doi'] = doi if ! doi.nil? args['handle'] = handle if ! handle.nil? args['published_since'] = published_since if ! published_since.nil? args['modified_since'] = modified_since if ! modified_since.nil? args['order'] = order if ! order.nil? args['order_direction'] = order_direction if ! order_direction.nil? post(api_query: 'account/collections/search', args: args, &block) end |
#update(collection_id:, body:, impersonate: nil, &block) ⇒ Object
Create a new private Collection by sending collection information
91 92 93 94 95 |
# File 'lib/private_collections.rb', line 91 def update(collection_id:, body:, impersonate: nil, &block) args = {} args["impersonate"] = impersonate if ! impersonate.nil? put(api_query: "account/collections", args: args, data: body, &block) end |