Class: Figshare::PublicCollections

Inherits:
Base
  • Object
show all
Defined in:
lib/public_collections.rb

Overview

Figshare public colections api calls

Instance Attribute Summary

Attributes inherited from Base

#api_url, #article_index_file, #auth_token, #base_dir, #hostname, #institute_id

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Figshare::Base

Instance Method Details

#articles(collection_id:) {|Hash| ... } ⇒ Object

Get details of list of articles for a specific collection

Parameters:

  • collection_id (Integer)

    Figshare id of the collection

Yields:

  • (Hash)

    title, doi, handle, url, published_date



100
101
102
# File 'lib/public_collections.rb', line 100

def articles(collection_id:, &block)
  get_paginate(api_query: "collections/#{collection_id}/articles", &block)
end

#detail(collection_id:) {|Hash| ... } ⇒ Object

Get details of specific collection (default version)

Parameters:

  • collection_id (Integer)

    Figshare id of the collection

Yields:

  • (Hash)

    See figshare api docs



75
76
77
# File 'lib/public_collections.rb', line 75

def detail(collection_id:, &block)
  get(api_query: "collections/#{collection_id}",  &block)
end

#list(institution: false, group_id: nil, published_since: nil, modified_since: nil, resource_doi: nil, doi: nil, handle: nil, order: 'published_date', order_direction: 'desc') {|Hash| ... } ⇒ Object

Requests a list of public collections

Parameters:

  • institution (Boolean) (defaults to: false)

    Just our institution

  • group_id (Integer) (defaults to: nil)

    Only return this group’s collections

  • published_since (Time) (defaults to: nil)

    Return results if published after this time

  • modified_since (Time) (defaults to: nil)

    Return results if modified after this time

  • resource_doi (String) (defaults to: nil)

    Matches this resource doi

  • doi (String) (defaults to: nil)

    Matches this doi

  • handle (String) (defaults to: nil)

    Matches this handle

  • order (String) (defaults to: 'published_date')

    “published_date” Default, “modified_date”, “views”, “cites”, “shares”

  • order_direction (String) (defaults to: 'desc')

    “desc” Default, “asc”

Yields:

  • (Hash)

    title, doi, handle, url, published_date



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/public_collections.rb', line 19

def list(institution: false, group_id: nil,
                published_since: nil, modified_since: nil, 
                resource_doi: nil, doi: nil, handle: nil,  
                order: 'published_date', order_direction: 'desc',
                &block
              )
  args = {}
  args['institution'] = @institute_id  if ! institution.nil?
  args['group'] = 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?
  get_paginate(api_query: 'collections', args: args, &block)
end

#search(institute: false, group_id: nil, published_since: nil, modified_since: nil, item_type: nil, resource_doi: nil, doi: nil, handle: nil, order: 'published_date', order_direction: 'desc', search_for:) {|Hash| ... } ⇒ Object

Search within the public collections

Parameters:

  • institution (Boolean)

    Just our institution

  • group_id (Integer) (defaults to: nil)

    Only return this group’s collections

  • published_since (Time) (defaults to: nil)

    Return results if published after this time

  • modified_since (Time) (defaults to: nil)

    Return results if modified after this time

  • resource_doi (String) (defaults to: nil)

    Matches this resource doi

  • doi (String) (defaults to: nil)

    Matches this doi

  • handle (String) (defaults to: nil)

    Matches this handle

  • order (String) (defaults to: 'published_date')

    “published_date” Default, “modified_date”, “views”, “cites”, “shares”

  • order_direction (String) (defaults to: 'desc')

    “desc” Default, “asc”

Yields:

  • (Hash)

    title, doi, handle, url, published_date



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/public_collections.rb', line 50

def search( institute: false, group_id: nil,
                        published_since: nil, modified_since: nil, 
                        item_type: nil, resource_doi: nil, doi: nil, handle: nil,  
                        order: 'published_date', order_direction: 'desc',
                        search_for:,
                        &block
                      )
  args = { 'search_for' => search_for }
  args['institution'] = @institute_id if ! institute.nil?
  args['group_id'] = group_id if ! group_id.nil?
  args['item_type'] = item_type if ! item_type.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/articles/search', args: args, &block)
end

#version_detail(collection_id:, version_id:) {|Hash| ... } ⇒ Object

Get details of specific collection version

Parameters:

  • collection_id (Integer)

    Figshare id of the collection

  • version_id (Integer)

    Figshare id of the collection’s version

Yields:

  • (Hash)

    See figshare api docs



92
93
94
# File 'lib/public_collections.rb', line 92

def version_detail(collection_id:, version_id:, &block)
  get(api_query: "collections/#{collection_id}/versions/#{version_id}",  &block)
end

#versions(collection_id:) {|Hash| ... } ⇒ Object

Return details of a list of public collection Versions

Parameters:

  • collection_id (Integer)

    Figshare id of the collection

Yields:

  • (Hash)

    See figshare api docs



83
84
85
# File 'lib/public_collections.rb', line 83

def versions(collection_id:, &block)
  get(api_query: "collections/#{collection_id}/versions",  &block)
end