module Panoptes::Client::Projects
Public Instance Methods
Starts a background process to generate a new CSV export of the aggretation results of the project.
@param project_id [Integer] the id of the project to export @return [Hash] the medium information where the export will be stored when it’s generated
# File lib/panoptes/client/projects.rb, line 72 def create_aggregations_export(project_id) params = export_params('application/x-gzip') path = export_path(project_id, 'aggregations_export') panoptes.post(path, params)['media'].first end
Starts a background process to generate a new CSV export of all the classifications in the project.
@param project_id [Integer] the id of the project to export @return [Hash] the medium information where the export will be stored when it’s generated
# File lib/panoptes/client/projects.rb, line 32 def create_classifications_export(project_id) params = export_params('text/csv') path = export_path(project_id, 'classifications_export') panoptes.post(path, params)['media'].first end
Starts a background process to generate a new CSV export of all the subjects in the project.
@param project_id [Integer] the id of the project to export @return [Hash] the medium information where the export will be stored when it’s generated
# File lib/panoptes/client/projects.rb, line 42 def create_subjects_export(project_id) params = export_params('text/csv') path = export_path(project_id, 'subjects_export') panoptes.post(path, params)['media'].first end
Starts a background process to generate a new CSV export of all the workflow_contents in the project.
@param project_id [Integer] the id of the project to export @return [Hash] the medium information where the export will be stored when it’s generated
# File lib/panoptes/client/projects.rb, line 62 def create_workflow_contents_export(project_id) params = export_params('text/csv') path = export_path(project_id, 'workflow_contents_export') panoptes.post(path, params)['media'].first end
Starts a background process to generate a new CSV export of all the workflows in the project.
@param project_id [Integer] the id of the project to export @return [Hash] the medium information where the export will be stored when it’s generated
# File lib/panoptes/client/projects.rb, line 52 def create_workflows_export(project_id) params = export_params('text/csv') path = export_path(project_id, 'workflows_export') panoptes.post(path, params)['media'].first end
Fetches the specified project
@see docs.panoptes.apiary.io/#reference/projects/project-collection/list-all-projects @param project_id [String] The ID of the project to be retrieved @return [Hash] The requested project
# File lib/panoptes/client/projects.rb, line 23 def project(project_id) response = panoptes.get("/projects/#{project_id}") response.fetch('projects').find { |i| i.fetch('id').to_s == project_id.to_s } end
Fetches the list of all projects.
@see docs.panoptes.apiary.io/#reference/projects/project-collection/list-all-projects @param search [String] filter projects using full-text search on names (amongst others) @return [Array] the list of projects
# File lib/panoptes/client/projects.rb, line 11 def projects(search: nil) params = {} params[:search] = search if search panoptes.paginate('/projects', params)['projects'] end
Private Instance Methods
# File lib/panoptes/client/projects.rb, line 80 def export_params(content_type) { media: { content_type: content_type, metadata: { recipients: [] } } } end
# File lib/panoptes/client/projects.rb, line 84 def export_path(project_id, export_type) "/projects/#{project_id}/#{export_type}" end