Class: Praxicraft::Resources::Assessments
- Inherits:
-
Object
- Object
- Praxicraft::Resources::Assessments
- Defined in:
- lib/praxicraft/resources/assessments.rb
Instance Method Summary collapse
- #activate(assessment) ⇒ Object
- #attach_cases(assessment, args = nil, **kwargs) ⇒ Object
- #create(fields = nil, **kwargs) ⇒ Object
-
#initialize(client) ⇒ Assessments
constructor
A new instance of Assessments.
- #list(params = nil) ⇒ Object
- #list_cases(assessment, params = nil) ⇒ Object
- #remove_case(assessment, assessment_case_id) ⇒ Object
- #replace_cases(assessment, cases, extra = nil, **kwargs) ⇒ Object
- #retrieve(assessment) ⇒ Object
- #update(assessment, fields = nil, **kwargs) ⇒ Object
Constructor Details
#initialize(client) ⇒ Assessments
Returns a new instance of Assessments.
6 7 8 |
# File 'lib/praxicraft/resources/assessments.rb', line 6 def initialize(client) @client = client end |
Instance Method Details
#activate(assessment) ⇒ Object
34 35 36 |
# File 'lib/praxicraft/resources/assessments.rb', line 34 def activate(assessment) update(assessment, "status" => "active") end |
#attach_cases(assessment, args = nil, **kwargs) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/praxicraft/resources/assessments.rb', line 43 def attach_cases(assessment, args = nil, **kwargs) body = normalize(args || kwargs) if body.nil? || body.empty? raise APIError.new("attach_cases() requires cases or case_id", "INVALID_ARGUMENT") end key = Client.path_segment(assessment, "assessment") @client.post("/assessments/#{key}/cases/attach/", body) end |
#create(fields = nil, **kwargs) ⇒ Object
19 20 21 22 |
# File 'lib/praxicraft/resources/assessments.rb', line 19 def create(fields = nil, **kwargs) body = normalize(fields || kwargs) @client.post("/assessments/create/", body) end |
#list(params = nil) ⇒ Object
10 11 12 |
# File 'lib/praxicraft/resources/assessments.rb', line 10 def list(params = nil) @client.get("/assessments/", normalize(params)) end |
#list_cases(assessment, params = nil) ⇒ Object
38 39 40 41 |
# File 'lib/praxicraft/resources/assessments.rb', line 38 def list_cases(assessment, params = nil) key = Client.path_segment(assessment, "assessment") @client.get("/assessments/#{key}/cases/", normalize(params)) end |
#remove_case(assessment, assessment_case_id) ⇒ Object
59 60 61 62 63 64 65 66 67 |
# File 'lib/praxicraft/resources/assessments.rb', line 59 def remove_case(assessment, assessment_case_id) key = Client.path_segment(assessment, "assessment") case_id = assessment_case_id.to_s.strip if case_id.empty? raise APIError.new("assessment_case_id must be a non-empty string", "INVALID_ARGUMENT") end @client.delete("/assessments/#{key}/cases/remove/", { "assessment_case_id" => case_id }) end |
#replace_cases(assessment, cases, extra = nil, **kwargs) ⇒ Object
53 54 55 56 57 |
# File 'lib/praxicraft/resources/assessments.rb', line 53 def replace_cases(assessment, cases, extra = nil, **kwargs) key = Client.path_segment(assessment, "assessment") body = { "cases" => cases }.merge(normalize(extra || kwargs) || {}) @client.put("/assessments/#{key}/cases/replace/", body) end |
#retrieve(assessment) ⇒ Object
14 15 16 17 |
# File 'lib/praxicraft/resources/assessments.rb', line 14 def retrieve(assessment) key = Client.path_segment(assessment, "assessment") @client.get("/assessments/#{key}/") end |
#update(assessment, fields = nil, **kwargs) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/praxicraft/resources/assessments.rb', line 24 def update(assessment, fields = nil, **kwargs) body = normalize(fields || kwargs) if body.nil? || body.empty? raise APIError.new("update() requires at least one field to change", "INVALID_ARGUMENT") end key = Client.path_segment(assessment, "assessment") @client.patch("/assessments/#{key}/update/", body) end |