spark_api 1.3.28 → 1.4.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 +8 -8
- data/VERSION +1 -1
- data/lib/spark_api/models/news_feed_meta.rb +11 -12
- data/lib/spark_api/models/saved_search.rb +6 -26
- data/spec/unit/spark_api/models/saved_search_spec.rb +0 -26
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            !binary "U0hBMQ==":
         | 
| 3 3 | 
             
              metadata.gz: !binary |-
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                MDdhMWQ2ZjA4NTI5NzZhNmIwNTZmZGM2MzgxZjM2MDI2NjIzN2RiZQ==
         | 
| 5 5 | 
             
              data.tar.gz: !binary |-
         | 
| 6 | 
            -
                 | 
| 6 | 
            +
                ZGU5OTFlNzRlY2Q5YzBkYjczOTBhOGFkZTJjYzhlNDQyOTM0ZDMwYg==
         | 
| 7 7 | 
             
            SHA512:
         | 
| 8 8 | 
             
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                 | 
| 10 | 
            -
                 | 
| 11 | 
            -
                 | 
| 9 | 
            +
                MDg3YzY1OWFjNDI3OGQzOTQyMmQ1YmJjNjI0OWU5Y2Q0MzdhM2UzOTNjMzk0
         | 
| 10 | 
            +
                MTA3OWJkYTIwOGYxMzk0YzQ3MGUzNWVjYzBiZjVlOTBhMGJjZDNiMTg0NTE3
         | 
| 11 | 
            +
                NGFhMDNjZjc0MjVhMjVmYmI3NzQ2M2YxNzAyNzFhYTU0MmFlMzg=
         | 
| 12 12 | 
             
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                 | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 13 | 
            +
                N2Y3NGNkZGVjZjhlNzA2Y2FmYmVmNGUyNDhlZjlmZmVkY2Y0OWJmMzQ2MWJm
         | 
| 14 | 
            +
                NDVjYzFlNWJlMGQwZjUxYTIwNjJhYjYzMzgzOGJiMzMwZWQzOTUwNzA4ODhl
         | 
| 15 | 
            +
                NjllNjc4YzI4MGE3MDBlYjVlOThkNTEwOTM0YjA1Zjc5ZWZjYjE=
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.4.0
         | 
| @@ -2,23 +2,16 @@ module SparkApi | |
| 2 2 | 
             
              module Models
         | 
| 3 3 | 
             
                class NewsFeedMeta < Base
         | 
| 4 4 |  | 
| 5 | 
            -
                  attr_accessor :data
         | 
| 6 | 
            -
             | 
| 7 5 | 
             
                  self.element_name = "newsfeeds/meta"
         | 
| 8 6 |  | 
| 9 | 
            -
                  def initialize
         | 
| 10 | 
            -
                    super
         | 
| 11 | 
            -
                    @data = connection.get(self.path).first
         | 
| 12 | 
            -
                  end
         | 
| 13 | 
            -
             | 
| 14 7 | 
             
                  def minimum_core_fields
         | 
| 15 | 
            -
                     | 
| 8 | 
            +
                    data['Subscriptions']['SavedSearches']['MinimumCoreFields']
         | 
| 16 9 | 
             
                  end
         | 
| 17 10 |  | 
| 18 11 | 
             
                  def core_field_names
         | 
| 19 | 
            -
                    fields =  | 
| 12 | 
            +
                    fields = data['Subscriptions']['SavedSearches']['CoreSearchFields']
         | 
| 20 13 |  | 
| 21 | 
            -
                     | 
| 14 | 
            +
                    data['Subscriptions']['SavedSearches']['CoreStandardFields'].each do |field|
         | 
| 22 15 | 
             
                      fields << field[1]['Label']
         | 
| 23 16 | 
             
                    end
         | 
| 24 17 |  | 
| @@ -26,15 +19,21 @@ module SparkApi | |
| 26 19 | 
             
                  end
         | 
| 27 20 |  | 
| 28 21 | 
             
                  def core_fields
         | 
| 29 | 
            -
                    fields =  | 
| 22 | 
            +
                    fields = data['Subscriptions']['SavedSearches']['CoreSearchFields']
         | 
| 30 23 |  | 
| 31 | 
            -
                     | 
| 24 | 
            +
                    data['Subscriptions']['SavedSearches']['CoreStandardFields'].each do |field|
         | 
| 32 25 | 
             
                      fields << field.first
         | 
| 33 26 | 
             
                    end
         | 
| 34 27 |  | 
| 35 28 | 
             
                    fields
         | 
| 36 29 | 
             
                  end
         | 
| 37 30 |  | 
| 31 | 
            +
                  private
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                  def data
         | 
| 34 | 
            +
                    @data ||= connection.get(self.path).first
         | 
| 35 | 
            +
                  end
         | 
| 36 | 
            +
             | 
| 38 37 | 
             
                end
         | 
| 39 38 | 
             
              end
         | 
| 40 39 | 
             
            end
         | 
| @@ -6,15 +6,9 @@ module SparkApi | |
| 6 6 | 
             
                  include Concerns::Savable,
         | 
| 7 7 | 
             
                          Concerns::Destroyable
         | 
| 8 8 |  | 
| 9 | 
            -
                  attr_accessor :newsfeeds
         | 
| 10 9 |  | 
| 11 10 | 
             
                  self.element_name="savedsearches"
         | 
| 12 11 |  | 
| 13 | 
            -
                  def initialize(attributes={})
         | 
| 14 | 
            -
                    @newsfeeds = nil
         | 
| 15 | 
            -
                    super(attributes)
         | 
| 16 | 
            -
                  end
         | 
| 17 | 
            -
             | 
| 18 12 | 
             
                  def self.provided()
         | 
| 19 13 | 
             
                    Class.new(self).tap do |provided|
         | 
| 20 14 | 
             
                      provided.element_name = '/savedsearches'
         | 
| @@ -67,22 +61,12 @@ module SparkApi | |
| 67 61 | 
             
                  end
         | 
| 68 62 |  | 
| 69 63 | 
             
                  def newsfeeds
         | 
| 70 | 
            -
                     | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
                    return true  if has_active_newsfeed? || has_inactive_newsfeed?
         | 
| 77 | 
            -
             | 
| 78 | 
            -
                    number_of_filters = 0
         | 
| 79 | 
            -
             | 
| 80 | 
            -
                    news_feed_meta.core_fields.each do |field|
         | 
| 81 | 
            -
                      number_of_filters += 1 if self.Filter.include? field
         | 
| 82 | 
            -
                    end
         | 
| 83 | 
            -
                    
         | 
| 84 | 
            -
                    number_of_filters >= news_feed_meta.minimum_core_fields
         | 
| 85 | 
            -
             | 
| 64 | 
            +
                    @newsfeeds ||=  if attributes.key?("NewsFeeds")
         | 
| 65 | 
            +
                                      Newsfeed.collect(attributes["NewsFeeds"])
         | 
| 66 | 
            +
                                    else
         | 
| 67 | 
            +
                                      Newsfeed.collect(connection.get("#{self.class.path}/#{@attributes["Id"]}", 
         | 
| 68 | 
            +
                                        :_expand => "NewsFeeds").first["NewsFeeds"])
         | 
| 69 | 
            +
                                    end
         | 
| 86 70 | 
             
                  end
         | 
| 87 71 |  | 
| 88 72 | 
             
                  def has_active_newsfeed?
         | 
| @@ -119,10 +103,6 @@ module SparkApi | |
| 119 103 | 
             
                    end
         | 
| 120 104 | 
             
                  end
         | 
| 121 105 |  | 
| 122 | 
            -
                  def news_feed_meta
         | 
| 123 | 
            -
                    @news_feed_meta ||= NewsFeedMeta.new
         | 
| 124 | 
            -
                  end
         | 
| 125 | 
            -
             | 
| 126 106 | 
             
                end
         | 
| 127 107 |  | 
| 128 108 | 
             
              end
         | 
| @@ -176,32 +176,6 @@ describe SavedSearch do | |
| 176 176 | 
             
                end
         | 
| 177 177 | 
             
              end
         | 
| 178 178 |  | 
| 179 | 
            -
              describe "can_have_newsfeed?" do
         | 
| 180 | 
            -
             | 
| 181 | 
            -
                before do
         | 
| 182 | 
            -
                  stub_api_get("/newsfeeds/meta", "newsfeeds/meta.json")
         | 
| 183 | 
            -
                end
         | 
| 184 | 
            -
             | 
| 185 | 
            -
                it "should return false without at least three filter parameters" do
         | 
| 186 | 
            -
                  stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json')
         | 
| 187 | 
            -
                  resource = subject.class.find(id)
         | 
| 188 | 
            -
                  resource.stub(:has_active_newsfeed?) { false }
         | 
| 189 | 
            -
                  resource.stub(:has_inactive_newsfeed?) { false }
         | 
| 190 | 
            -
                  resource.Filter = "MlsStatus Eq 'Active' And PropertyType Eq 'A'"
         | 
| 191 | 
            -
                  resource.can_have_newsfeed?.should == false
         | 
| 192 | 
            -
                end
         | 
| 193 | 
            -
             | 
| 194 | 
            -
                it "should return true with three filter parameters" do
         | 
| 195 | 
            -
                  stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json')
         | 
| 196 | 
            -
                  resource = subject.class.find(id)
         | 
| 197 | 
            -
                  resource.stub(:has_active_newsfeed?) { false }
         | 
| 198 | 
            -
                  resource.stub(:has_inactive_newsfeed?) { false }
         | 
| 199 | 
            -
                  resource.Filter = "MlsStatus Eq 'Active' And PropertyType Eq 'A' And ListPrice Eq 1000000"
         | 
| 200 | 
            -
                  resource.can_have_newsfeed?.should == true
         | 
| 201 | 
            -
                end
         | 
| 202 | 
            -
             | 
| 203 | 
            -
              end
         | 
| 204 | 
            -
             | 
| 205 179 | 
             
              describe "has_active_newsfeed?" do
         | 
| 206 180 | 
             
                it "should return true if the search already has a newsfeed" do
         | 
| 207 181 | 
             
                  stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json')
         | 
    
        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 | 
            +
              version: 1.4.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: 2016-04- | 
| 12 | 
            +
            date: 2016-04-06 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: faraday
         |