rets 0.1.7 → 0.2.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.
- data/CHANGELOG.md +5 -1
- data/README.md +1 -0
- data/Rakefile +3 -3
- data/lib/rets.rb +1 -1
- data/lib/rets/client.rb +7 -7
- data/lib/rets/metadata/root.rb +5 -1
- data/lib/rets/metadata/table.rb +5 -5
- data/test/test_metadata.rb +1 -1
- metadata +27 -28
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | @@ -2,15 +2,15 @@ require 'rubygems' | |
| 2 2 | 
             
            require 'hoe'
         | 
| 3 3 |  | 
| 4 4 | 
             
            Hoe.plugin :git, :doofus
         | 
| 5 | 
            +
            Hoe.plugin :travis
         | 
| 5 6 |  | 
| 6 7 | 
             
            Hoe.spec 'rets' do
         | 
| 7 8 | 
             
              developer 'Estately, Inc. Open Source', 'opensource@estately.com'
         | 
| 8 | 
            -
              developer 'Ben Bleything',              'ben@bleything.net'
         | 
| 9 9 |  | 
| 10 10 | 
             
              extra_deps << [ "net-http-persistent", "~> 1.7" ]
         | 
| 11 | 
            -
              extra_deps << [ "nokogiri",            "~> 1. | 
| 11 | 
            +
              extra_deps << [ "nokogiri",            "~> 1.5.2" ]
         | 
| 12 12 |  | 
| 13 | 
            -
              extra_dev_deps << [ "mocha", "~> 0. | 
| 13 | 
            +
              extra_dev_deps << [ "mocha", "~> 0.11.0" ]
         | 
| 14 14 |  | 
| 15 15 | 
             
              ### Use markdown for changelog and readme
         | 
| 16 16 | 
             
              self.history_file = 'CHANGELOG.md'
         | 
    
        data/lib/rets.rb
    CHANGED
    
    
    
        data/lib/rets/client.rb
    CHANGED
    
    | @@ -160,7 +160,7 @@ module Rets | |
| 160 160 | 
             
                  content_type = response["content-type"]
         | 
| 161 161 |  | 
| 162 162 | 
             
                  if content_type.include?("multipart")
         | 
| 163 | 
            -
                    boundary = content_type.scan(/boundary="?([^;"]*)?/). | 
| 163 | 
            +
                    boundary = content_type.scan(/boundary="?([^;"]*)?/).join
         | 
| 164 164 |  | 
| 165 165 | 
             
                    parts = Parser::Multipart.parse(response.body, boundary)
         | 
| 166 166 |  | 
| @@ -336,7 +336,7 @@ module Rets | |
| 336 336 | 
             
                def cookies=(cookies)
         | 
| 337 337 | 
             
                  @cookies ||= {}
         | 
| 338 338 |  | 
| 339 | 
            -
                  cookies.each do |cookie|
         | 
| 339 | 
            +
                  Array(cookies).each do |cookie|
         | 
| 340 340 | 
             
                    cookie.match(/(\S+)=([^;]+);?/)
         | 
| 341 341 |  | 
| 342 342 | 
             
                    @cookies[$1] = $2
         | 
| @@ -385,7 +385,7 @@ module Rets | |
| 385 385 |  | 
| 386 386 | 
             
                  begin
         | 
| 387 387 | 
             
                    capability_uri = URI.parse(url)
         | 
| 388 | 
            -
                  rescue URI::InvalidURIError | 
| 388 | 
            +
                  rescue URI::InvalidURIError
         | 
| 389 389 | 
             
                    raise MalformedResponse, "Unable to parse capability URL: #{url.inspect}"
         | 
| 390 390 | 
             
                  end
         | 
| 391 391 |  | 
| @@ -395,15 +395,15 @@ module Rets | |
| 395 395 | 
             
                def extract_capabilities(document)
         | 
| 396 396 | 
             
                  raw_key_values = document.xpath("/RETS/RETS-RESPONSE").text.strip
         | 
| 397 397 |  | 
| 398 | 
            -
                   | 
| 398 | 
            +
                  hash = Hash.new{|h,k| h.key?(k.downcase) ? h[k.downcase] : nil }
         | 
| 399 399 |  | 
| 400 400 | 
             
                  # ... :(
         | 
| 401 401 | 
             
                  # Feel free to make this better. It has a test.
         | 
| 402 402 | 
             
                  raw_key_values.split(/\n/).
         | 
| 403 403 | 
             
                    map  { |r| r.split(/=/, 2) }.
         | 
| 404 | 
            -
                    each { |k,v|  | 
| 404 | 
            +
                    each { |k,v| hash[k.strip.downcase] = v.strip }
         | 
| 405 405 |  | 
| 406 | 
            -
                   | 
| 406 | 
            +
                  hash
         | 
| 407 407 | 
             
                end
         | 
| 408 408 |  | 
| 409 409 |  | 
| @@ -503,7 +503,7 @@ module Rets | |
| 503 503 | 
             
                        end
         | 
| 504 504 | 
             
                      end
         | 
| 505 505 |  | 
| 506 | 
            -
                    rescue Nokogiri::XML::SyntaxError | 
| 506 | 
            +
                    rescue Nokogiri::XML::SyntaxError
         | 
| 507 507 | 
             
                      #Not xml
         | 
| 508 508 | 
             
                    end
         | 
| 509 509 | 
             
                  end
         | 
    
        data/lib/rets/metadata/root.rb
    CHANGED
    
    | @@ -147,7 +147,11 @@ module Rets | |
| 147 147 | 
             
                    class_name = type.capitalize.gsub(/_(\w)/) { $1.upcase }
         | 
| 148 148 | 
             
                    container_name = "#{class_name}Container"
         | 
| 149 149 |  | 
| 150 | 
            -
                     | 
| 150 | 
            +
                    if ::RUBY_VERSION < '1.9'
         | 
| 151 | 
            +
                      container_class = Containers.const_defined?(container_name) ? Containers.const_get(container_name) : Containers::Container
         | 
| 152 | 
            +
                    else
         | 
| 153 | 
            +
                      container_class = Containers.const_defined?(container_name, true) ? Containers.const_get(container_name, true) : Containers::Container
         | 
| 154 | 
            +
                    end
         | 
| 151 155 | 
             
                    container_class.new(fragment)
         | 
| 152 156 | 
             
                  end
         | 
| 153 157 | 
             
                end
         | 
    
        data/lib/rets/metadata/table.rb
    CHANGED
    
    | @@ -81,21 +81,21 @@ module Rets | |
| 81 81 |  | 
| 82 82 | 
             
                    values = multi? ? value.split(","): [value]
         | 
| 83 83 |  | 
| 84 | 
            -
                    values = values.map do | | 
| 84 | 
            +
                    values = values.map do |v|
         | 
| 85 85 |  | 
| 86 86 | 
             
                      #Remove surrounding quotes
         | 
| 87 | 
            -
                       | 
| 87 | 
            +
                      clean_value  = v.scan(/^["']?(.*?)["']?$/).join
         | 
| 88 88 |  | 
| 89 | 
            -
                      lookup_type = lookup_type( | 
| 89 | 
            +
                      lookup_type = lookup_type(clean_value)
         | 
| 90 90 |  | 
| 91 91 | 
             
                      resolved_value = lookup_type ? lookup_type.long_value : nil
         | 
| 92 92 |  | 
| 93 | 
            -
                      warn("Discarding unmappable value of #{ | 
| 93 | 
            +
                      warn("Discarding unmappable value of #{clean_value.inspect}") if resolved_value.nil? && $VERBOSE
         | 
| 94 94 |  | 
| 95 95 | 
             
                      resolved_value
         | 
| 96 96 | 
             
                    end
         | 
| 97 97 |  | 
| 98 | 
            -
                    multi? ? values.map {| | 
| 98 | 
            +
                    multi? ? values.map {|v| v.to_s.strip } : values.first.to_s.strip
         | 
| 99 99 | 
             
                  end
         | 
| 100 100 | 
             
                end
         | 
| 101 101 | 
             
              end
         | 
    
        data/test/test_metadata.rb
    CHANGED
    
    | @@ -193,7 +193,7 @@ class TestMetadata < Test::Unit::TestCase | |
| 193 193 | 
             
                Rets::Metadata::Resource.expects(:find_rets_classes).with(metadata, resource).returns([rets_class_fragment])
         | 
| 194 194 |  | 
| 195 195 | 
             
                classes = Rets::Metadata::Resource.build_classes(resource, metadata)
         | 
| 196 | 
            -
                 | 
| 196 | 
            +
                assert_equal([rets_class], classes)
         | 
| 197 197 | 
             
              end
         | 
| 198 198 |  | 
| 199 199 | 
             
              def test_resource_build
         | 
    
        metadata
    CHANGED
    
    | @@ -1,22 +1,21 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: rets
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 23
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0. | 
| 8 | 
            +
              - 2
         | 
| 9 | 
            +
              - 0
         | 
| 10 | 
            +
              version: 0.2.0
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Estately, Inc. Open Source
         | 
| 14 | 
            -
            - Ben Bleything
         | 
| 15 14 | 
             
            autorequire: 
         | 
| 16 15 | 
             
            bindir: bin
         | 
| 17 16 | 
             
            cert_chain: []
         | 
| 18 17 |  | 
| 19 | 
            -
            date: 2012-04- | 
| 18 | 
            +
            date: 2012-04-23 00:00:00 Z
         | 
| 20 19 | 
             
            dependencies: 
         | 
| 21 20 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 22 21 | 
             
              name: net-http-persistent
         | 
| @@ -41,43 +40,43 @@ dependencies: | |
| 41 40 | 
             
                requirements: 
         | 
| 42 41 | 
             
                - - ~>
         | 
| 43 42 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 44 | 
            -
                    hash:  | 
| 43 | 
            +
                    hash: 7
         | 
| 45 44 | 
             
                    segments: 
         | 
| 46 45 | 
             
                    - 1
         | 
| 47 | 
            -
                    -  | 
| 48 | 
            -
                    -  | 
| 49 | 
            -
                    version: 1. | 
| 46 | 
            +
                    - 5
         | 
| 47 | 
            +
                    - 2
         | 
| 48 | 
            +
                    version: 1.5.2
         | 
| 50 49 | 
             
              type: :runtime
         | 
| 51 50 | 
             
              version_requirements: *id002
         | 
| 52 51 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 53 | 
            -
              name:  | 
| 52 | 
            +
              name: rdoc
         | 
| 54 53 | 
             
              prerelease: false
         | 
| 55 54 | 
             
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 56 55 | 
             
                none: false
         | 
| 57 56 | 
             
                requirements: 
         | 
| 58 57 | 
             
                - - ~>
         | 
| 59 58 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 60 | 
            -
                    hash:  | 
| 59 | 
            +
                    hash: 19
         | 
| 61 60 | 
             
                    segments: 
         | 
| 62 | 
            -
                    -  | 
| 63 | 
            -
                    -  | 
| 64 | 
            -
                     | 
| 65 | 
            -
                    version: 0.9.12
         | 
| 61 | 
            +
                    - 3
         | 
| 62 | 
            +
                    - 10
         | 
| 63 | 
            +
                    version: "3.10"
         | 
| 66 64 | 
             
              type: :development
         | 
| 67 65 | 
             
              version_requirements: *id003
         | 
| 68 66 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 69 | 
            -
              name:  | 
| 67 | 
            +
              name: mocha
         | 
| 70 68 | 
             
              prerelease: false
         | 
| 71 69 | 
             
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 72 70 | 
             
                none: false
         | 
| 73 71 | 
             
                requirements: 
         | 
| 74 72 | 
             
                - - ~>
         | 
| 75 73 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 76 | 
            -
                    hash:  | 
| 74 | 
            +
                    hash: 51
         | 
| 77 75 | 
             
                    segments: 
         | 
| 78 | 
            -
                    -  | 
| 79 | 
            -
                    -  | 
| 80 | 
            -
                     | 
| 76 | 
            +
                    - 0
         | 
| 77 | 
            +
                    - 11
         | 
| 78 | 
            +
                    - 0
         | 
| 79 | 
            +
                    version: 0.11.0
         | 
| 81 80 | 
             
              type: :development
         | 
| 82 81 | 
             
              version_requirements: *id004
         | 
| 83 82 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -88,20 +87,20 @@ dependencies: | |
| 88 87 | 
             
                requirements: 
         | 
| 89 88 | 
             
                - - ~>
         | 
| 90 89 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 91 | 
            -
                    hash:  | 
| 90 | 
            +
                    hash: 7
         | 
| 92 91 | 
             
                    segments: 
         | 
| 93 | 
            -
                    -  | 
| 94 | 
            -
                    -  | 
| 95 | 
            -
                    version: " | 
| 92 | 
            +
                    - 3
         | 
| 93 | 
            +
                    - 0
         | 
| 94 | 
            +
                    version: "3.0"
         | 
| 96 95 | 
             
              type: :development
         | 
| 97 96 | 
             
              version_requirements: *id005
         | 
| 98 97 | 
             
            description: |-
         | 
| 98 | 
            +
              [](http://travis-ci.org/estately/rets)
         | 
| 99 99 | 
             
              A pure-ruby library for fetching data from [RETS] servers.
         | 
| 100 100 |  | 
| 101 101 | 
             
              [RETS]: http://www.rets.org
         | 
| 102 102 | 
             
            email: 
         | 
| 103 103 | 
             
            - opensource@estately.com
         | 
| 104 | 
            -
            - ben@bleything.net
         | 
| 105 104 | 
             
            executables: 
         | 
| 106 105 | 
             
            - rets
         | 
| 107 106 | 
             
            extensions: []
         | 
| @@ -163,10 +162,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 163 162 | 
             
            requirements: []
         | 
| 164 163 |  | 
| 165 164 | 
             
            rubyforge_project: rets
         | 
| 166 | 
            -
            rubygems_version: 1.8. | 
| 165 | 
            +
            rubygems_version: 1.8.23
         | 
| 167 166 | 
             
            signing_key: 
         | 
| 168 167 | 
             
            specification_version: 3
         | 
| 169 | 
            -
            summary: A pure-ruby library for fetching data from [RETS] servers
         | 
| 168 | 
            +
            summary: "[](http://travis-ci.org/estately/rets) A pure-ruby library for fetching data from [RETS] servers"
         | 
| 170 169 | 
             
            test_files: 
         | 
| 171 170 | 
             
            - test/test_client.rb
         | 
| 172 171 | 
             
            - test/test_metadata.rb
         |