Module: Panoptes::Client::ProjectPreferences
- Included in:
- Panoptes::Client
- Defined in:
- lib/panoptes/client/project_preferences.rb
Instance Method Summary collapse
- #project_preferences(id) ⇒ Object
- #promote_user_to_workflow(user_id, project_id, workflow_id) ⇒ Object
- #set_user_workflow(user_id, project_id, workflow_id) ⇒ Object
- #user_project_preferences(user_id, project_id) ⇒ Object
Instance Method Details
#project_preferences(id) ⇒ Object
6 7 8 9 |
# File 'lib/panoptes/client/project_preferences.rb', line 6 def project_preferences(id) response = panoptes.get("project_preferences/#{id}") response.fetch('project_preferences').first end |
#promote_user_to_workflow(user_id, project_id, workflow_id) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/panoptes/client/project_preferences.rb', line 18 def promote_user_to_workflow(user_id, project_id, workflow_id) project_pref = panoptes.get('project_preferences', user_id: user_id, project_id: project_id).fetch('project_preferences').first id = project_pref['id'] workflow_id_current = project_pref['settings']['workflow_id'] response = panoptes.connection.get("/api/project_preferences/#{id}") etag = response.headers['ETag'] workflow_target = panoptes.get("/workflows/#{workflow_id}").fetch('workflows').first level_target = workflow_target['configuration']['level'].to_i workflow_current = panoptes.get("/workflows/#{workflow_id_current}").fetch('workflows').first level_current = workflow_current['configuration']['level'].to_i if level_target > level_current panoptes.put("project_preferences/#{id}", { project_preferences: { settings: { workflow_id: workflow_id } } }, etag: etag) end end |
#set_user_workflow(user_id, project_id, workflow_id) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/panoptes/client/project_preferences.rb', line 41 def set_user_workflow(user_id, project_id, workflow_id) id = panoptes.get('project_preferences', user_id: user_id, project_id: project_id).fetch('project_preferences').first['id'] response = panoptes.connection.get("/api/project_preferences/#{id}") etag = response.headers['ETag'] panoptes.put("project_preferences/#{id}", { project_preferences: { settings: { workflow_id: workflow_id } } }, etag: etag) end |
#user_project_preferences(user_id, project_id) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/panoptes/client/project_preferences.rb', line 11 def user_project_preferences(user_id, project_id) response = panoptes.get('project_preferences', user_id: user_id, project_id: project_id) response.fetch('project_preferences').first end |