parse-ruby-client 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -6,13 +6,14 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
+ gem "bundler", "~> 1.1.5"
9
10
  gem "shoulda", ">= 0"
10
11
  gem "test-unit", '= 2.5.0'
11
12
  gem "mocha", '= 0.12.0', :require => false
12
- gem "bundler", "~> 1.0.0"
13
13
  gem "jeweler", "~> 1.6.4"
14
14
  gem "rcov", ">= 0"
15
+ gem "webmock"
16
+ gem "vcr"
15
17
  end
16
18
 
17
- gem "patron"
18
- gem "vcr"
19
+ gem "patron"
data/Gemfile.lock CHANGED
@@ -1,6 +1,8 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ addressable (2.3.2)
5
+ crack (0.3.1)
4
6
  git (1.2.5)
5
7
  jeweler (1.6.4)
6
8
  bundler (~> 1.0)
@@ -15,12 +17,15 @@ GEM
15
17
  shoulda (2.11.3)
16
18
  test-unit (2.5.0)
17
19
  vcr (2.0.1)
20
+ webmock (1.8.10)
21
+ addressable (>= 2.2.7)
22
+ crack (>= 0.1.7)
18
23
 
19
24
  PLATFORMS
20
25
  ruby
21
26
 
22
27
  DEPENDENCIES
23
- bundler (~> 1.0.0)
28
+ bundler (~> 1.1.5)
24
29
  jeweler (~> 1.6.4)
25
30
  mocha (= 0.12.0)
26
31
  patron
@@ -28,3 +33,4 @@ DEPENDENCIES
28
33
  shoulda
29
34
  test-unit (= 2.5.0)
30
35
  vcr
36
+ webmock
data/README.md CHANGED
@@ -11,10 +11,6 @@ match the structure of the iOS and Android SDKs from Parse.
11
11
  So far it supports simple GET, PUT, and POST operations on objects. Enough
12
12
  to read & write simple data.
13
13
 
14
- ## New in 0.1.1
15
- * query ordering
16
- * reserved keys no longer deleted on update
17
-
18
14
  ## Dependencies
19
15
 
20
16
  This currently depends on the gems 'json' and 'patron' for JSON support and HTTP, respectively.
@@ -23,7 +19,7 @@ This currently depends on the gems 'json' and 'patron' for JSON support and HTTP
23
19
 
24
20
  ## Installation
25
21
 
26
- `gem "parse-ruby-client", "~> 0.1.1"`
22
+ `gem "parse-ruby-client", "~> 0.1.4"`
27
23
 
28
24
  ---
29
25
 
@@ -128,6 +124,15 @@ push = Parse::Push.new({"alert" => "I'm sending this push to all my app users!"}
128
124
  push.save
129
125
  ```
130
126
 
127
+ ## Cloud Code
128
+
129
+ ```ruby
130
+ # assumes you have a function named "trivial"
131
+ function = Parse::Cloud::Function.new("trivial")
132
+ params = {"foo" => "bar"}
133
+ function.call(params)
134
+ ```
135
+
131
136
 
132
137
  # TODO
133
138
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
@@ -0,0 +1,81 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.parse.com/1/functions/trivial
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"foo":"bar"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Parse for Ruby, 0.0
16
+ X-Parse-Master-Key:
17
+ - ''
18
+ X-Parse-Rest-Api-Key:
19
+ - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ
20
+ X-Parse-Application-Id:
21
+ - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT
22
+ X-Parse-Session-Token:
23
+ - ''
24
+ Expect:
25
+ - ''
26
+ response:
27
+ status:
28
+ code: 200
29
+ message: !binary |-
30
+ T0s=
31
+ headers:
32
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
33
+ - !binary |-
34
+ Kg==
35
+ !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=":
36
+ - !binary |-
37
+ Kg==
38
+ !binary "Q2FjaGUtQ29udHJvbA==":
39
+ - !binary |-
40
+ bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU=
41
+ !binary "Q29udGVudC1UeXBl":
42
+ - !binary |-
43
+ YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
44
+ !binary "RGF0ZQ==":
45
+ - !binary |-
46
+ VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNSBHTVQ=
47
+ !binary "RXRhZw==":
48
+ - !binary |-
49
+ IjA4Mjc0OGIyN2FjM2RiZTJhMWQxNWMzM2RjMjFlODNkIg==
50
+ !binary "U2VydmVy":
51
+ - !binary |-
52
+ bmdpbngvMS4yLjI=
53
+ !binary "U2V0LUNvb2tpZQ==":
54
+ - !binary |-
55
+ X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp
56
+ SWxaRGxqTlRObU9HUTFabUZoTVRabU9HTmlaVEkyTldGalltRTJOamd5T1Rr
57
+ JTNELS1iN2U3YjFhZmEzY2M5NGVjMTk3NDk3ZTlkMDg4YmNhN2UwMmJjOWY4
58
+ OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt
59
+ T2N0LTIwMjIgMjE6NDU6MjUgR01UOyBzZWN1cmU7IEh0dHBPbmx5
60
+ !binary "U3RhdHVz":
61
+ - !binary |-
62
+ MjAwIE9L
63
+ !binary "WC1SdW50aW1l":
64
+ - !binary |-
65
+ MC4wNDkzNjA=
66
+ !binary "WC1VYS1Db21wYXRpYmxl":
67
+ - !binary |-
68
+ SUU9RWRnZSxjaHJvbWU9MQ==
69
+ !binary "Q29udGVudC1MZW5ndGg=":
70
+ - !binary |-
71
+ MjQ=
72
+ !binary "Q29ubmVjdGlvbg==":
73
+ - !binary |-
74
+ a2VlcC1hbGl2ZQ==
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: !binary |-
78
+ eyJyZXN1bHQiOnsiZm9vIjoiYmFyIn19
79
+ http_version:
80
+ recorded_at: Tue, 09 Oct 2012 21:45:25 GMT
81
+ recorded_with: VCR 2.0.1
@@ -0,0 +1,83 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.parse.com/1/classes/Post
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Parse for Ruby, 0.0
16
+ X-Parse-Master-Key:
17
+ - ''
18
+ X-Parse-Rest-Api-Key:
19
+ - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ
20
+ X-Parse-Application-Id:
21
+ - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT
22
+ X-Parse-Session-Token:
23
+ - ''
24
+ Expect:
25
+ - ''
26
+ response:
27
+ status:
28
+ code: 201
29
+ message: !binary |-
30
+ Q3JlYXRlZA==
31
+ headers:
32
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
33
+ - !binary |-
34
+ Kg==
35
+ !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=":
36
+ - !binary |-
37
+ Kg==
38
+ !binary "Q2FjaGUtQ29udHJvbA==":
39
+ - !binary |-
40
+ bm8tY2FjaGU=
41
+ !binary "Q29udGVudC1UeXBl":
42
+ - !binary |-
43
+ YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
44
+ !binary "RGF0ZQ==":
45
+ - !binary |-
46
+ VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNiBHTVQ=
47
+ !binary "TG9jYXRpb24=":
48
+ - !binary |-
49
+ aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L2F1NjJqZ0pj
50
+ S3g=
51
+ !binary "U2VydmVy":
52
+ - !binary |-
53
+ bmdpbngvMS4yLjI=
54
+ !binary "U2V0LUNvb2tpZQ==":
55
+ - !binary |-
56
+ X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp
57
+ SWxaamszTTJJMVptRTFPRFZqWXpGaU16ZzBZMk0zT1RRMllqUmlNamhoT1Rr
58
+ JTNELS0zZjczYmYxMmQ0Mzc0ZmJlOWNkMjY1NGM4MjQ0YjIwNWM2NjhhZWU2
59
+ OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt
60
+ T2N0LTIwMjIgMjE6NDU6MjYgR01UOyBzZWN1cmU7IEh0dHBPbmx5
61
+ !binary "U3RhdHVz":
62
+ - !binary |-
63
+ MjAxIENyZWF0ZWQ=
64
+ !binary "WC1SdW50aW1l":
65
+ - !binary |-
66
+ MC4wMTYxMTU=
67
+ !binary "WC1VYS1Db21wYXRpYmxl":
68
+ - !binary |-
69
+ SUU9RWRnZSxjaHJvbWU9MQ==
70
+ !binary "Q29udGVudC1MZW5ndGg=":
71
+ - !binary |-
72
+ NjQ=
73
+ !binary "Q29ubmVjdGlvbg==":
74
+ - !binary |-
75
+ a2VlcC1hbGl2ZQ==
76
+ body:
77
+ encoding: ASCII-8BIT
78
+ string: !binary |-
79
+ eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI2LjE0NVoiLCJvYmpl
80
+ Y3RJZCI6ImF1NjJqZ0pjS3gifQ==
81
+ http_version:
82
+ recorded_at: Tue, 09 Oct 2012 21:45:26 GMT
83
+ recorded_with: VCR 2.0.1
@@ -0,0 +1,244 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.parse.com/1/classes/Post
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Parse for Ruby, 0.0
16
+ X-Parse-Master-Key:
17
+ - ''
18
+ X-Parse-Rest-Api-Key:
19
+ - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ
20
+ X-Parse-Application-Id:
21
+ - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT
22
+ X-Parse-Session-Token:
23
+ - ''
24
+ Expect:
25
+ - ''
26
+ response:
27
+ status:
28
+ code: 201
29
+ message: !binary |-
30
+ Q3JlYXRlZA==
31
+ headers:
32
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
33
+ - !binary |-
34
+ Kg==
35
+ !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=":
36
+ - !binary |-
37
+ Kg==
38
+ !binary "Q2FjaGUtQ29udHJvbA==":
39
+ - !binary |-
40
+ bm8tY2FjaGU=
41
+ !binary "Q29udGVudC1UeXBl":
42
+ - !binary |-
43
+ YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
44
+ !binary "RGF0ZQ==":
45
+ - !binary |-
46
+ VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNyBHTVQ=
47
+ !binary "TG9jYXRpb24=":
48
+ - !binary |-
49
+ aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L1p3Zk9vbmZH
50
+ TEM=
51
+ !binary "U2VydmVy":
52
+ - !binary |-
53
+ bmdpbngvMS4yLjI=
54
+ !binary "U2V0LUNvb2tpZQ==":
55
+ - !binary |-
56
+ X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp
57
+ SWxaVEkzWWpZNU1XSTRaV1l3TUdSaFpqWTJZVGczTmpCalpXSmxOekV6WW1N
58
+ JTNELS05NTViMDQ2OWExMDgzZmUwNzIyYThmZGYzYjEyYWY1YWExNDFkOGY4
59
+ OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt
60
+ T2N0LTIwMjIgMjE6NDU6MjcgR01UOyBzZWN1cmU7IEh0dHBPbmx5
61
+ !binary "U3RhdHVz":
62
+ - !binary |-
63
+ MjAxIENyZWF0ZWQ=
64
+ !binary "WC1SdW50aW1l":
65
+ - !binary |-
66
+ MC4wMjE3ODA=
67
+ !binary "WC1VYS1Db21wYXRpYmxl":
68
+ - !binary |-
69
+ SUU9RWRnZSxjaHJvbWU9MQ==
70
+ !binary "Q29udGVudC1MZW5ndGg=":
71
+ - !binary |-
72
+ NjQ=
73
+ !binary "Q29ubmVjdGlvbg==":
74
+ - !binary |-
75
+ a2VlcC1hbGl2ZQ==
76
+ body:
77
+ encoding: ASCII-8BIT
78
+ string: !binary |-
79
+ eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI3LjU2NloiLCJvYmpl
80
+ Y3RJZCI6Ilp3Zk9vbmZHTEMifQ==
81
+ http_version:
82
+ recorded_at: Tue, 09 Oct 2012 21:45:27 GMT
83
+ - request:
84
+ method: post
85
+ uri: https://api.parse.com/1/classes/Post
86
+ body:
87
+ encoding: UTF-8
88
+ string: ! '{"other":{"__type":"Pointer","className":"Post","objectId":"ZwfOonfGLC"}}'
89
+ headers:
90
+ Content-Type:
91
+ - application/json
92
+ Accept:
93
+ - application/json
94
+ User-Agent:
95
+ - Parse for Ruby, 0.0
96
+ X-Parse-Master-Key:
97
+ - ''
98
+ X-Parse-Rest-Api-Key:
99
+ - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ
100
+ X-Parse-Application-Id:
101
+ - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT
102
+ X-Parse-Session-Token:
103
+ - ''
104
+ Expect:
105
+ - ''
106
+ response:
107
+ status:
108
+ code: 201
109
+ message: !binary |-
110
+ Q3JlYXRlZA==
111
+ headers:
112
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
113
+ - !binary |-
114
+ Kg==
115
+ !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=":
116
+ - !binary |-
117
+ Kg==
118
+ !binary "Q2FjaGUtQ29udHJvbA==":
119
+ - !binary |-
120
+ bm8tY2FjaGU=
121
+ !binary "Q29udGVudC1UeXBl":
122
+ - !binary |-
123
+ YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
124
+ !binary "RGF0ZQ==":
125
+ - !binary |-
126
+ VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNyBHTVQ=
127
+ !binary "TG9jYXRpb24=":
128
+ - !binary |-
129
+ aHR0cHM6Ly9hcGkucGFyc2UuY29tLzEvY2xhc3Nlcy9Qb3N0L0hvckhJQ25N
130
+ REE=
131
+ !binary "U2VydmVy":
132
+ - !binary |-
133
+ bmdpbngvMS4yLjI=
134
+ !binary "U2V0LUNvb2tpZQ==":
135
+ - !binary |-
136
+ X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp
137
+ SWxOV1F6TmpFMU1tWmhOekUwTkRFNU5ESTJaV1kwTTJaaU4yRTVNR05rWXpn
138
+ JTNELS04YTFlYmRmNDZkZGMyNjQ3MDVkNDI4NzQ5ODA1YTc0M2YwM2EwNTQz
139
+ OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt
140
+ T2N0LTIwMjIgMjE6NDU6MjcgR01UOyBzZWN1cmU7IEh0dHBPbmx5
141
+ !binary "U3RhdHVz":
142
+ - !binary |-
143
+ MjAxIENyZWF0ZWQ=
144
+ !binary "WC1SdW50aW1l":
145
+ - !binary |-
146
+ MC4wMTgyMDc=
147
+ !binary "WC1VYS1Db21wYXRpYmxl":
148
+ - !binary |-
149
+ SUU9RWRnZSxjaHJvbWU9MQ==
150
+ !binary "Q29udGVudC1MZW5ndGg=":
151
+ - !binary |-
152
+ NjQ=
153
+ !binary "Q29ubmVjdGlvbg==":
154
+ - !binary |-
155
+ a2VlcC1hbGl2ZQ==
156
+ body:
157
+ encoding: ASCII-8BIT
158
+ string: !binary |-
159
+ eyJjcmVhdGVkQXQiOiIyMDEyLTEwLTA5VDIxOjQ1OjI3LjYwM1oiLCJvYmpl
160
+ Y3RJZCI6IkhvckhJQ25NREEifQ==
161
+ http_version:
162
+ recorded_at: Tue, 09 Oct 2012 21:45:27 GMT
163
+ - request:
164
+ method: get
165
+ uri: https://api.parse.com/1/classes/Post/HorHICnMDA
166
+ body:
167
+ encoding: US-ASCII
168
+ string: ''
169
+ headers:
170
+ Content-Type:
171
+ - application/json
172
+ Accept:
173
+ - application/json
174
+ User-Agent:
175
+ - Parse for Ruby, 0.0
176
+ X-Parse-Master-Key:
177
+ - ''
178
+ X-Parse-Rest-Api-Key:
179
+ - D3Y8jNCQk6kpkKhpRGnWLYTrFGQ7j8dtDVnWZRnZ
180
+ X-Parse-Application-Id:
181
+ - PPVk6L5M9R1R8GVk8Ye9jT8f5SQNBIeoJUDJLmkT
182
+ X-Parse-Session-Token:
183
+ - ''
184
+ Expect:
185
+ - ''
186
+ response:
187
+ status:
188
+ code: 200
189
+ message: !binary |-
190
+ T0s=
191
+ headers:
192
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
193
+ - !binary |-
194
+ Kg==
195
+ !binary "QWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2Q=":
196
+ - !binary |-
197
+ Kg==
198
+ !binary "Q2FjaGUtQ29udHJvbA==":
199
+ - !binary |-
200
+ bWF4LWFnZT0wLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGU=
201
+ !binary "Q29udGVudC1UeXBl":
202
+ - !binary |-
203
+ YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
204
+ !binary "RGF0ZQ==":
205
+ - !binary |-
206
+ VHVlLCAwOSBPY3QgMjAxMiAyMTo0NToyNyBHTVQ=
207
+ !binary "RXRhZw==":
208
+ - !binary |-
209
+ ImU4Y2ZiYjM5ODg1ZGI2ZGE0NTFmYmJhMDMzMDdlYTY1Ig==
210
+ !binary "U2VydmVy":
211
+ - !binary |-
212
+ bmdpbngvMS4yLjI=
213
+ !binary "U2V0LUNvb2tpZQ==":
214
+ - !binary |-
215
+ X3BhcnNlX3Nlc3Npb249QkFoN0Jra2lEM05sYzNOcGIyNWZhV1FHT2daRlJp
216
+ SWxabUl4T0dKalptUXdNRFU1T1RjeFpERTNObUkyWlRGbU1USTJaams1Tnpr
217
+ JTNELS1lODE1YTU1NjU5ZWEwNWM4NTNiM2U4NDE4OWIxMWEyNmEwNDg3MmU0
218
+ OyBkb21haW49LnBhcnNlLmNvbTsgcGF0aD0vOyBleHBpcmVzPVN1biwgMDkt
219
+ T2N0LTIwMjIgMjE6NDU6MjcgR01UOyBzZWN1cmU7IEh0dHBPbmx5
220
+ !binary "U3RhdHVz":
221
+ - !binary |-
222
+ MjAwIE9L
223
+ !binary "WC1SdW50aW1l":
224
+ - !binary |-
225
+ MC4wMjE1OTM=
226
+ !binary "WC1VYS1Db21wYXRpYmxl":
227
+ - !binary |-
228
+ SUU9RWRnZSxjaHJvbWU9MQ==
229
+ !binary "Q29udGVudC1MZW5ndGg=":
230
+ - !binary |-
231
+ MTc1
232
+ !binary "Q29ubmVjdGlvbg==":
233
+ - !binary |-
234
+ a2VlcC1hbGl2ZQ==
235
+ body:
236
+ encoding: ASCII-8BIT
237
+ string: !binary |-
238
+ eyJvdGhlciI6eyJfX3R5cGUiOiJQb2ludGVyIiwiY2xhc3NOYW1lIjoiUG9z
239
+ dCIsIm9iamVjdElkIjoiWndmT29uZkdMQyJ9LCJjcmVhdGVkQXQiOiIyMDEy
240
+ LTEwLTA5VDIxOjQ1OjI3LjYwM1oiLCJ1cGRhdGVkQXQiOiIyMDEyLTEwLTA5
241
+ VDIxOjQ1OjI3LjYwM1oiLCJvYmplY3RJZCI6IkhvckhJQ25NREEifQ==
242
+ http_version:
243
+ recorded_at: Tue, 09 Oct 2012 21:45:27 GMT
244
+ recorded_with: VCR 2.0.1