spark_api 1.6.2 → 2.0.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 +4 -4
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/spark_api/authentication/oauth2_impl/cli_provider.rb +5 -5
- data/lib/spark_api/authentication/oauth2_impl/faraday_middleware.rb +2 -2
- data/lib/spark_api/configuration/yaml.rb +1 -1
- data/lib/spark_api/configuration.rb +8 -5
- data/lib/spark_api/connection.rb +3 -6
- data/lib/spark_api/faraday_middleware.rb +4 -16
- data/lib/spark_api/request.rb +3 -1
- data/lib/spark_api/reso_faraday_middleware.rb +1 -8
- data/spec/spec_helper.rb +1 -1
- data/spec/unit/spark_api/configuration/yaml_spec.rb +2 -2
- data/spec/unit/spark_api/configuration_spec.rb +9 -7
- data/spec/unit/spark_api/faraday_middleware_spec.rb +0 -49
- data/spec/unit/spark_api/multi_client_spec.rb +1 -1
- data/spec/unit/spark_api/request_spec.rb +1 -1
- metadata +186 -206
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 225a876c0d7cc718e2f7b02544ad280b304d2dae759af03e1a0f2a54558f5323
|
4
|
+
data.tar.gz: 0da2c909ca58b47e9dd9583a6fef4256fcf0ab55448a6eff00ff29cc6a42bd5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7435c421f7978b5e48b79a6d2f2cb9fc9e88ac664b5b4c9b9f956e0e72b7d4cf115e7ebb4024b0551aacc98975d887f0957c67ddecc232fa6777d92567d20875
|
7
|
+
data.tar.gz: 6a71260f031fd07ac91721b026beec5665986b447a25d1465ff1875819197d38840999879d0ec73717b844e9abb00f94d8e5103a001152bdfaa49ec4853503cf
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Spark API
|
2
2
|
=====================
|
3
|
-

|
3
|
+

|
4
4
|
|
5
5
|
A Ruby wrapper for the Spark REST API. Loosely based on ActiveResource to provide models to interact with remote services.
|
6
6
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require "highline"
|
2
|
-
|
3
1
|
module SparkApi
|
4
2
|
module Authentication
|
5
3
|
module OAuth2Impl
|
@@ -18,9 +16,11 @@ module SparkApi
|
|
18
16
|
def redirect(url)
|
19
17
|
puts "Missing OAuth2 session, redirecting..."
|
20
18
|
puts "Please visit #{url}, login as a user, and paste the authorization code here:"
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
puts "Authorization code?"
|
20
|
+
raw_code = gets.strip
|
21
|
+
|
22
|
+
unless raw_code.match?(/^\w+$/)
|
23
|
+
raise "Invalid authorization code. Please try again."
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -6,7 +6,7 @@ module SparkApi
|
|
6
6
|
|
7
7
|
#==OAuth2 Faraday response middleware
|
8
8
|
# HTTP Response after filter to package oauth2 responses and bubble up basic api errors.
|
9
|
-
class FaradayMiddleware < Faraday::
|
9
|
+
class FaradayMiddleware < Faraday::Middleware
|
10
10
|
|
11
11
|
def initialize(app)
|
12
12
|
super(app)
|
@@ -42,7 +42,7 @@ module SparkApi
|
|
42
42
|
|
43
43
|
#==OAuth2 Faraday response middleware
|
44
44
|
# HTTP Response after filter to package oauth2 responses and bubble up basic api errors.
|
45
|
-
class SparkbarFaradayMiddleware < Faraday::
|
45
|
+
class SparkbarFaradayMiddleware < Faraday::Middleware
|
46
46
|
|
47
47
|
def initialize(app)
|
48
48
|
super(app)
|
@@ -9,9 +9,9 @@ module SparkApi
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# valid configuration options
|
12
|
-
VALID_OPTION_KEYS = [:api_key, :api_secret, :api_user, :endpoint,
|
13
|
-
:user_agent, :version, :ssl, :ssl_verify, :oauth2_provider, :authentication_mode,
|
14
|
-
:auth_endpoint, :callback, :
|
12
|
+
VALID_OPTION_KEYS = [:api_key, :api_secret, :api_user, :endpoint,
|
13
|
+
:user_agent, :version, :ssl, :ssl_verify, :oauth2_provider, :authentication_mode,
|
14
|
+
:auth_endpoint, :callback, :timeout, :middleware, :dictionary_version, :request_id_chain, :user_ip_address, :verbose].freeze
|
15
15
|
OAUTH2_KEYS = [:authorization_uri, :access_uri, :client_id, :client_secret,
|
16
16
|
# Requirements for authorization_code grant type
|
17
17
|
:redirect_uri,
|
@@ -41,13 +41,15 @@ module SparkApi
|
|
41
41
|
DEFAULT_SSL = true
|
42
42
|
DEFAULT_SSL_VERIFY = true
|
43
43
|
DEFAULT_OAUTH2 = nil
|
44
|
-
DEFAULT_COMPRESS = false
|
45
44
|
DEFAULT_TIMEOUT = 5 # seconds
|
46
45
|
DEFAULT_MIDDLEWARE = 'spark_api'
|
47
46
|
DEFAULT_DICTIONARY_VERSION = nil
|
48
47
|
DEFAULT_REQUEST_ID_CHAIN = nil
|
48
|
+
DEFAULT_USER_IP_ADDRESS = nil
|
49
|
+
DEFAULT_VERBOSE = false
|
49
50
|
|
50
51
|
X_SPARK_API_USER_AGENT = "X-SparkApi-User-Agent"
|
52
|
+
X_USER_IP_ADDRESS = "X-User-IP-Address"
|
51
53
|
|
52
54
|
attr_accessor *VALID_OPTION_KEYS
|
53
55
|
def configure
|
@@ -77,11 +79,12 @@ module SparkApi
|
|
77
79
|
self.ssl = DEFAULT_SSL
|
78
80
|
self.ssl_verify = DEFAULT_SSL_VERIFY
|
79
81
|
self.version = DEFAULT_VERSION
|
80
|
-
self.compress = DEFAULT_COMPRESS
|
81
82
|
self.timeout = DEFAULT_TIMEOUT
|
82
83
|
self.middleware = DEFAULT_MIDDLEWARE
|
83
84
|
self.dictionary_version = DEFAULT_DICTIONARY_VERSION
|
84
85
|
self.request_id_chain = DEFAULT_REQUEST_ID_CHAIN
|
86
|
+
self.user_ip_address = DEFAULT_USER_IP_ADDRESS
|
87
|
+
self.verbose = DEFAULT_VERBOSE
|
85
88
|
self
|
86
89
|
end
|
87
90
|
end
|
data/lib/spark_api/connection.rb
CHANGED
@@ -10,7 +10,6 @@ module SparkApi
|
|
10
10
|
HTTP_SCHEME = 'http:'
|
11
11
|
HTTPS_SCHEME = 'https:'
|
12
12
|
ACCEPT_ENCODING = 'Accept-Encoding'
|
13
|
-
COMPRESS_ACCEPT_ENCODING = 'gzip, deflate'
|
14
13
|
X_REQUEST_ID_CHAIN = 'X-Request-Id-Chain'
|
15
14
|
MIME_JSON = 'application/json'
|
16
15
|
MIME_RESO = 'application/json, application/xml'
|
@@ -27,10 +26,6 @@ module SparkApi
|
|
27
26
|
opts[:url] = @endpoint.sub REG_HTTPS, HTTP_SCHEME
|
28
27
|
end
|
29
28
|
|
30
|
-
if self.compress
|
31
|
-
opts[:headers][ACCEPT_ENCODING] = COMPRESS_ACCEPT_ENCODING
|
32
|
-
end
|
33
|
-
|
34
29
|
if request_id_chain
|
35
30
|
opts[:headers][X_REQUEST_ID_CHAIN] = request_id_chain
|
36
31
|
end
|
@@ -40,7 +35,9 @@ module SparkApi
|
|
40
35
|
conn.options[:timeout] = self.timeout
|
41
36
|
conn.adapter Faraday.default_adapter
|
42
37
|
end
|
43
|
-
|
38
|
+
if self.verbose
|
39
|
+
SparkApi.logger.debug { "Connection: #{conn.inspect}" }
|
40
|
+
end
|
44
41
|
conn
|
45
42
|
end
|
46
43
|
|
@@ -5,7 +5,7 @@ require 'zlib'
|
|
5
5
|
module SparkApi
|
6
6
|
#=Spark API Faraday middleware
|
7
7
|
# HTTP Response after filter to package api responses and bubble up basic api errors.
|
8
|
-
class FaradayMiddleware < Faraday::
|
8
|
+
class FaradayMiddleware < Faraday::Middleware
|
9
9
|
include SparkApi::PaginateHelper
|
10
10
|
|
11
11
|
def initialize(app)
|
@@ -15,10 +15,10 @@ module SparkApi
|
|
15
15
|
# Handles pretty much all the api response parsing and error handling. All responses that
|
16
16
|
# indicate a failure will raise a SparkApi::ClientError exception
|
17
17
|
def on_complete(env)
|
18
|
-
env[:body] = decompress_body(env)
|
19
|
-
|
20
18
|
body = MultiJson.decode(env[:body])
|
21
|
-
SparkApi.
|
19
|
+
if SparkApi.verbose
|
20
|
+
SparkApi.logger.debug{ "Response Body: #{body.inspect}" }
|
21
|
+
end
|
22
22
|
unless body.is_a?(Hash) && body.key?("D")
|
23
23
|
raise InvalidResponse, "The server response could not be understood"
|
24
24
|
end
|
@@ -80,18 +80,6 @@ module SparkApi
|
|
80
80
|
env[:body] = results
|
81
81
|
end
|
82
82
|
|
83
|
-
def decompress_body(env)
|
84
|
-
encoding = env[:response_headers]['content-encoding'].to_s.downcase
|
85
|
-
|
86
|
-
if encoding == 'gzip'
|
87
|
-
env[:body] = Zlib::GzipReader.new(StringIO.new(env[:body])).read
|
88
|
-
elsif encoding == 'deflate'
|
89
|
-
env[:body] = Zlib::Inflate.inflate(env[:body])
|
90
|
-
end
|
91
|
-
|
92
|
-
env[:body]
|
93
|
-
end
|
94
|
-
|
95
83
|
private
|
96
84
|
|
97
85
|
def http_method_override_request?(env)
|
data/lib/spark_api/request.rb
CHANGED
@@ -93,7 +93,9 @@ module SparkApi
|
|
93
93
|
response = authenticator.request(method, request_path, nil, request_opts)
|
94
94
|
else
|
95
95
|
post_data = process_request_body(body)
|
96
|
-
|
96
|
+
if self.verbose
|
97
|
+
SparkApi.logger.debug { "#{method.to_s.upcase} Data: #{post_data}" }
|
98
|
+
end
|
97
99
|
response = authenticator.request(method, request_path, post_data, request_opts)
|
98
100
|
end
|
99
101
|
request_time = Time.now - start_time
|
@@ -1,14 +1,9 @@
|
|
1
1
|
|
2
2
|
module SparkApi
|
3
|
-
|
4
3
|
class ResoFaradayMiddleware < FaradayMiddleware
|
5
|
-
|
6
4
|
def on_complete(env)
|
7
|
-
|
8
|
-
body = decompress_body(env)
|
9
|
-
|
10
5
|
begin
|
11
|
-
body = MultiJson.decode(body)
|
6
|
+
body = MultiJson.decode(env[:body])
|
12
7
|
|
13
8
|
if body["D"]
|
14
9
|
super(env)
|
@@ -21,9 +16,7 @@ module SparkApi
|
|
21
16
|
# some minor format verification
|
22
17
|
raise e if body.strip[/\A<\?xml/].nil?
|
23
18
|
end
|
24
|
-
|
25
19
|
end
|
26
|
-
|
27
20
|
end
|
28
21
|
|
29
22
|
Faraday::Response.register_middleware :reso_api => ResoFaradayMiddleware
|
data/spec/spec_helper.rb
CHANGED
@@ -27,9 +27,9 @@ describe SparkApi::Configuration::YamlConfig, "Yaml Config" do
|
|
27
27
|
end
|
28
28
|
it "should raise an error for a bad configuration" do
|
29
29
|
allow(subject).to receive(:env){ {} }
|
30
|
-
expect { subject.load_file("spec/config/spark_api/some_random_key.yml")}.to raise_error
|
30
|
+
expect { subject.load_file("spec/config/spark_api/some_random_key.yml")}.to raise_error(Errno::ENOENT)
|
31
31
|
allow(subject).to receive(:env){ {"RAILS_ENV" => "fake_env"} }
|
32
|
-
expect { subject.load_file(api_file)}.to raise_error
|
32
|
+
expect { subject.load_file(api_file)}.to raise_error(NoMethodError)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
describe "oauth2" do
|
@@ -14,7 +14,9 @@ describe SparkApi::Client, "Client config" do
|
|
14
14
|
expect(SparkApi.api_key).to match("my_api_key")
|
15
15
|
expect(SparkApi.timeout).to eq(5)
|
16
16
|
expect(SparkApi.request_id_chain).to be_nil
|
17
|
+
expect(SparkApi.user_ip_address).to be_nil
|
17
18
|
expect(SparkApi.middleware).to eq('spark_api')
|
19
|
+
expect(SparkApi.verbose).to be false
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
@@ -26,7 +28,9 @@ describe SparkApi::Client, "Client config" do
|
|
26
28
|
:auth_endpoint => "https://login.wade.dev.fbsdata.com",
|
27
29
|
:endpoint => "http://api.wade.dev.fbsdata.com",
|
28
30
|
:timeout => 15,
|
29
|
-
:request_id_chain => 'foobar'
|
31
|
+
:request_id_chain => 'foobar',
|
32
|
+
:user_ip_address => 'barfoo',
|
33
|
+
:verbose => true)
|
30
34
|
|
31
35
|
expect(client.api_key).to match("key_of_wade")
|
32
36
|
expect(client.api_secret).to match("TopSecret")
|
@@ -36,6 +40,8 @@ describe SparkApi::Client, "Client config" do
|
|
36
40
|
expect(client.version).to match("v1")
|
37
41
|
expect(client.timeout).to eq(15)
|
38
42
|
expect(client.request_id_chain).to eq('foobar')
|
43
|
+
expect(client.user_ip_address).to eq('barfoo')
|
44
|
+
expect(client.verbose).to be true
|
39
45
|
end
|
40
46
|
|
41
47
|
it "should allow unverified ssl certificates when verification is off" do
|
@@ -98,6 +104,7 @@ describe SparkApi::Client, "Client config" do
|
|
98
104
|
config.endpoint = "test.api.sparkapi.com"
|
99
105
|
config.user_agent = "my useragent"
|
100
106
|
config.timeout = 15
|
107
|
+
config.verbose = true
|
101
108
|
end
|
102
109
|
|
103
110
|
expect(SparkApi.api_key).to match("my_key")
|
@@ -108,6 +115,7 @@ describe SparkApi::Client, "Client config" do
|
|
108
115
|
expect(SparkApi.user_agent).to match("my useragent")
|
109
116
|
expect(SparkApi.oauth2_enabled?()).to be false
|
110
117
|
expect(SparkApi.timeout).to eq(15)
|
118
|
+
expect(SparkApi.verbose).to be true
|
111
119
|
end
|
112
120
|
|
113
121
|
it "should correctly set up the client for oauth2" do
|
@@ -220,12 +228,6 @@ describe SparkApi::Client, "Client config" do
|
|
220
228
|
expect(c.connection.headers["Accept-Encoding"]).to be_nil
|
221
229
|
end
|
222
230
|
|
223
|
-
it "should set gzip header if compress option is set" do
|
224
|
-
c = SparkApi::Client.new(:endpoint => "https://api.sparkapi.com",
|
225
|
-
:compress => true)
|
226
|
-
expect(c.connection.headers["Accept-Encoding"]).to eq("gzip, deflate")
|
227
|
-
end
|
228
|
-
|
229
231
|
it "should set default timeout of 5 seconds" do
|
230
232
|
c = SparkApi::Client.new(:endpoint => "https://sparkapi.com")
|
231
233
|
expect(c.connection.options[:timeout]).to eq(5)
|
@@ -97,55 +97,6 @@ describe SparkApi do
|
|
97
97
|
expect(e.errors).to eq("Some errors and stuff.")
|
98
98
|
}
|
99
99
|
end
|
100
|
-
|
101
|
-
end
|
102
|
-
|
103
|
-
describe "#decompress_body" do
|
104
|
-
let(:middleware) do
|
105
|
-
SparkApi::FaradayMiddleware.new(SparkApi)
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should leave the body along if content-encoding not set" do
|
109
|
-
env = {
|
110
|
-
:body => "UNCOMPRESSED",
|
111
|
-
:response_headers => {}
|
112
|
-
}
|
113
|
-
|
114
|
-
expect(middleware.decompress_body(env)).to eq("UNCOMPRESSED")
|
115
|
-
end
|
116
|
-
|
117
|
-
it "should unzip gzipped data" do
|
118
|
-
bod = "OUTPUT BODY"
|
119
|
-
|
120
|
-
out = StringIO.new
|
121
|
-
gz = Zlib::GzipWriter.new(out)
|
122
|
-
gz.write bod
|
123
|
-
gz.close
|
124
|
-
|
125
|
-
env = {
|
126
|
-
:body => out.string,
|
127
|
-
:response_headers => {
|
128
|
-
'content-encoding' => 'gzip'
|
129
|
-
}
|
130
|
-
}
|
131
|
-
|
132
|
-
expect(middleware.decompress_body(env)).to eq(bod)
|
133
|
-
end
|
134
|
-
|
135
|
-
it "should inflate deflated data" do
|
136
|
-
bod = "INFLATED BODY"
|
137
|
-
deflated_bod = Zlib::Deflate.deflate(bod)
|
138
|
-
|
139
|
-
env = {
|
140
|
-
:body => deflated_bod,
|
141
|
-
:response_headers => {
|
142
|
-
'content-encoding' => 'deflate'
|
143
|
-
}
|
144
|
-
}
|
145
|
-
|
146
|
-
expect(middleware.decompress_body(env)).to eq(bod)
|
147
|
-
end
|
148
100
|
end
|
149
|
-
|
150
101
|
end
|
151
102
|
|
@@ -223,7 +223,7 @@ describe SparkApi do
|
|
223
223
|
it "should escape a path correctly" do
|
224
224
|
expect(subject.get('/test path with spaces').length).to eq(0)
|
225
225
|
# now try this with an already escaped path. Kaboom!
|
226
|
-
expect { subject.get('/test%20path%20with%20spaces') }.to raise_error()
|
226
|
+
expect { subject.get('/test%20path%20with%20spaces') }.to raise_error(Faraday::Adapter::Test::Stubs::NotFound)
|
227
227
|
end
|
228
228
|
|
229
229
|
it "post data should support non json data" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spark_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Hornseth
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-12-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
@@ -31,32 +31,26 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
35
|
-
- - "<"
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '2.0'
|
34
|
+
version: 2.0.0
|
38
35
|
type: :runtime
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
38
|
requirements:
|
42
39
|
- - ">="
|
43
40
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.
|
45
|
-
- - "<"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '2.0'
|
41
|
+
version: 2.0.0
|
48
42
|
- !ruby/object:Gem::Dependency
|
49
43
|
name: multi_json
|
50
44
|
requirement: !ruby/object:Gem::Requirement
|
51
45
|
requirements:
|
52
|
-
- - "
|
46
|
+
- - ">"
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '1.0'
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
52
|
requirements:
|
59
|
-
- - "
|
53
|
+
- - ">"
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '1.0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
@@ -73,26 +67,6 @@ dependencies:
|
|
73
67
|
- - ">="
|
74
68
|
- !ruby/object:Gem::Version
|
75
69
|
version: '1.7'
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: builder
|
78
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 2.1.2
|
83
|
-
- - "<"
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 4.0.0
|
86
|
-
type: :runtime
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
requirements:
|
90
|
-
- - ">="
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: 2.1.2
|
93
|
-
- - "<"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: 4.0.0
|
96
70
|
- !ruby/object:Gem::Dependency
|
97
71
|
name: will_paginate
|
98
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,21 +88,21 @@ dependencies:
|
|
114
88
|
- !ruby/object:Gem::Version
|
115
89
|
version: 4.0.0
|
116
90
|
- !ruby/object:Gem::Dependency
|
117
|
-
name:
|
91
|
+
name: rake
|
118
92
|
requirement: !ruby/object:Gem::Requirement
|
119
93
|
requirements:
|
120
94
|
- - ">="
|
121
95
|
- !ruby/object:Gem::Version
|
122
|
-
version: '
|
123
|
-
type: :
|
96
|
+
version: '0'
|
97
|
+
type: :development
|
124
98
|
prerelease: false
|
125
99
|
version_requirements: !ruby/object:Gem::Requirement
|
126
100
|
requirements:
|
127
101
|
- - ">="
|
128
102
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
103
|
+
version: '0'
|
130
104
|
- !ruby/object:Gem::Dependency
|
131
|
-
name:
|
105
|
+
name: rspec
|
132
106
|
requirement: !ruby/object:Gem::Requirement
|
133
107
|
requirements:
|
134
108
|
- - ">="
|
@@ -142,7 +116,7 @@ dependencies:
|
|
142
116
|
- !ruby/object:Gem::Version
|
143
117
|
version: '0'
|
144
118
|
- !ruby/object:Gem::Dependency
|
145
|
-
name:
|
119
|
+
name: webmock
|
146
120
|
requirement: !ruby/object:Gem::Requirement
|
147
121
|
requirements:
|
148
122
|
- - ">="
|
@@ -156,7 +130,7 @@ dependencies:
|
|
156
130
|
- !ruby/object:Gem::Version
|
157
131
|
version: '0'
|
158
132
|
- !ruby/object:Gem::Dependency
|
159
|
-
name:
|
133
|
+
name: rexml
|
160
134
|
requirement: !ruby/object:Gem::Requirement
|
161
135
|
requirements:
|
162
136
|
- - ">="
|
@@ -170,7 +144,7 @@ dependencies:
|
|
170
144
|
- !ruby/object:Gem::Version
|
171
145
|
version: '0'
|
172
146
|
- !ruby/object:Gem::Dependency
|
173
|
-
name:
|
147
|
+
name: typhoeus
|
174
148
|
requirement: !ruby/object:Gem::Requirement
|
175
149
|
requirements:
|
176
150
|
- - ">="
|
@@ -184,7 +158,7 @@ dependencies:
|
|
184
158
|
- !ruby/object:Gem::Version
|
185
159
|
version: '0'
|
186
160
|
- !ruby/object:Gem::Dependency
|
187
|
-
name:
|
161
|
+
name: ci_reporter_rspec
|
188
162
|
requirement: !ruby/object:Gem::Requirement
|
189
163
|
requirements:
|
190
164
|
- - ">="
|
@@ -198,19 +172,25 @@ dependencies:
|
|
198
172
|
- !ruby/object:Gem::Version
|
199
173
|
version: '0'
|
200
174
|
- !ruby/object:Gem::Dependency
|
201
|
-
name:
|
175
|
+
name: builder
|
202
176
|
requirement: !ruby/object:Gem::Requirement
|
203
177
|
requirements:
|
204
178
|
- - ">="
|
205
179
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
180
|
+
version: 2.1.2
|
181
|
+
- - "<"
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: 4.0.0
|
207
184
|
type: :development
|
208
185
|
prerelease: false
|
209
186
|
version_requirements: !ruby/object:Gem::Requirement
|
210
187
|
requirements:
|
211
188
|
- - ">="
|
212
189
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
190
|
+
version: 2.1.2
|
191
|
+
- - "<"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 4.0.0
|
214
194
|
- !ruby/object:Gem::Dependency
|
215
195
|
name: simplecov-rcov
|
216
196
|
requirement: !ruby/object:Gem::Requirement
|
@@ -556,208 +536,208 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
556
536
|
- !ruby/object:Gem::Version
|
557
537
|
version: '1.8'
|
558
538
|
requirements: []
|
559
|
-
rubygems_version: 3.
|
539
|
+
rubygems_version: 3.5.22
|
560
540
|
signing_key:
|
561
541
|
specification_version: 4
|
562
542
|
summary: A library for interacting with the Spark web services.
|
563
543
|
test_files:
|
544
|
+
- spec/fixtures/accounts/all.json
|
545
|
+
- spec/fixtures/accounts/my.json
|
546
|
+
- spec/fixtures/accounts/my_portal.json
|
547
|
+
- spec/fixtures/accounts/my_put.json
|
548
|
+
- spec/fixtures/accounts/my_save.json
|
549
|
+
- spec/fixtures/accounts/office.json
|
550
|
+
- spec/fixtures/accounts/password_save.json
|
564
551
|
- spec/fixtures/activities/get.json
|
565
|
-
- spec/fixtures/
|
566
|
-
- spec/fixtures/
|
567
|
-
- spec/fixtures/
|
568
|
-
- spec/fixtures/
|
569
|
-
- spec/fixtures/
|
570
|
-
- spec/fixtures/
|
571
|
-
- spec/fixtures/
|
572
|
-
- spec/fixtures/messages/get.json
|
573
|
-
- spec/fixtures/portal/disable.json
|
574
|
-
- spec/fixtures/portal/post.json
|
575
|
-
- spec/fixtures/portal/new.json
|
576
|
-
- spec/fixtures/portal/my.json
|
577
|
-
- spec/fixtures/portal/my_non_existant.json
|
578
|
-
- spec/fixtures/portal/enable.json
|
579
|
-
- spec/fixtures/contacts/post.json
|
580
|
-
- spec/fixtures/contacts/new_empty.json
|
581
|
-
- spec/fixtures/contacts/tags.json
|
552
|
+
- spec/fixtures/authentication_failure.json
|
553
|
+
- spec/fixtures/base.json
|
554
|
+
- spec/fixtures/comments/get.json
|
555
|
+
- spec/fixtures/comments/new.json
|
556
|
+
- spec/fixtures/comments/post.json
|
557
|
+
- spec/fixtures/contacts/contacts.json
|
558
|
+
- spec/fixtures/contacts/my.json
|
582
559
|
- spec/fixtures/contacts/new.json
|
560
|
+
- spec/fixtures/contacts/new_empty.json
|
583
561
|
- spec/fixtures/contacts/new_notify.json
|
584
|
-
- spec/fixtures/contacts/
|
585
|
-
- spec/fixtures/contacts/
|
586
|
-
- spec/fixtures/contacts/vow_accounts/post.json
|
587
|
-
- spec/fixtures/contacts/vow_accounts/new.json
|
562
|
+
- spec/fixtures/contacts/post.json
|
563
|
+
- spec/fixtures/contacts/tags.json
|
588
564
|
- spec/fixtures/contacts/vow_accounts/edit.json
|
589
565
|
- spec/fixtures/contacts/vow_accounts/get.json
|
590
|
-
- spec/fixtures/
|
591
|
-
- spec/fixtures/
|
592
|
-
- spec/fixtures/
|
593
|
-
- spec/fixtures/
|
594
|
-
- spec/fixtures/
|
595
|
-
- spec/fixtures/
|
596
|
-
- spec/fixtures/
|
597
|
-
- spec/fixtures/
|
598
|
-
- spec/fixtures/
|
599
|
-
- spec/fixtures/
|
600
|
-
- spec/fixtures/
|
601
|
-
- spec/fixtures/
|
602
|
-
- spec/fixtures/
|
566
|
+
- spec/fixtures/contacts/vow_accounts/new.json
|
567
|
+
- spec/fixtures/contacts/vow_accounts/post.json
|
568
|
+
- spec/fixtures/count.json
|
569
|
+
- spec/fixtures/empty.json
|
570
|
+
- spec/fixtures/errors/expired.json
|
571
|
+
- spec/fixtures/errors/failure.json
|
572
|
+
- spec/fixtures/errors/failure_with_constraint.json
|
573
|
+
- spec/fixtures/errors/failure_with_msg.json
|
574
|
+
- spec/fixtures/fields/order.json
|
575
|
+
- spec/fixtures/fields/order_a.json
|
576
|
+
- spec/fixtures/fields/settings.json
|
577
|
+
- spec/fixtures/finders.json
|
578
|
+
- spec/fixtures/generic_delete.json
|
579
|
+
- spec/fixtures/generic_failure.json
|
580
|
+
- spec/fixtures/idx_links/get.json
|
581
|
+
- spec/fixtures/listing_carts/add_listing.json
|
582
|
+
- spec/fixtures/listing_carts/add_listing_post.json
|
583
|
+
- spec/fixtures/listing_carts/add_listings.json
|
584
|
+
- spec/fixtures/listing_carts/add_listings_post.json
|
585
|
+
- spec/fixtures/listing_carts/add_portal_cart_listings.json
|
586
|
+
- spec/fixtures/listing_carts/add_portal_cart_listings_post.json
|
587
|
+
- spec/fixtures/listing_carts/empty.json
|
588
|
+
- spec/fixtures/listing_carts/listing_cart.json
|
589
|
+
- spec/fixtures/listing_carts/listing_portal_cart.json
|
590
|
+
- spec/fixtures/listing_carts/new.json
|
591
|
+
- spec/fixtures/listing_carts/new_portal_cart.json
|
592
|
+
- spec/fixtures/listing_carts/post.json
|
593
|
+
- spec/fixtures/listing_carts/post_portal_cart.json
|
594
|
+
- spec/fixtures/listing_carts/put.json
|
595
|
+
- spec/fixtures/listing_carts/put_ids.json
|
596
|
+
- spec/fixtures/listing_carts/put_name.json
|
597
|
+
- spec/fixtures/listing_carts/remove_listing.json
|
598
|
+
- spec/fixtures/listing_meta_translations/get.json
|
599
|
+
- spec/fixtures/listings/constraints.json
|
603
600
|
- spec/fixtures/listings/constraints_with_pagination.json
|
604
|
-
- spec/fixtures/listings/with_rental_calendar.json
|
605
|
-
- spec/fixtures/listings/with_videos.json
|
606
|
-
- spec/fixtures/listings/shared_listing_new.json
|
607
|
-
- spec/fixtures/listings/multiple.json
|
608
601
|
- spec/fixtures/listings/document_index.json
|
609
|
-
- spec/fixtures/listings/constraints.json
|
610
|
-
- spec/fixtures/listings/shared_listing_post.json
|
611
|
-
- spec/fixtures/listings/reorder_photo.json
|
612
602
|
- spec/fixtures/listings/floplans_index.json
|
613
|
-
- spec/fixtures/listings/
|
603
|
+
- spec/fixtures/listings/multiple.json
|
604
|
+
- spec/fixtures/listings/no_subresources.json
|
605
|
+
- spec/fixtures/listings/open_houses.json
|
606
|
+
- spec/fixtures/listings/photos/batch_delete.json
|
607
|
+
- spec/fixtures/listings/photos/index.json
|
608
|
+
- spec/fixtures/listings/photos/new.json
|
609
|
+
- spec/fixtures/listings/photos/post.json
|
610
|
+
- spec/fixtures/listings/photos/rollback.json
|
611
|
+
- spec/fixtures/listings/photos/rotate.json
|
614
612
|
- spec/fixtures/listings/put.json
|
615
|
-
- spec/fixtures/listings/
|
616
|
-
- spec/fixtures/listings/
|
613
|
+
- spec/fixtures/listings/put_expiration_date.json
|
614
|
+
- spec/fixtures/listings/put_reorder_photo.json
|
615
|
+
- spec/fixtures/listings/rental_calendar.json
|
616
|
+
- spec/fixtures/listings/reorder_photo.json
|
617
|
+
- spec/fixtures/listings/shared_listing_get.json
|
618
|
+
- spec/fixtures/listings/shared_listing_new.json
|
619
|
+
- spec/fixtures/listings/shared_listing_post.json
|
617
620
|
- spec/fixtures/listings/tour_of_homes.json
|
621
|
+
- spec/fixtures/listings/tour_of_homes_search.json
|
622
|
+
- spec/fixtures/listings/videos_index.json
|
618
623
|
- spec/fixtures/listings/virtual_tours_index.json
|
619
624
|
- spec/fixtures/listings/with_documents.json
|
620
|
-
- spec/fixtures/listings/with_vtour.json
|
621
|
-
- spec/fixtures/listings/with_supplement.json
|
622
|
-
- spec/fixtures/listings/with_photos.json
|
623
|
-
- spec/fixtures/listings/put_reorder_photo.json
|
624
625
|
- spec/fixtures/listings/with_permissions.json
|
625
|
-
- spec/fixtures/listings/
|
626
|
-
- spec/fixtures/listings/
|
627
|
-
- spec/fixtures/listings/
|
628
|
-
- spec/fixtures/listings/
|
629
|
-
- spec/fixtures/listings/
|
630
|
-
- spec/fixtures/
|
631
|
-
- spec/fixtures/
|
626
|
+
- spec/fixtures/listings/with_photos.json
|
627
|
+
- spec/fixtures/listings/with_rental_calendar.json
|
628
|
+
- spec/fixtures/listings/with_supplement.json
|
629
|
+
- spec/fixtures/listings/with_videos.json
|
630
|
+
- spec/fixtures/listings/with_vtour.json
|
631
|
+
- spec/fixtures/logo_fbs.png
|
632
|
+
- spec/fixtures/messages/count.json
|
633
|
+
- spec/fixtures/messages/get.json
|
634
|
+
- spec/fixtures/messages/new.json
|
635
|
+
- spec/fixtures/messages/new_empty.json
|
636
|
+
- spec/fixtures/messages/new_with_recipients.json
|
637
|
+
- spec/fixtures/messages/post.json
|
638
|
+
- spec/fixtures/newsfeeds/get.json
|
639
|
+
- spec/fixtures/newsfeeds/inactive.json
|
640
|
+
- spec/fixtures/newsfeeds/meta.json
|
641
|
+
- spec/fixtures/no_results.json
|
632
642
|
- spec/fixtures/notes/add.json
|
633
|
-
- spec/fixtures/notes/new.json
|
634
|
-
- spec/fixtures/notes/agent_shared_empty.json
|
635
643
|
- spec/fixtures/notes/agent_shared.json
|
636
|
-
- spec/fixtures/
|
637
|
-
- spec/fixtures/
|
638
|
-
- spec/fixtures/errors/failure_with_msg.json
|
639
|
-
- spec/fixtures/errors/expired.json
|
640
|
-
- spec/fixtures/errors/failure.json
|
641
|
-
- spec/fixtures/generic_delete.json
|
642
|
-
- spec/fixtures/search_templates/quick_searches/get.json
|
643
|
-
- spec/fixtures/session.json
|
644
|
-
- spec/fixtures/accounts/office.json
|
645
|
-
- spec/fixtures/accounts/my.json
|
646
|
-
- spec/fixtures/accounts/password_save.json
|
647
|
-
- spec/fixtures/accounts/my_portal.json
|
648
|
-
- spec/fixtures/accounts/all.json
|
649
|
-
- spec/fixtures/accounts/my_save.json
|
650
|
-
- spec/fixtures/accounts/my_put.json
|
651
|
-
- spec/fixtures/empty.json
|
652
|
-
- spec/fixtures/no_results.json
|
653
|
-
- spec/fixtures/newsfeeds/meta.json
|
654
|
-
- spec/fixtures/newsfeeds/inactive.json
|
655
|
-
- spec/fixtures/newsfeeds/get.json
|
656
|
-
- spec/fixtures/saved_searches/post.json
|
657
|
-
- spec/fixtures/saved_searches/update.json
|
658
|
-
- spec/fixtures/saved_searches/without_newsfeed.json
|
659
|
-
- spec/fixtures/saved_searches/with_newsfeed.json
|
660
|
-
- spec/fixtures/saved_searches/get_provided.json
|
661
|
-
- spec/fixtures/saved_searches/new.json
|
662
|
-
- spec/fixtures/saved_searches/with_inactive_newsfeed.json
|
663
|
-
- spec/fixtures/saved_searches/get.json
|
664
|
-
- spec/fixtures/generic_failure.json
|
665
|
-
- spec/fixtures/listing_meta_translations/get.json
|
666
|
-
- spec/fixtures/oauth2_error.json
|
667
|
-
- spec/fixtures/sorts/get.json
|
668
|
-
- spec/fixtures/listing_carts/post.json
|
669
|
-
- spec/fixtures/listing_carts/new_portal_cart.json
|
670
|
-
- spec/fixtures/listing_carts/put_name.json
|
671
|
-
- spec/fixtures/listing_carts/new.json
|
672
|
-
- spec/fixtures/listing_carts/add_listing.json
|
673
|
-
- spec/fixtures/listing_carts/listing_portal_cart.json
|
674
|
-
- spec/fixtures/listing_carts/post_portal_cart.json
|
675
|
-
- spec/fixtures/listing_carts/add_listings_post.json
|
676
|
-
- spec/fixtures/listing_carts/put_ids.json
|
677
|
-
- spec/fixtures/listing_carts/put.json
|
678
|
-
- spec/fixtures/listing_carts/add_portal_cart_listings.json
|
679
|
-
- spec/fixtures/listing_carts/empty.json
|
680
|
-
- spec/fixtures/listing_carts/add_portal_cart_listings_post.json
|
681
|
-
- spec/fixtures/listing_carts/add_listing_post.json
|
682
|
-
- spec/fixtures/listing_carts/remove_listing.json
|
683
|
-
- spec/fixtures/listing_carts/listing_cart.json
|
684
|
-
- spec/fixtures/listing_carts/add_listings.json
|
685
|
-
- spec/fixtures/count.json
|
686
|
-
- spec/fixtures/comments/post.json
|
687
|
-
- spec/fixtures/comments/new.json
|
688
|
-
- spec/fixtures/comments/get.json
|
644
|
+
- spec/fixtures/notes/agent_shared_empty.json
|
645
|
+
- spec/fixtures/notes/new.json
|
689
646
|
- spec/fixtures/notifications/mark_read.json
|
690
|
-
- spec/fixtures/notifications/post.json
|
691
|
-
- spec/fixtures/notifications/new_empty.json
|
692
647
|
- spec/fixtures/notifications/new.json
|
648
|
+
- spec/fixtures/notifications/new_empty.json
|
693
649
|
- spec/fixtures/notifications/notifications.json
|
650
|
+
- spec/fixtures/notifications/post.json
|
694
651
|
- spec/fixtures/notifications/unread.json
|
695
|
-
- spec/fixtures/
|
696
|
-
- spec/fixtures/
|
697
|
-
- spec/fixtures/
|
698
|
-
- spec/fixtures/
|
699
|
-
- spec/fixtures/
|
700
|
-
- spec/fixtures/
|
652
|
+
- spec/fixtures/oauth2/access.json
|
653
|
+
- spec/fixtures/oauth2/access_with_old_refresh.json
|
654
|
+
- spec/fixtures/oauth2/access_with_refresh.json
|
655
|
+
- spec/fixtures/oauth2/authorization_code_body.json
|
656
|
+
- spec/fixtures/oauth2/error.json
|
657
|
+
- spec/fixtures/oauth2/password_body.json
|
658
|
+
- spec/fixtures/oauth2/refresh_body.json
|
659
|
+
- spec/fixtures/oauth2_error.json
|
660
|
+
- spec/fixtures/portal/disable.json
|
661
|
+
- spec/fixtures/portal/enable.json
|
662
|
+
- spec/fixtures/portal/my.json
|
663
|
+
- spec/fixtures/portal/my_non_existant.json
|
664
|
+
- spec/fixtures/portal/new.json
|
665
|
+
- spec/fixtures/portal/post.json
|
666
|
+
- spec/fixtures/property_types/property_types.json
|
667
|
+
- spec/fixtures/rules/get.json
|
668
|
+
- spec/fixtures/saved_searches/get.json
|
669
|
+
- spec/fixtures/saved_searches/get_provided.json
|
670
|
+
- spec/fixtures/saved_searches/new.json
|
671
|
+
- spec/fixtures/saved_searches/post.json
|
672
|
+
- spec/fixtures/saved_searches/update.json
|
673
|
+
- spec/fixtures/saved_searches/with_inactive_newsfeed.json
|
674
|
+
- spec/fixtures/saved_searches/with_newsfeed.json
|
675
|
+
- spec/fixtures/saved_searches/without_newsfeed.json
|
676
|
+
- spec/fixtures/search_templates/quick_searches/get.json
|
677
|
+
- spec/fixtures/session.json
|
678
|
+
- spec/fixtures/sharedlinks/success.json
|
679
|
+
- spec/fixtures/sorts/get.json
|
701
680
|
- spec/fixtures/standardfields/city.json
|
702
|
-
- spec/fixtures/standardfields/standardfields.json
|
703
681
|
- spec/fixtures/standardfields/nearby.json
|
704
|
-
- spec/fixtures/
|
705
|
-
- spec/
|
706
|
-
- spec/
|
707
|
-
- spec/unit/spark_api/request_spec.rb
|
682
|
+
- spec/fixtures/standardfields/standardfields.json
|
683
|
+
- spec/fixtures/standardfields/stateorprovince.json
|
684
|
+
- spec/fixtures/success.json
|
708
685
|
- spec/unit/spark_api/authentication/api_auth_spec.rb
|
709
|
-
- spec/unit/spark_api/authentication/
|
686
|
+
- spec/unit/spark_api/authentication/base_auth_spec.rb
|
710
687
|
- spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb
|
711
688
|
- spec/unit/spark_api/authentication/oauth2_impl/grant_type_base_spec.rb
|
712
689
|
- spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb
|
713
|
-
- spec/unit/spark_api/authentication/
|
690
|
+
- spec/unit/spark_api/authentication/oauth2_spec.rb
|
691
|
+
- spec/unit/spark_api/authentication_spec.rb
|
714
692
|
- spec/unit/spark_api/configuration/yaml_spec.rb
|
715
|
-
- spec/unit/spark_api/
|
693
|
+
- spec/unit/spark_api/configuration_spec.rb
|
694
|
+
- spec/unit/spark_api/faraday_middleware_spec.rb
|
695
|
+
- spec/unit/spark_api/models/account_report_spec.rb
|
716
696
|
- spec/unit/spark_api/models/account_spec.rb
|
717
|
-
- spec/unit/spark_api/models/
|
718
|
-
- spec/unit/spark_api/models/note_spec.rb
|
719
|
-
- spec/unit/spark_api/models/shared_listing_spec.rb
|
720
|
-
- spec/unit/spark_api/models/virtual_tour_spec.rb
|
697
|
+
- spec/unit/spark_api/models/activity_spec.rb
|
721
698
|
- spec/unit/spark_api/models/base_spec.rb
|
722
|
-
- spec/unit/spark_api/models/open_house_spec.rb
|
723
|
-
- spec/unit/spark_api/models/photo_spec.rb
|
724
|
-
- spec/unit/spark_api/models/contact_spec.rb
|
725
|
-
- spec/unit/spark_api/models/property_types_spec.rb
|
726
|
-
- spec/unit/spark_api/models/subresource_spec.rb
|
727
|
-
- spec/unit/spark_api/models/constraint_spec.rb
|
728
|
-
- spec/unit/spark_api/models/listing_cart_spec.rb
|
729
|
-
- spec/unit/spark_api/models/message_spec.rb
|
730
|
-
- spec/unit/spark_api/models/notification_spec.rb
|
731
|
-
- spec/unit/spark_api/models/news_feed_meta_spec.rb
|
732
|
-
- spec/unit/spark_api/models/fields_spec.rb
|
733
|
-
- spec/unit/spark_api/models/rule_spec.rb
|
734
|
-
- spec/unit/spark_api/models/tour_of_home_spec.rb
|
735
699
|
- spec/unit/spark_api/models/concerns/destroyable_spec.rb
|
736
700
|
- spec/unit/spark_api/models/concerns/savable_spec.rb
|
701
|
+
- spec/unit/spark_api/models/connect_prefs_spec.rb
|
702
|
+
- spec/unit/spark_api/models/constraint_spec.rb
|
703
|
+
- spec/unit/spark_api/models/contact_spec.rb
|
704
|
+
- spec/unit/spark_api/models/defaultable_spec.rb
|
705
|
+
- spec/unit/spark_api/models/dirty_spec.rb
|
737
706
|
- spec/unit/spark_api/models/document_spec.rb
|
738
|
-
- spec/unit/spark_api/models/
|
739
|
-
- spec/unit/spark_api/models/
|
707
|
+
- spec/unit/spark_api/models/email_link_spec.rb
|
708
|
+
- spec/unit/spark_api/models/fields_spec.rb
|
709
|
+
- spec/unit/spark_api/models/finders_spec.rb
|
740
710
|
- spec/unit/spark_api/models/floplan_spec.rb
|
711
|
+
- spec/unit/spark_api/models/listing_cart_spec.rb
|
712
|
+
- spec/unit/spark_api/models/listing_meta_translations_spec.rb
|
713
|
+
- spec/unit/spark_api/models/listing_spec.rb
|
714
|
+
- spec/unit/spark_api/models/message_spec.rb
|
715
|
+
- spec/unit/spark_api/models/news_feed_meta_spec.rb
|
741
716
|
- spec/unit/spark_api/models/newsfeed_spec.rb
|
742
|
-
- spec/unit/spark_api/models/
|
743
|
-
- spec/unit/spark_api/models/
|
744
|
-
- spec/unit/spark_api/models/
|
745
|
-
- spec/unit/spark_api/models/
|
746
|
-
- spec/unit/spark_api/models/vow_account_spec.rb
|
747
|
-
- spec/unit/spark_api/models/account_report_spec.rb
|
748
|
-
- spec/unit/spark_api/models/search_template/quick_search_spec.rb
|
749
|
-
- spec/unit/spark_api/models/dirty_spec.rb
|
750
|
-
- spec/unit/spark_api/models/system_info_spec.rb
|
717
|
+
- spec/unit/spark_api/models/note_spec.rb
|
718
|
+
- spec/unit/spark_api/models/notification_spec.rb
|
719
|
+
- spec/unit/spark_api/models/open_house_spec.rb
|
720
|
+
- spec/unit/spark_api/models/photo_spec.rb
|
751
721
|
- spec/unit/spark_api/models/portal_spec.rb
|
722
|
+
- spec/unit/spark_api/models/property_types_spec.rb
|
723
|
+
- spec/unit/spark_api/models/rental_calendar_spec.rb
|
724
|
+
- spec/unit/spark_api/models/rule_spec.rb
|
752
725
|
- spec/unit/spark_api/models/saved_search_spec.rb
|
753
|
-
- spec/unit/spark_api/models/
|
754
|
-
- spec/unit/spark_api/models/connect_prefs_spec.rb
|
755
|
-
- spec/unit/spark_api/models/listing_spec.rb
|
726
|
+
- spec/unit/spark_api/models/search_template/quick_search_spec.rb
|
756
727
|
- spec/unit/spark_api/models/shared_link_spec.rb
|
728
|
+
- spec/unit/spark_api/models/shared_listing_spec.rb
|
729
|
+
- spec/unit/spark_api/models/sort_spec.rb
|
730
|
+
- spec/unit/spark_api/models/standard_fields_spec.rb
|
731
|
+
- spec/unit/spark_api/models/subresource_spec.rb
|
732
|
+
- spec/unit/spark_api/models/system_info_spec.rb
|
733
|
+
- spec/unit/spark_api/models/tour_of_home_spec.rb
|
734
|
+
- spec/unit/spark_api/models/video_spec.rb
|
735
|
+
- spec/unit/spark_api/models/virtual_tour_spec.rb
|
736
|
+
- spec/unit/spark_api/models/vow_account_spec.rb
|
737
|
+
- spec/unit/spark_api/multi_client_spec.rb
|
757
738
|
- spec/unit/spark_api/options_hash_spec.rb
|
758
|
-
- spec/unit/spark_api/
|
739
|
+
- spec/unit/spark_api/paginate_spec.rb
|
759
740
|
- spec/unit/spark_api/primary_array_spec.rb
|
760
|
-
- spec/unit/spark_api/
|
761
|
-
- spec/unit/
|
762
|
-
- spec/unit/spark_api/multi_client_spec.rb
|
741
|
+
- spec/unit/spark_api/request_spec.rb
|
742
|
+
- spec/unit/spark_api_spec.rb
|
763
743
|
- spec/spec_helper.rb
|