Skip to content

Commit b634056

Browse files
committed
Merge pull request #100 from ryanhertz/updates-to-idx_link-and-saved_search
added finders to idx_link and fixed saved_search listings filter
2 parents 6b66ac1 + dd1bae2 commit b634056

File tree

3 files changed

+7
-12
lines changed

3 files changed

+7
-12
lines changed

lib/spark_api/models/idx_link.rb

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
module SparkApi
22
module Models
33
class IdxLink < Base
4+
5+
extend Finders
6+
47
self.element_name="idxlinks"
58

69
LINK_TYPES = ["QuickSearch", "SavedSearch", "MyListings", "Roster"]
@@ -34,14 +37,6 @@ def self.default(options = {})
3437

3538
private
3639

37-
def self.find_every(options)
38-
raise NotImplementedError # TODO
39-
end
40-
41-
def self.find_one(options)
42-
raise NotImplementedError # TODO
43-
end
44-
4540
def self.find_single(scope, options)
4641
resp = SparkApi.client.get("/idxlinks/#{scope}", options)
4742
new(resp.first)

lib/spark_api/models/saved_search.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def contacts
6363
end
6464

6565
def listings(args = {})
66-
arguments = {:_filter => self.Filter}
66+
arguments = {:_filter => "SavedSearch Eq '#{self.Id}'"}
6767
arguments.merge!(:RequestMode => 'permissive') if provided_search?
6868
@listings ||= Listing.collect(connection.get("/listings", arguments.merge(args)))
6969
end

spec/unit/spark_api/models/saved_search_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@
104104
it "should return the searches listings" do
105105
stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json')
106106
stub_api_get("/listings", 'listings/multiple.json',
107-
{:_filter => "City Eq 'Moorhead' And MlsStatus Eq 'Active' And PropertyType Eq 'A'"})
107+
{:_filter => "SavedSearch Eq '#{id}'"})
108108
listings = subject.class.find(id).listings
109109
listings.should be_an(Array)
110110
listings[0].should be_a(Listing)
@@ -114,15 +114,15 @@
114114
stub_api_get("/provided/savedsearches/#{id}", 'saved_searches/get.json')
115115
resource = subject.class.provided.find(id)
116116
expect(SparkApi.client).to receive(:get).with("/listings",
117-
{:_filter => resource.Filter, :RequestMode => 'permissive'})
117+
{:_filter => "SavedSearch Eq '#{id}'", :RequestMode => 'permissive'})
118118
resource.listings
119119
end
120120

121121
it "should not include the permissive parameter for saved searches" do
122122
stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json')
123123
resource = subject.class.find(id)
124124
resource.stub(:provided_search?) { false }
125-
expect(SparkApi.client).to receive(:get).with("/listings", {:_filter => resource.Filter})
125+
expect(SparkApi.client).to receive(:get).with("/listings", {:_filter => "SavedSearch Eq '#{id}'"})
126126
resource.listings
127127
end
128128

0 commit comments

Comments
 (0)