Module: Panoptes::Client::SubjectSets

Included in:
Panoptes::Client
Defined in:
lib/panoptes/client/subject_sets.rb

Instance Method Summary collapse

Instance Method Details

#add_subjects_to_subject_set(subject_set_id, subject_ids) ⇒ Object



24
25
26
27
# File 'lib/panoptes/client/subject_sets.rb', line 24

def add_subjects_to_subject_set(subject_set_id, subject_ids)
  response = panoptes.post("/subject_sets/#{subject_set_id}/links/subjects", subjects: subject_ids)
  true
end

#create_subject_set(attributes) ⇒ Object



11
12
13
14
# File 'lib/panoptes/client/subject_sets.rb', line 11

def create_subject_set(attributes)
  response = panoptes.post('/subject_sets', subject_sets: attributes)
  response.fetch('subject_sets').first
end

#subject_set(subject_set_id) ⇒ Object



6
7
8
9
# File 'lib/panoptes/client/subject_sets.rb', line 6

def subject_set(subject_set_id)
  response = panoptes.get("/subject_sets/#{subject_set_id}")
  response.fetch('subject_sets').find { |i| i.fetch('id').to_s == subject_set_id.to_s }
end

#update_subject_set(subject_set_id, attributes) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/panoptes/client/subject_sets.rb', line 16

def update_subject_set(subject_set_id, attributes)
  response = panoptes.connection.get("/api/subject_sets/#{subject_set_id}")
  etag = response.headers['ETag']

  response = panoptes.put("/subject_sets/#{subject_set_id}", { subject_sets: attributes }, etag: etag)
  response.fetch('subject_sets').first
end