spark_api 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/VERSION +1 -1
- data/lib/spark_api/models.rb +1 -0
- data/lib/spark_api/models/defaultable.rb +37 -0
- data/lib/spark_api/models/idx_link.rb +1 -5
- data/lib/spark_api/models/search_template/quick_search.rb +1 -0
- data/spec/unit/spark_api/models/defaultable_spec.rb +46 -0
- metadata +5 -4
- data/spec/unit/spark_api/models/idx_link_spec.rb +0 -28
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Y2U5OGIwYmZhZWFlZWQ2Njc1NzA4YmMxNzhjN2NiYTZlNjEzZTA5Yg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzM2NGZjNmMxMWU1MWY4OTMwZDczN2VhZmVmM2EzMjUyM2ZmNTM2MA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODY1Mjk3OTZhYTc3YmQ4ZTgwMzc1NGM5YjMxNjg2NjM3ZDFhYmRiOGVkYWFm
|
10
|
+
MTVhYWUxZmViNzI1NTY4NTI5MjBhMTEyM2IzMDI4Y2Q1NTBkOTM3YzRiYmI2
|
11
|
+
ZjUyYWVmYTk0NzFhY2IyMGY1NmVjMGRlNGJjYTYxYWNkODZjY2I=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MTJmZTBiMDdhM2ZmY2U0Y2JmNGI0OTNlMWI2M2RmMGU2NmU5YTk0NGZmNjJl
|
14
|
+
ODMwY2EyODBjZTAwNWVhOWIzYmY4ODllNWMzMTNkOGQzNDkwNDJiNmRiNTVh
|
15
|
+
NTA5ZmYzYjg1ZWEyNWEyZjZiNzI0ZDkzYjE1NGVkMWY0Y2M1YTI=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.2
|
data/lib/spark_api/models.rb
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
module SparkApi
|
2
|
+
module Models
|
3
|
+
module Defaultable
|
4
|
+
|
5
|
+
DEFAULT_ID = "default"
|
6
|
+
|
7
|
+
extend Finders
|
8
|
+
|
9
|
+
def self.included(base)
|
10
|
+
|
11
|
+
class << base
|
12
|
+
alias original_find find
|
13
|
+
end
|
14
|
+
|
15
|
+
base.extend(ClassMethods)
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
module ClassMethods
|
20
|
+
|
21
|
+
def default(options = {})
|
22
|
+
find(DEFAULT_ID, options)
|
23
|
+
end
|
24
|
+
|
25
|
+
def find(*arguments)
|
26
|
+
result = original_find(*arguments)
|
27
|
+
if arguments.first == DEFAULT_ID
|
28
|
+
result.Id = DEFAULT_ID if result.Id.nil?
|
29
|
+
end
|
30
|
+
result
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -3,16 +3,12 @@ module SparkApi
|
|
3
3
|
class IdxLink < Base
|
4
4
|
|
5
5
|
extend Finders
|
6
|
+
include Defaultable
|
6
7
|
|
7
8
|
self.element_name = "idxlinks"
|
8
9
|
|
9
10
|
LINK_TYPES = ["QuickSearch", "SavedSearch", "MyListings", "Roster"]
|
10
11
|
|
11
|
-
def self.default(options = {})
|
12
|
-
response = connection.get("/#{self.element_name}/default", options).first
|
13
|
-
response.nil? ? nil : new(response)
|
14
|
-
end
|
15
|
-
|
16
12
|
end
|
17
13
|
end
|
18
14
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Defaultable do
|
4
|
+
|
5
|
+
module SparkApi
|
6
|
+
module Models
|
7
|
+
class TestClass < Base
|
8
|
+
extend Finders
|
9
|
+
include Defaultable
|
10
|
+
self.element_name = 'testclass'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe 'default' do
|
16
|
+
|
17
|
+
it 'calls find' do
|
18
|
+
expect(TestClass).to receive(:find).with('default', {})
|
19
|
+
TestClass.default
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'find' do
|
25
|
+
|
26
|
+
it "adds the id 'default'" do
|
27
|
+
allow(TestClass).to receive(:connection).and_return(double(get: [{Id: nil, Name: 'foo'}]))
|
28
|
+
default = TestClass.find(TestClass::DEFAULT_ID)
|
29
|
+
expect(default.Id).to eq 'default'
|
30
|
+
end
|
31
|
+
|
32
|
+
it "doesn't override the id if one is present" do
|
33
|
+
allow(TestClass).to receive(:connection).and_return(double(get: [{Id: '5', Name: 'foo'}]))
|
34
|
+
expect(TestClass.find(TestClass::DEFAULT_ID).Id).to eq '5'
|
35
|
+
end
|
36
|
+
|
37
|
+
it "calls Finders.find when given a normal id" do
|
38
|
+
connection = double
|
39
|
+
expect(connection).to receive(:get).with("/testclass/5", {foo: true}).and_return([{}])
|
40
|
+
allow(TestClass).to receive(:connection).and_return(connection)
|
41
|
+
TestClass.find('5', foo: true)
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
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: 1.4.
|
4
|
+
version: 1.4.2
|
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: 2016-
|
12
|
+
date: 2016-06-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -285,6 +285,7 @@ files:
|
|
285
285
|
- lib/spark_api/models/constraint.rb
|
286
286
|
- lib/spark_api/models/contact.rb
|
287
287
|
- lib/spark_api/models/custom_fields.rb
|
288
|
+
- lib/spark_api/models/defaultable.rb
|
288
289
|
- lib/spark_api/models/dirty.rb
|
289
290
|
- lib/spark_api/models/document.rb
|
290
291
|
- lib/spark_api/models/fields.rb
|
@@ -480,11 +481,11 @@ files:
|
|
480
481
|
- spec/unit/spark_api/models/connect_prefs_spec.rb
|
481
482
|
- spec/unit/spark_api/models/constraint_spec.rb
|
482
483
|
- spec/unit/spark_api/models/contact_spec.rb
|
484
|
+
- spec/unit/spark_api/models/defaultable_spec.rb
|
483
485
|
- spec/unit/spark_api/models/dirty_spec.rb
|
484
486
|
- spec/unit/spark_api/models/document_spec.rb
|
485
487
|
- spec/unit/spark_api/models/fields_spec.rb
|
486
488
|
- spec/unit/spark_api/models/finders_spec.rb
|
487
|
-
- spec/unit/spark_api/models/idx_link_spec.rb
|
488
489
|
- spec/unit/spark_api/models/listing_cart_spec.rb
|
489
490
|
- spec/unit/spark_api/models/listing_spec.rb
|
490
491
|
- spec/unit/spark_api/models/message_spec.rb
|
@@ -686,6 +687,7 @@ test_files:
|
|
686
687
|
- spec/unit/spark_api/authentication/base_auth_spec.rb
|
687
688
|
- spec/unit/spark_api/configuration_spec.rb
|
688
689
|
- spec/unit/spark_api/request_spec.rb
|
690
|
+
- spec/unit/spark_api/models/defaultable_spec.rb
|
689
691
|
- spec/unit/spark_api/models/news_feed_meta_spec.rb
|
690
692
|
- spec/unit/spark_api/models/open_house_spec.rb
|
691
693
|
- spec/unit/spark_api/models/document_spec.rb
|
@@ -719,7 +721,6 @@ test_files:
|
|
719
721
|
- spec/unit/spark_api/models/property_types_spec.rb
|
720
722
|
- spec/unit/spark_api/models/base_spec.rb
|
721
723
|
- spec/unit/spark_api/models/subresource_spec.rb
|
722
|
-
- spec/unit/spark_api/models/idx_link_spec.rb
|
723
724
|
- spec/unit/spark_api/models/vow_account_spec.rb
|
724
725
|
- spec/unit/spark_api/models/activity_spec.rb
|
725
726
|
- spec/unit/spark_api_spec.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe IdxLink do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
stub_auth_request
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "/idxlinks/default" do
|
10
|
-
|
11
|
-
on_get_it "returns an agent's default idx link" do
|
12
|
-
s = stub_api_get("/idxlinks/default", "idx_links/get.json")
|
13
|
-
@idx_link = subject.class.default
|
14
|
-
@idx_link.should be_an(IdxLink)
|
15
|
-
@idx_link.Uri.should eq("http://link.dev.fbsdata.com/zq1fkiw4d3f,1")
|
16
|
-
s.should have_been_requested
|
17
|
-
end
|
18
|
-
|
19
|
-
on_get_it "returns nil if the user doesn't have one" do
|
20
|
-
s = stub_api_get("/idxlinks/default", "no_results.json")
|
21
|
-
@idx_link = subject.class.default
|
22
|
-
@idx_link.should be_nil
|
23
|
-
s.should have_been_requested
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|