red_cap 0.13.0 → 0.13.2

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: 48644d7de607c9ccde5f8314ec0ed2565924d2f83f266b7dccd03b200d0eec0b
4
- data.tar.gz: 0afddb777531a00b7d4fbc687f38f392974262a8edb2f4a603d48022501bc043
3
+ metadata.gz: be1ff29e5f37792d765903024b44123566626d5479ffe9a08a62faf13fce2553
4
+ data.tar.gz: 00cde62c708eba411eae2d2d9e51783945df42061fafd73ae0ed73b861afab3e
5
5
  SHA512:
6
- metadata.gz: 16463efe4a464d37ad171101b596afa9b958419e2452d08269d87f0e227de6e5e528420b9e3749570724798dab6971cef234f36ced87fb94c44f7d67129f1777
7
- data.tar.gz: 07eff14d151bd692e8a12375aeac8191e291e7c95fcc31ed92aeed02353cd117e33423a84fa5f9b2c13144b811523b3b9cdc479f0ca097e38395372be09855f9
6
+ metadata.gz: dda9ee5f548337a0a1e882b3f65e02743b50f35d2acf96198d8d024fabb3d3944e50382d2d54610c47a8bbf2c0c99196b2c1b9211993a3c370bf94d2d620b47b
7
+ data.tar.gz: e2a19c692afa7640549b2ea7c2b19dd135f2d180b79bde87a943bfbcb3589a62c94275c152a11da6fdfb162658a91289ecef828afe2016be4041d388f0aec8ea
@@ -41,13 +41,14 @@ class REDCap
41
41
  json_api_request(content: "metadata")
42
42
  end
43
43
 
44
- def file record_id, file_id, event: nil
44
+ def file record_id, file_id, event: nil, repeat_instance: nil
45
45
  response = base_request({
46
46
  content: "file",
47
47
  action: "export",
48
48
  record: record_id,
49
49
  field: file_id,
50
50
  event: event,
51
+ repeat_instance: repeat_instance,
51
52
  })
52
53
  _, type, filename = *response.headers["content-type"].match(/\A(.+); name=\"(.+)\"/)
53
54
  File.new(response.body, type, filename)
@@ -64,14 +65,16 @@ class REDCap
64
65
  end
65
66
 
66
67
  require "active_support/core_ext/object/to_query"
67
- def json_api_request options, cache: false
68
+ def json_api_request options
68
69
  request_options = options.reverse_merge(format: "json")
69
- json = if cache
70
- full_url = @url + "?" + options.to_query
71
- Cache.fetch(full_url) do
72
- base_request(request_options).body
73
- end
74
- else
70
+ json = base_request(request_options).body
71
+ JSON.load(json)
72
+ end
73
+
74
+ def cached_json_api_request options
75
+ full_url = @url + "?" + options.to_query
76
+ json = Cache.fetch(full_url) do
77
+ request_options = options.reverse_merge(format: "json")
75
78
  base_request(request_options).body
76
79
  end
77
80
  JSON.load(json)
@@ -27,10 +27,10 @@ class REDCap
27
27
  fields: [config[:key]] + config[:fields],
28
28
  })
29
29
 
30
- metadata = client.json_api_request({
30
+ metadata = client.cached_json_api_request({
31
31
  content: "metadata",
32
32
  fields: config[:fields],
33
- }, cache: true)
33
+ })
34
34
 
35
35
  client.json_api_request(filter).map do |response|
36
36
  if config[:repeating]
@@ -1,3 +1,3 @@
1
1
  class REDCap
2
- VERSION = "0.13.0"
2
+ VERSION = "0.13.2"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red_cap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.13.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-09-14 00:00:00.000000000 Z
10
+ date: 2025-10-01 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: faraday