uploadcare-api_struct 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +25 -0
  3. data/.gitignore +18 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +15 -0
  6. data/CHANGELOG.md +15 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +123 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +211 -0
  11. data/Rakefile +6 -0
  12. data/api_struct.gemspec +36 -0
  13. data/api_struct.svg +1 -0
  14. data/bin/console +14 -0
  15. data/bin/setup +8 -0
  16. data/lib/api_struct/client.rb +88 -0
  17. data/lib/api_struct/collection.rb +19 -0
  18. data/lib/api_struct/concerns/underscore.rb +7 -0
  19. data/lib/api_struct/entity.rb +93 -0
  20. data/lib/api_struct/errors/client.rb +43 -0
  21. data/lib/api_struct/errors/entity.rb +7 -0
  22. data/lib/api_struct/extensions/api_client.rb +43 -0
  23. data/lib/api_struct/extensions/dry_monads.rb +22 -0
  24. data/lib/api_struct/settings.rb +7 -0
  25. data/lib/api_struct/version.rb +3 -0
  26. data/lib/api_struct.rb +20 -0
  27. data/spec/api_struct/client_spec.rb +156 -0
  28. data/spec/api_struct/entity_spec.rb +188 -0
  29. data/spec/fixtures/cassettes/posts/1.yml +73 -0
  30. data/spec/fixtures/cassettes/posts/index_success.yml +1335 -0
  31. data/spec/fixtures/cassettes/posts/show_failure.yml +67 -0
  32. data/spec/fixtures/cassettes/posts/show_failure_html.yml +67 -0
  33. data/spec/fixtures/cassettes/posts/show_success.yml +74 -0
  34. data/spec/fixtures/cassettes/posts/suffix.yml +73 -0
  35. data/spec/fixtures/cassettes/posts/update_success.yml +71 -0
  36. data/spec/fixtures/cassettes/todos.yml +143 -0
  37. data/spec/fixtures/cassettes/user_todos.yml +189 -0
  38. data/spec/fixtures/cassettes/users/1/posts/1.yml +797 -0
  39. data/spec/fixtures/cassettes/users/1/posts.yml +1049 -0
  40. data/spec/spec_helper.rb +26 -0
  41. data/spec/support/stub.rb +9 -0
  42. metadata +283 -0
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/101
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 404
23
+ message: Not Found
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '2'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=dea576b2c58beb4acebfa8cc1b8f3cd731516303417; expires=Fri, 18-Jan-19
35
+ 19:23:37 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Thu, 18 Jan 2018 23:23:37 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - EXPIRED
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3df3ee046ef84f20-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: "{}"
65
+ http_version:
66
+ recorded_at: Thu, 18 Jan 2018 19:23:37 GMT
67
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/101
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 404
23
+ message: Not Found
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '27'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=dea576b2c58beb4acebfa8cc1b8f3cd731516303417; expires=Fri, 18-Jan-19
35
+ 19:23:37 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Thu, 18 Jan 2018 23:23:37 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - EXPIRED
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3df3ee046ef84f20-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: "<body>404. Not Found</body>"
65
+ http_version:
66
+ recorded_at: Thu, 18 Jan 2018 19:23:37 GMT
67
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,74 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '292'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=de31a379444c63694c043184befb627fa1516303417; expires=Fri, 18-Jan-19
35
+ 19:23:37 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Thu, 18 Jan 2018 23:23:37 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"124-yiKdLzqO5gfBrJFrcdJ8Yq0LGnU"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - HIT
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3df3ee07d8af8f69-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ {
66
+ "userId": 1,
67
+ "id": 1,
68
+ "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
69
+ "camelCase": "camel case property",
70
+ "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
71
+ }
72
+ http_version:
73
+ recorded_at: Thu, 18 Jan 2018 19:23:37 GMT
74
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Tue, 06 Mar 2018 08:03:44 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '292'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=d9571f40965744abf2545013c91f684451520323424; expires=Wed, 06-Mar-19
35
+ 08:03:44 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Tue, 06 Mar 2018 12:03:44 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"124-yiKdLzqO5gfBrJFrcdJ8Yq0LGnU"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - HIT
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3f734ebe2ec08d7d-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ {
66
+ "userId": 1,
67
+ "id": 1,
68
+ "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
69
+ "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
70
+ }
71
+ http_version:
72
+ recorded_at: Tue, 06 Mar 2018 08:10:41 GMT
73
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,71 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: patch
5
+ uri: https://jsonplaceholder.typicode.com/posts/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"title":"Mistie Carter"}'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:36 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '231'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=d3beb9d4061acf63428653caa383356a31516303416; expires=Fri, 18-Jan-19
35
+ 19:23:36 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - no-cache
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - "-1"
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"e7-0BduPO3JPrmszuXLELJqrW9+Syw"
52
+ Via:
53
+ - 1.1 vegur
54
+ Expect-Ct:
55
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
56
+ Server:
57
+ - cloudflare
58
+ Cf-Ray:
59
+ - 3df3ee0148514ede-DME
60
+ body:
61
+ encoding: UTF-8
62
+ string: |-
63
+ {
64
+ "userId": 1,
65
+ "id": 1,
66
+ "title": "Mistie Carter",
67
+ "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
68
+ }
69
+ http_version:
70
+ recorded_at: Thu, 18 Jan 2018 19:23:36 GMT
71
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,143 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/todos/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Tue, 06 Mar 2018 08:08:27 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '83'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=da01438c9302320c8eae5c1e1150c7c3a1520323707; expires=Wed, 06-Mar-19
35
+ 08:08:27 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Tue, 06 Mar 2018 12:08:27 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"53-hfEnumeNh6YirfjyjaujcOPPT+s"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - REVALIDATED
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3f7355a1e9b48d8f-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ {
66
+ "userId": 1,
67
+ "id": 1,
68
+ "title": "delectus aut autem",
69
+ "completed": false
70
+ }
71
+ http_version:
72
+ recorded_at: Tue, 06 Mar 2018 08:15:24 GMT
73
+ - request:
74
+ method: get
75
+ uri: https://jsonplaceholder.typicode.com/todos/1/
76
+ body:
77
+ encoding: UTF-8
78
+ string: ''
79
+ headers:
80
+ Accept:
81
+ - application/json
82
+ Content-Type:
83
+ - application/json
84
+ Connection:
85
+ - close
86
+ Host:
87
+ - jsonplaceholder.typicode.com
88
+ User-Agent:
89
+ - http.rb/3.0.0
90
+ response:
91
+ status:
92
+ code: 200
93
+ message: OK
94
+ headers:
95
+ Date:
96
+ - Tue, 06 Mar 2018 09:16:26 GMT
97
+ Content-Type:
98
+ - application/json; charset=utf-8
99
+ Content-Length:
100
+ - '83'
101
+ Connection:
102
+ - close
103
+ Set-Cookie:
104
+ - __cfduid=ddae63477dd3d1f72cfcf365177d4d5ff1520327786; expires=Wed, 06-Mar-19
105
+ 09:16:26 GMT; path=/; domain=.typicode.com; HttpOnly
106
+ X-Powered-By:
107
+ - Express
108
+ Vary:
109
+ - Origin, Accept-Encoding
110
+ Access-Control-Allow-Credentials:
111
+ - 'true'
112
+ Cache-Control:
113
+ - public, max-age=14400
114
+ Pragma:
115
+ - no-cache
116
+ Expires:
117
+ - Tue, 06 Mar 2018 13:16:26 GMT
118
+ X-Content-Type-Options:
119
+ - nosniff
120
+ Etag:
121
+ - W/"53-hfEnumeNh6YirfjyjaujcOPPT+s"
122
+ Via:
123
+ - 1.1 vegur
124
+ Cf-Cache-Status:
125
+ - MISS
126
+ Expect-Ct:
127
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
128
+ Server:
129
+ - cloudflare
130
+ Cf-Ray:
131
+ - 3f73b9376c084e2a-DME
132
+ body:
133
+ encoding: UTF-8
134
+ string: |-
135
+ {
136
+ "userId": 1,
137
+ "id": 1,
138
+ "title": "delectus aut autem",
139
+ "completed": false
140
+ }
141
+ http_version:
142
+ recorded_at: Tue, 06 Mar 2018 09:23:23 GMT
143
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,189 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/todos?userId=2
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/4.1.1
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Wed, 17 Apr 2019 18:24:07 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=dc82c08fc0528b00d44fd9dc69a3d5bf91555525447; expires=Thu, 16-Apr-20
35
+ 18:24:07 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Wed, 17 Apr 2019 22:24:07 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"940-PY6FbG4RbU9NVn6pD/xl3LdEHgs"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - HIT
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 4c906f20ea39cc81-WAW
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ [
66
+ {
67
+ "userId": 2,
68
+ "id": 21,
69
+ "title": "suscipit repellat esse quibusdam voluptatem incidunt",
70
+ "completed": false
71
+ },
72
+ {
73
+ "userId": 2,
74
+ "id": 22,
75
+ "title": "distinctio vitae autem nihil ut molestias quo",
76
+ "completed": true
77
+ },
78
+ {
79
+ "userId": 2,
80
+ "id": 23,
81
+ "title": "et itaque necessitatibus maxime molestiae qui quas velit",
82
+ "completed": false
83
+ },
84
+ {
85
+ "userId": 2,
86
+ "id": 24,
87
+ "title": "adipisci non ad dicta qui amet quaerat doloribus ea",
88
+ "completed": false
89
+ },
90
+ {
91
+ "userId": 2,
92
+ "id": 25,
93
+ "title": "voluptas quo tenetur perspiciatis explicabo natus",
94
+ "completed": true
95
+ },
96
+ {
97
+ "userId": 2,
98
+ "id": 26,
99
+ "title": "aliquam aut quasi",
100
+ "completed": true
101
+ },
102
+ {
103
+ "userId": 2,
104
+ "id": 27,
105
+ "title": "veritatis pariatur delectus",
106
+ "completed": true
107
+ },
108
+ {
109
+ "userId": 2,
110
+ "id": 28,
111
+ "title": "nesciunt totam sit blanditiis sit",
112
+ "completed": false
113
+ },
114
+ {
115
+ "userId": 2,
116
+ "id": 29,
117
+ "title": "laborum aut in quam",
118
+ "completed": false
119
+ },
120
+ {
121
+ "userId": 2,
122
+ "id": 30,
123
+ "title": "nemo perspiciatis repellat ut dolor libero commodi blanditiis omnis",
124
+ "completed": true
125
+ },
126
+ {
127
+ "userId": 2,
128
+ "id": 31,
129
+ "title": "repudiandae totam in est sint facere fuga",
130
+ "completed": false
131
+ },
132
+ {
133
+ "userId": 2,
134
+ "id": 32,
135
+ "title": "earum doloribus ea doloremque quis",
136
+ "completed": false
137
+ },
138
+ {
139
+ "userId": 2,
140
+ "id": 33,
141
+ "title": "sint sit aut vero",
142
+ "completed": false
143
+ },
144
+ {
145
+ "userId": 2,
146
+ "id": 34,
147
+ "title": "porro aut necessitatibus eaque distinctio",
148
+ "completed": false
149
+ },
150
+ {
151
+ "userId": 2,
152
+ "id": 35,
153
+ "title": "repellendus veritatis molestias dicta incidunt",
154
+ "completed": true
155
+ },
156
+ {
157
+ "userId": 2,
158
+ "id": 36,
159
+ "title": "excepturi deleniti adipisci voluptatem et neque optio illum ad",
160
+ "completed": true
161
+ },
162
+ {
163
+ "userId": 2,
164
+ "id": 37,
165
+ "title": "sunt cum tempora",
166
+ "completed": false
167
+ },
168
+ {
169
+ "userId": 2,
170
+ "id": 38,
171
+ "title": "totam quia non",
172
+ "completed": false
173
+ },
174
+ {
175
+ "userId": 2,
176
+ "id": 39,
177
+ "title": "doloremque quibusdam asperiores libero corrupti illum qui omnis",
178
+ "completed": false
179
+ },
180
+ {
181
+ "userId": 2,
182
+ "id": 40,
183
+ "title": "totam atque quo nesciunt",
184
+ "completed": true
185
+ }
186
+ ]
187
+ http_version:
188
+ recorded_at: Wed, 17 Apr 2019 18:24:07 GMT
189
+ recorded_with: VCR 3.0.3