spark_api 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/History.txt +14 -0
  2. data/README.md +42 -233
  3. data/VERSION +1 -1
  4. data/lib/spark_api.rb +1 -0
  5. data/lib/spark_api/authentication/oauth2.rb +39 -9
  6. data/lib/spark_api/authentication/oauth2_impl/cli_provider.rb +96 -0
  7. data/lib/spark_api/authentication/oauth2_impl/faraday_middleware.rb +28 -0
  8. data/lib/spark_api/authentication/oauth2_impl/grant_type_base.rb +7 -2
  9. data/lib/spark_api/authentication/oauth2_impl/single_session_provider.rb +27 -0
  10. data/lib/spark_api/cli.rb +29 -10
  11. data/lib/spark_api/cli/api_auth.rb +1 -0
  12. data/lib/spark_api/cli/oauth2.rb +23 -8
  13. data/lib/spark_api/cli/setup.rb +31 -0
  14. data/lib/spark_api/configuration.rb +10 -2
  15. data/lib/spark_api/configuration/yaml.rb +6 -1
  16. data/lib/spark_api/connection.rb +1 -1
  17. data/lib/spark_api/errors.rb +48 -0
  18. data/lib/spark_api/models.rb +3 -0
  19. data/lib/spark_api/models/account.rb +9 -1
  20. data/lib/spark_api/models/base.rb +24 -19
  21. data/lib/spark_api/models/concerns.rb +7 -0
  22. data/lib/spark_api/models/concerns/destroyable.rb +32 -0
  23. data/lib/spark_api/models/concerns/savable.rb +66 -0
  24. data/lib/spark_api/models/contact.rb +6 -25
  25. data/lib/spark_api/models/dirty.rb +57 -0
  26. data/lib/spark_api/models/finders.rb +0 -4
  27. data/lib/spark_api/models/saved_search.rb +10 -0
  28. data/lib/spark_api/models/subresource.rb +5 -1
  29. data/lib/spark_api/models/subscription.rb +52 -0
  30. data/lib/spark_api/request.rb +17 -4
  31. data/lib/spark_api/response.rb +0 -37
  32. data/script/combined_flow_example.rb +3 -3
  33. data/script/oauth2_example.rb +3 -3
  34. data/spec/fixtures/base.json +3 -1
  35. data/spec/fixtures/contacts/new.json +2 -3
  36. data/spec/fixtures/contacts/new_empty.json +2 -3
  37. data/spec/fixtures/contacts/new_notify.json +1 -1
  38. data/spec/fixtures/{listings/saved_search.json → saved_searches/get.json} +1 -1
  39. data/spec/fixtures/saved_searches/new.json +8 -0
  40. data/spec/fixtures/saved_searches/post.json +12 -0
  41. data/spec/fixtures/saved_searches/update.json +6 -0
  42. data/spec/fixtures/subscriptions/get.json +19 -0
  43. data/spec/fixtures/subscriptions/new.json +13 -0
  44. data/spec/fixtures/subscriptions/post.json +10 -0
  45. data/spec/fixtures/subscriptions/put.json +12 -0
  46. data/spec/fixtures/subscriptions/subscribe.json +5 -0
  47. data/spec/fixtures/subscriptions/update.json +6 -0
  48. data/spec/mock_helper.rb +14 -6
  49. data/spec/oauth2_helper.rb +2 -0
  50. data/spec/spec_helper.rb +4 -7
  51. data/spec/unit/spark_api/authentication/api_auth_spec.rb +0 -1
  52. data/spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb +32 -0
  53. data/spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb +9 -0
  54. data/spec/unit/spark_api/authentication/oauth2_spec.rb +29 -3
  55. data/spec/unit/spark_api/authentication_spec.rb +4 -10
  56. data/spec/unit/spark_api/configuration/yaml_spec.rb +4 -3
  57. data/spec/unit/spark_api/configuration_spec.rb +22 -8
  58. data/spec/unit/spark_api/models/account_spec.rb +5 -0
  59. data/spec/unit/spark_api/models/base_spec.rb +27 -0
  60. data/spec/unit/spark_api/models/concerns/destroyable_spec.rb +28 -0
  61. data/spec/unit/spark_api/models/concerns/savable_spec.rb +61 -0
  62. data/spec/unit/spark_api/models/contact_spec.rb +5 -5
  63. data/spec/unit/spark_api/models/dirty_spec.rb +46 -0
  64. data/spec/unit/spark_api/models/finders_spec.rb +0 -7
  65. data/spec/unit/spark_api/models/saved_search_spec.rb +34 -3
  66. data/spec/unit/spark_api/models/shared_listing_spec.rb +1 -1
  67. data/spec/unit/spark_api/models/subscription_spec.rb +106 -0
  68. data/spec/unit/spark_api/multi_client_spec.rb +14 -4
  69. data/spec/unit/spark_api/paginate_spec.rb +0 -1
  70. data/spec/unit/spark_api/request_spec.rb +10 -0
  71. data/spec/unit/spark_api_spec.rb +0 -3
  72. metadata +127 -45
  73. data/lib/spark_api/authentication/oauth2_impl/password_provider.rb +0 -24
@@ -14,6 +14,10 @@ module SparkApi
14
14
  end
15
15
 
16
16
  describe SparkApi::MultiClient do
17
+
18
+ before(:all) { SparkApi.reset }
19
+ after(:all) { SparkApi.reset }
20
+
17
21
  it "should activate a client implemenation when activate()" do
18
22
  SparkApi.activate(:test_client_a)
19
23
  SparkApi.client.api_key.should eq('a')
@@ -45,15 +49,21 @@ describe SparkApi::MultiClient do
45
49
  end
46
50
 
47
51
  context "yaml" do
48
- it "should activate a client implemenation when activate()" do
52
+ before :each do
49
53
  SparkApi::Configuration::YamlConfig.stub(:config_path) { "spec/config/spark_api" }
54
+ end
55
+
56
+ it "should activate a client implemenation when activate()" do
50
57
  SparkApi.activate(:test_key)
51
58
  SparkApi.client.api_key.should eq('demo_key')
52
59
  end
53
- end
54
60
 
55
- after(:all) do
56
- reset_config
61
+ it "should activate a single session key" do
62
+ SparkApi::Configuration::YamlConfig.stub(:config_path) { "spec/config/spark_api" }
63
+ SparkApi.activate(:test_single_session_oauth)
64
+ SparkApi.client.session.should respond_to(:access_token)
65
+ SparkApi.client.session.access_token.should eq("yay success!")
66
+ end
57
67
  end
58
68
 
59
69
  end
@@ -31,7 +31,6 @@ end
31
31
 
32
32
 
33
33
  describe SparkApi::PaginateResponse do
34
-
35
34
  describe "paginate_response" do
36
35
  subject { PaginateResponseTester.new }
37
36
  it "should give me the first page" do
@@ -90,6 +90,11 @@ describe SparkApi do
90
90
  stub.delete('/v1/contacts/1000?ApiSig=SignedToken&AuthToken=1234') { [200, {}, '{"D": {
91
91
  "Success": true}}']
92
92
  }
93
+ # Other MISC requests
94
+ stub.post('/v1/stringdata?ApiSig=SignedToken&AuthToken=1234', 'I am a lonely String!') { [200, {}, '{"D": {
95
+ "Success": true,
96
+ "Results": []}}']
97
+ }
93
98
  # EXPIRED RESPONSES
94
99
  stub.get('/v1/system?ApiSig=SignedToken&AuthToken=EXPIRED') { [401 , {}, '{"D": {
95
100
  "Success": false,
@@ -181,6 +186,11 @@ describe SparkApi do
181
186
  # now try this with an already escaped path. Kaboom!
182
187
  expect { subject.get('/test%20path%20with%20spaces') }.to raise_error()
183
188
  end
189
+
190
+ it "post data should support non json data" do
191
+ # Other MISC requests
192
+ subject.post('/stringdata', 'I am a lonely String!').success?.should == true
193
+ end
184
194
 
185
195
  it "should give me BigDecimal results for large floating point numbers" do
186
196
  MultiJson.default_adapter.should eq(:yajl)
@@ -1,9 +1,6 @@
1
1
  require './spec/spec_helper'
2
2
 
3
3
  describe SparkApi do
4
- after(:each) do
5
- reset_config
6
- end
7
4
 
8
5
  it "should use 'yajl-ruby' for parsing json" do
9
6
  MultiJson.engine.should eq(MultiJson::Adapters::Yajl)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spark_api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 1
9
8
  - 2
10
- version: 1.1.2
9
+ - 0
10
+ version: 1.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brandon Hornseth
@@ -16,10 +16,11 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-09-07 00:00:00 Z
19
+ date: 2012-11-15 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ type: :runtime
23
+ requirement: &id001 !ruby/object:Gem::Requirement
23
24
  none: false
24
25
  requirements:
25
26
  - - ~>
@@ -30,12 +31,12 @@ dependencies:
30
31
  - 8
31
32
  - 1
32
33
  version: 0.8.1
33
- requirement: *id001
34
+ version_requirements: *id001
34
35
  prerelease: false
35
36
  name: faraday
36
- type: :runtime
37
37
  - !ruby/object:Gem::Dependency
38
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ type: :runtime
39
+ requirement: &id002 !ruby/object:Gem::Requirement
39
40
  none: false
40
41
  requirements:
41
42
  - - ~>
@@ -45,12 +46,12 @@ dependencies:
45
46
  - 1
46
47
  - 0
47
48
  version: "1.0"
48
- requirement: *id002
49
+ version_requirements: *id002
49
50
  prerelease: false
50
51
  name: multi_json
51
- type: :runtime
52
52
  - !ruby/object:Gem::Dependency
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
53
+ type: :runtime
54
+ requirement: &id003 !ruby/object:Gem::Requirement
54
55
  none: false
55
56
  requirements:
56
57
  - - ~>
@@ -60,12 +61,12 @@ dependencies:
60
61
  - 1
61
62
  - 7
62
63
  version: "1.7"
63
- requirement: *id003
64
+ version_requirements: *id003
64
65
  prerelease: false
65
66
  name: json
66
- type: :runtime
67
67
  - !ruby/object:Gem::Dependency
68
- version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ type: :runtime
69
+ requirement: &id004 !ruby/object:Gem::Requirement
69
70
  none: false
70
71
  requirements:
71
72
  - - ~>
@@ -76,12 +77,12 @@ dependencies:
76
77
  - 1
77
78
  - 0
78
79
  version: 1.1.0
79
- requirement: *id004
80
+ version_requirements: *id004
80
81
  prerelease: false
81
82
  name: yajl-ruby
82
- type: :runtime
83
83
  - !ruby/object:Gem::Dependency
84
- version_requirements: &id005 !ruby/object:Gem::Requirement
84
+ type: :runtime
85
+ requirement: &id005 !ruby/object:Gem::Requirement
85
86
  none: false
86
87
  requirements:
87
88
  - - ">="
@@ -100,12 +101,12 @@ dependencies:
100
101
  - 0
101
102
  - 0
102
103
  version: 4.0.0
103
- requirement: *id005
104
+ version_requirements: *id005
104
105
  prerelease: false
105
106
  name: builder
106
- type: :runtime
107
107
  - !ruby/object:Gem::Dependency
108
- version_requirements: &id006 !ruby/object:Gem::Requirement
108
+ type: :runtime
109
+ requirement: &id006 !ruby/object:Gem::Requirement
109
110
  none: false
110
111
  requirements:
111
112
  - - ">="
@@ -125,12 +126,27 @@ dependencies:
125
126
  - 0
126
127
  - 0
127
128
  version: 4.0.0
128
- requirement: *id006
129
+ version_requirements: *id006
129
130
  prerelease: false
130
131
  name: will_paginate
132
+ - !ruby/object:Gem::Dependency
131
133
  type: :runtime
134
+ requirement: &id007 !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ hash: 15
140
+ segments:
141
+ - 1
142
+ - 0
143
+ version: "1.0"
144
+ version_requirements: *id007
145
+ prerelease: false
146
+ name: highline
132
147
  - !ruby/object:Gem::Dependency
133
- version_requirements: &id007 !ruby/object:Gem::Requirement
148
+ type: :development
149
+ requirement: &id008 !ruby/object:Gem::Requirement
134
150
  none: false
135
151
  requirements:
136
152
  - - ~>
@@ -141,12 +157,12 @@ dependencies:
141
157
  - 9
142
158
  - 2
143
159
  version: 0.9.2
144
- requirement: *id007
160
+ version_requirements: *id008
145
161
  prerelease: false
146
162
  name: rake
147
- type: :development
148
163
  - !ruby/object:Gem::Dependency
149
- version_requirements: &id008 !ruby/object:Gem::Requirement
164
+ type: :development
165
+ requirement: &id009 !ruby/object:Gem::Requirement
150
166
  none: false
151
167
  requirements:
152
168
  - - ~>
@@ -157,12 +173,12 @@ dependencies:
157
173
  - 11
158
174
  - 0
159
175
  version: 2.11.0
160
- requirement: *id008
176
+ version_requirements: *id009
161
177
  prerelease: false
162
178
  name: rspec
163
- type: :development
164
179
  - !ruby/object:Gem::Dependency
165
- version_requirements: &id009 !ruby/object:Gem::Requirement
180
+ type: :development
181
+ requirement: &id010 !ruby/object:Gem::Requirement
166
182
  none: false
167
183
  requirements:
168
184
  - - "="
@@ -173,12 +189,12 @@ dependencies:
173
189
  - 7
174
190
  - 5
175
191
  version: 1.7.5
176
- requirement: *id009
192
+ version_requirements: *id010
177
193
  prerelease: false
178
194
  name: webmock
179
- type: :development
180
195
  - !ruby/object:Gem::Dependency
181
- version_requirements: &id010 !ruby/object:Gem::Requirement
196
+ type: :development
197
+ requirement: &id011 !ruby/object:Gem::Requirement
182
198
  none: false
183
199
  requirements:
184
200
  - - ~>
@@ -189,12 +205,12 @@ dependencies:
189
205
  - 2
190
206
  - 4
191
207
  version: 0.2.4
192
- requirement: *id010
208
+ version_requirements: *id011
193
209
  prerelease: false
194
210
  name: typhoeus
195
- type: :development
196
211
  - !ruby/object:Gem::Dependency
197
- version_requirements: &id011 !ruby/object:Gem::Requirement
212
+ type: :development
213
+ requirement: &id012 !ruby/object:Gem::Requirement
198
214
  none: false
199
215
  requirements:
200
216
  - - ~>
@@ -205,12 +221,12 @@ dependencies:
205
221
  - 7
206
222
  - 0
207
223
  version: 1.7.0
208
- requirement: *id011
224
+ version_requirements: *id012
209
225
  prerelease: false
210
226
  name: ci_reporter
211
- type: :development
212
227
  - !ruby/object:Gem::Dependency
213
- version_requirements: &id012 !ruby/object:Gem::Requirement
228
+ type: :development
229
+ requirement: &id013 !ruby/object:Gem::Requirement
214
230
  none: false
215
231
  requirements:
216
232
  - - ~>
@@ -221,12 +237,12 @@ dependencies:
221
237
  - 9
222
238
  - 9
223
239
  version: 0.9.9
224
- requirement: *id012
240
+ version_requirements: *id013
225
241
  prerelease: false
226
242
  name: rcov
227
- type: :development
228
243
  - !ruby/object:Gem::Dependency
229
- version_requirements: &id013 !ruby/object:Gem::Requirement
244
+ type: :development
245
+ requirement: &id014 !ruby/object:Gem::Requirement
230
246
  none: false
231
247
  requirements:
232
248
  - - ~>
@@ -237,10 +253,39 @@ dependencies:
237
253
  - 2
238
254
  - 5
239
255
  version: 0.2.5
240
- requirement: *id013
256
+ version_requirements: *id014
241
257
  prerelease: false
242
258
  name: flexmls_gems
259
+ - !ruby/object:Gem::Dependency
243
260
  type: :development
261
+ requirement: &id015 !ruby/object:Gem::Requirement
262
+ none: false
263
+ requirements:
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ hash: 3
267
+ segments:
268
+ - 0
269
+ version: "0"
270
+ version_requirements: *id015
271
+ prerelease: false
272
+ name: guard-rspec
273
+ - !ruby/object:Gem::Dependency
274
+ type: :development
275
+ requirement: &id016 !ruby/object:Gem::Requirement
276
+ none: false
277
+ requirements:
278
+ - - ~>
279
+ - !ruby/object:Gem::Version
280
+ hash: 57
281
+ segments:
282
+ - 0
283
+ - 9
284
+ - 1
285
+ version: 0.9.1
286
+ version_requirements: *id016
287
+ prerelease: false
288
+ name: rb-fsevent
244
289
  description: The spark_api gem handles most of the boilerplate for communicating with the Spark API rest services, including authentication and request parsing.
245
290
  email: api-support@sparkapi.com
246
291
  executables:
@@ -259,15 +304,17 @@ files:
259
304
  - bin/spark_api
260
305
  - lib/spark_api/authentication/api_auth.rb
261
306
  - lib/spark_api/authentication/oauth2_impl/faraday_middleware.rb
307
+ - lib/spark_api/authentication/oauth2_impl/single_session_provider.rb
262
308
  - lib/spark_api/authentication/oauth2_impl/grant_type_base.rb
263
- - lib/spark_api/authentication/oauth2_impl/password_provider.rb
264
309
  - lib/spark_api/authentication/oauth2_impl/grant_type_code.rb
265
310
  - lib/spark_api/authentication/oauth2_impl/grant_type_refresh.rb
311
+ - lib/spark_api/authentication/oauth2_impl/cli_provider.rb
266
312
  - lib/spark_api/authentication/oauth2_impl/simple_provider.rb
267
313
  - lib/spark_api/authentication/oauth2_impl/grant_type_password.rb
268
314
  - lib/spark_api/authentication/oauth2.rb
269
315
  - lib/spark_api/authentication/base_auth.rb
270
316
  - lib/spark_api/faraday_middleware.rb
317
+ - lib/spark_api/errors.rb
271
318
  - lib/spark_api/client.rb
272
319
  - lib/spark_api/primary_array.rb
273
320
  - lib/spark_api/version.rb
@@ -284,6 +331,7 @@ files:
284
331
  - lib/spark_api/models/video.rb
285
332
  - lib/spark_api/models/idx_link.rb
286
333
  - lib/spark_api/models/message.rb
334
+ - lib/spark_api/models/concerns.rb
287
335
  - lib/spark_api/models/system_info.rb
288
336
  - lib/spark_api/models/listing.rb
289
337
  - lib/spark_api/models/constraint.rb
@@ -291,14 +339,18 @@ files:
291
339
  - lib/spark_api/models/listing_cart.rb
292
340
  - lib/spark_api/models/saved_search.rb
293
341
  - lib/spark_api/models/open_house.rb
342
+ - lib/spark_api/models/dirty.rb
294
343
  - lib/spark_api/models/connect_prefs.rb
295
344
  - lib/spark_api/models/shared_listing.rb
345
+ - lib/spark_api/models/concerns/destroyable.rb
346
+ - lib/spark_api/models/concerns/savable.rb
296
347
  - lib/spark_api/models/standard_fields.rb
297
348
  - lib/spark_api/models/market_statistics.rb
298
349
  - lib/spark_api/models/note.rb
299
350
  - lib/spark_api/models/custom_fields.rb
300
351
  - lib/spark_api/models/account.rb
301
352
  - lib/spark_api/models/notification.rb
353
+ - lib/spark_api/models/subscription.rb
302
354
  - lib/spark_api/models/property_types.rb
303
355
  - lib/spark_api/models/virtual_tour.rb
304
356
  - lib/spark_api/models/tour_of_home.rb
@@ -323,6 +375,12 @@ files:
323
375
  - spec/fixtures/errors/expired.json
324
376
  - spec/fixtures/errors/failure_with_msg.json
325
377
  - spec/fixtures/errors/failure.json
378
+ - spec/fixtures/subscriptions/update.json
379
+ - spec/fixtures/subscriptions/new.json
380
+ - spec/fixtures/subscriptions/put.json
381
+ - spec/fixtures/subscriptions/get.json
382
+ - spec/fixtures/subscriptions/post.json
383
+ - spec/fixtures/subscriptions/subscribe.json
326
384
  - spec/fixtures/count.json
327
385
  - spec/fixtures/notes/new.json
328
386
  - spec/fixtures/notes/agent_shared.json
@@ -339,6 +397,10 @@ files:
339
397
  - spec/fixtures/oauth2/error.json
340
398
  - spec/fixtures/oauth2/access.json
341
399
  - spec/fixtures/oauth2/access_with_old_refresh.json
400
+ - spec/fixtures/saved_searches/update.json
401
+ - spec/fixtures/saved_searches/new.json
402
+ - spec/fixtures/saved_searches/get.json
403
+ - spec/fixtures/saved_searches/post.json
342
404
  - spec/fixtures/standardfields/nearby.json
343
405
  - spec/fixtures/standardfields/city.json
344
406
  - spec/fixtures/standardfields/stateorprovince.json
@@ -364,7 +426,6 @@ files:
364
426
  - spec/fixtures/listings/put_expiration_date.json
365
427
  - spec/fixtures/listings/no_subresources.json
366
428
  - spec/fixtures/listings/rental_calendar.json
367
- - spec/fixtures/listings/saved_search.json
368
429
  - spec/fixtures/listings/shared_listing_get.json
369
430
  - spec/fixtures/listings/constraints_with_pagination.json
370
431
  - spec/fixtures/listings/with_rental_calendar.json
@@ -408,6 +469,8 @@ files:
408
469
  - spec/fixtures/logo_fbs.png
409
470
  - spec/unit/spark_api_spec.rb
410
471
  - spec/unit/spark_api/authentication/base_auth_spec.rb
472
+ - spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb
473
+ - spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb
411
474
  - spec/unit/spark_api/authentication/oauth2_impl/grant_type_base_spec.rb
412
475
  - spec/unit/spark_api/authentication/oauth2_spec.rb
413
476
  - spec/unit/spark_api/authentication/api_auth_spec.rb
@@ -424,11 +487,15 @@ files:
424
487
  - spec/unit/spark_api/models/rental_calendar_spec.rb
425
488
  - spec/unit/spark_api/models/document_spec.rb
426
489
  - spec/unit/spark_api/models/property_types_spec.rb
490
+ - spec/unit/spark_api/models/dirty_spec.rb
427
491
  - spec/unit/spark_api/models/message_spec.rb
428
492
  - spec/unit/spark_api/models/listing_spec.rb
493
+ - spec/unit/spark_api/models/subscription_spec.rb
429
494
  - spec/unit/spark_api/models/shared_listing_spec.rb
430
495
  - spec/unit/spark_api/models/note_spec.rb
431
496
  - spec/unit/spark_api/models/connect_prefs_spec.rb
497
+ - spec/unit/spark_api/models/concerns/destroyable_spec.rb
498
+ - spec/unit/spark_api/models/concerns/savable_spec.rb
432
499
  - spec/unit/spark_api/models/subresource_spec.rb
433
500
  - spec/unit/spark_api/models/photo_spec.rb
434
501
  - spec/unit/spark_api/models/base_spec.rb
@@ -479,7 +546,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
479
546
  requirements: []
480
547
 
481
548
  rubyforge_project: spark_api
482
- rubygems_version: 1.8.15
549
+ rubygems_version: 1.8.24
483
550
  signing_key:
484
551
  specification_version: 3
485
552
  summary: A library for interacting with the Spark web services.
@@ -489,6 +556,12 @@ test_files:
489
556
  - spec/fixtures/errors/expired.json
490
557
  - spec/fixtures/errors/failure_with_msg.json
491
558
  - spec/fixtures/errors/failure.json
559
+ - spec/fixtures/subscriptions/update.json
560
+ - spec/fixtures/subscriptions/new.json
561
+ - spec/fixtures/subscriptions/put.json
562
+ - spec/fixtures/subscriptions/get.json
563
+ - spec/fixtures/subscriptions/post.json
564
+ - spec/fixtures/subscriptions/subscribe.json
492
565
  - spec/fixtures/count.json
493
566
  - spec/fixtures/notes/new.json
494
567
  - spec/fixtures/notes/agent_shared.json
@@ -505,6 +578,10 @@ test_files:
505
578
  - spec/fixtures/oauth2/error.json
506
579
  - spec/fixtures/oauth2/access.json
507
580
  - spec/fixtures/oauth2/access_with_old_refresh.json
581
+ - spec/fixtures/saved_searches/update.json
582
+ - spec/fixtures/saved_searches/new.json
583
+ - spec/fixtures/saved_searches/get.json
584
+ - spec/fixtures/saved_searches/post.json
508
585
  - spec/fixtures/standardfields/nearby.json
509
586
  - spec/fixtures/standardfields/city.json
510
587
  - spec/fixtures/standardfields/stateorprovince.json
@@ -530,7 +607,6 @@ test_files:
530
607
  - spec/fixtures/listings/put_expiration_date.json
531
608
  - spec/fixtures/listings/no_subresources.json
532
609
  - spec/fixtures/listings/rental_calendar.json
533
- - spec/fixtures/listings/saved_search.json
534
610
  - spec/fixtures/listings/shared_listing_get.json
535
611
  - spec/fixtures/listings/constraints_with_pagination.json
536
612
  - spec/fixtures/listings/with_rental_calendar.json
@@ -574,6 +650,8 @@ test_files:
574
650
  - spec/fixtures/logo_fbs.png
575
651
  - spec/unit/spark_api_spec.rb
576
652
  - spec/unit/spark_api/authentication/base_auth_spec.rb
653
+ - spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb
654
+ - spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb
577
655
  - spec/unit/spark_api/authentication/oauth2_impl/grant_type_base_spec.rb
578
656
  - spec/unit/spark_api/authentication/oauth2_spec.rb
579
657
  - spec/unit/spark_api/authentication/api_auth_spec.rb
@@ -590,11 +668,15 @@ test_files:
590
668
  - spec/unit/spark_api/models/rental_calendar_spec.rb
591
669
  - spec/unit/spark_api/models/document_spec.rb
592
670
  - spec/unit/spark_api/models/property_types_spec.rb
671
+ - spec/unit/spark_api/models/dirty_spec.rb
593
672
  - spec/unit/spark_api/models/message_spec.rb
594
673
  - spec/unit/spark_api/models/listing_spec.rb
674
+ - spec/unit/spark_api/models/subscription_spec.rb
595
675
  - spec/unit/spark_api/models/shared_listing_spec.rb
596
676
  - spec/unit/spark_api/models/note_spec.rb
597
677
  - spec/unit/spark_api/models/connect_prefs_spec.rb
678
+ - spec/unit/spark_api/models/concerns/destroyable_spec.rb
679
+ - spec/unit/spark_api/models/concerns/savable_spec.rb
598
680
  - spec/unit/spark_api/models/subresource_spec.rb
599
681
  - spec/unit/spark_api/models/photo_spec.rb
600
682
  - spec/unit/spark_api/models/base_spec.rb