Sha256: 5e6714c9c32cb85d9f50d9f01bfe78273d8cc34cb98b1d3f4558cda0ae2d8d9e

Contents?: true

Size: 942 Bytes

Versions: 2

Compression:

Stored size: 942 Bytes

Contents

module Panoptes
  class Client
    module SubjectSets
      def subject_set(subject_set_id)
        response = get("/subject_sets/#{subject_set_id}")
        response.fetch("subject_sets").find {|i| i.fetch("id").to_s == subject_set_id.to_s }
      end

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

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

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
panoptes-client-0.2.7 lib/panoptes/client/subject_sets.rb
panoptes-client-0.2.6 lib/panoptes/client/subject_sets.rb