red_cap 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d78e642412a6c1130c646f78d9857495c5c47face4834f9f89ee5f323f4f9ed2
4
- data.tar.gz: 21eeaefdc5c38b84916ae2257f8ba14fc3e89d327c392dd9b703973ca6c8d351
3
+ metadata.gz: 294e8dbcbc97397f804b5443e39d7e25fe0a6fd33a5d41af80e9790c6a681441
4
+ data.tar.gz: 83776913f99befb802225f449943de4d85d0fb7efb775ded2292347bbd141693
5
5
  SHA512:
6
- metadata.gz: cfbca51100d14bc29820d402cef3bef6ef45a2c3878e3e9f6b31d45f06b65c53e915db3dd0e2496fd055c3d86fb5abcc84aa9d30128af5e3d0c79140a4739887
7
- data.tar.gz: fff7559efdd1645e5cc781d192694f002b0f2f3476777dfcb6bdfe74cc5a541bea1f4acb224738767420f10b645e680f947d7504db2ddfff5e8a4001be1e80e0
6
+ metadata.gz: 877c44eee9b61ff514db43f235f78d4442ac53f3efcaaf9b223e6a271ddb5a0a297d0160477dc0ee6b569bcf619199d1b8b649ae863fa87fda1f97ccac577c4c
7
+ data.tar.gz: 4b36cfffeacc967b4bb3eaaae3aeb841b8a08197a17e4974f1e4725d4714d2c77312144323cac998d7fc738af34f5db41af755cac38862eac6b586e3c273e3a6
@@ -28,6 +28,14 @@ class REDCap
28
28
  json_api_request(content: "record", records: study_id).first
29
29
  end
30
30
 
31
+ def save_records records
32
+ json_api_request(content: "record", data: records.to_json)
33
+ end
34
+
35
+ def delete_records study_ids
36
+ json_api_request(content: "record", action: "delete", records: study_ids)
37
+ end
38
+
31
39
  def metadata
32
40
  json_api_request(content: "metadata")
33
41
  end
@@ -64,8 +72,8 @@ class REDCap
64
72
  connection.options.open_timeout = 300
65
73
  connection.options.timeout = 300
66
74
  response = connection.post nil, options.reverse_merge(token: @token)
67
- if error_message = response.body[/<error>(.+?)<\/error>/, 1]
68
- raise Error.new(error_message)
75
+ if response.body =~ /^{"error":"/
76
+ raise Error.new(response.body)
69
77
  end
70
78
  response
71
79
  end
@@ -1,3 +1,3 @@
1
1
  class REDCap
2
- VERSION = "0.9.0"
2
+ VERSION = "0.10.0"
3
3
  end
data/lib/red_cap.rb CHANGED
@@ -34,6 +34,15 @@ class REDCap
34
34
  client.records(filters.join(" AND "), &block)
35
35
  end
36
36
 
37
+ def update study_id, attributes
38
+ record = attributes.merge(study_id: study_id).stringify_keys
39
+ client.save_records [record]
40
+ end
41
+
42
+ def delete study_id
43
+ client.delete_records [study_id]
44
+ end
45
+
37
46
  private
38
47
 
39
48
  def client
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red_cap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-21 00:00:00.000000000 Z
11
+ date: 2020-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday