josephholsten-rets4r 1.1.14 → 1.1.15

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :build:
3
3
  :minor: 1
4
- :patch: 14
4
+ :patch: 15
5
5
  :major: 1
@@ -21,8 +21,10 @@ module RETS4R
21
21
  @delimiter = attrs.last.to_i.chr
22
22
  when 'COLUMNS'
23
23
  @columns_element = true
24
+ @string = ''
24
25
  when 'DATA'
25
26
  @data_element = true
27
+ @string = ''
26
28
  end
27
29
  end
28
30
 
@@ -30,20 +32,21 @@ module RETS4R
30
32
  case name
31
33
  when 'COLUMNS'
32
34
  @columns_element = false
35
+ @columns = @string.split(@delimiter)
33
36
  when 'DATA'
34
37
  @data_element = false
38
+ @results << @columns.zip(@string.split(@delimiter)).inject({}) do | h,(k,v) |
39
+ h[k] = v unless k.empty?
40
+ next h
41
+ end
35
42
  end
36
43
  end
37
44
 
38
45
  def characters string
39
46
  if @columns_element
40
- @columns = string.split(@delimiter)
47
+ @string << string
41
48
  elsif @data_element
42
- data = @columns.zip(string.split(@delimiter)).inject({}) do | h,(k,v) |
43
- h[k] = v unless k.empty?
44
- next h
45
- end
46
- @results << data
49
+ @string << string
47
50
  end
48
51
  end
49
52
  end
@@ -10,4 +10,10 @@ class CompactNokogiriTest < Test::Unit::TestCase
10
10
  assert_equal({"Third"=>"Datum3", "Second"=>"Datum2", "First"=>"Datum1"}, listings[0])
11
11
  assert_equal({"Third"=>"Datum6", "Second"=>"Datum5", "First"=>"Datum4"}, listings[1])
12
12
  end
13
+ def test_should_handle_big_data
14
+ file = File.expand_path(File.join('test', 'data', '1.5', 'bad_compact.xml'))
15
+ listings = RETS4R::Client::CompactNokogiriParser.new.parse_results(file)
16
+ assert_equal 1, listings.length
17
+ assert_equal 79, listings.first.keys.length
18
+ end
13
19
  end
@@ -0,0 +1,7 @@
1
+ <RETS ReplyCode="0" ReplyText="Operation Successful">
2
+ <COUNT Records="38610" />
3
+ <DELIMITER value="09" />
4
+ <COLUMNS> MLSNUM AGENTLIST AGENTLIST_FULLNAME OFFICELIST OFFICELIST_OFFICENAM1 INTERNETLIST_ALL LISTSTATUSFLAG PHOTOCOUNT LISTSTATUS BEDS CARPORTCAP NUMDININGAREAS FIREPLACES BATHSFULL BATHSFULLLEVEL1 BATHSFULLLEVEL2 BATHSFULLLEVEL3 BATHSFULLBASEMENT GARAGECAP BATHSHALF BATHSHALFLEVEL1 BATHSHALFLEVEL2 BATHSHALFLEVEL3 BATHSHALFBASEMENT NUMLIVINGAREAS NUMBARNS NUMLAKES NUMPONDS NUMRESIDENCE NUMSTOCKTANKS STORIES NUMWELLS SCHOOLDISTRICT AGENTSELL_FULLNAME OFFICESELL_OFFICENAM2 STATE STREETNAME STREETTYPE STREETNUM STREETNUMDISPLAY STREETDIRSUFFIX STREETDIR STYLE SUBDIVISION ACRES INTERNETDISPLAYYN ROOMBEDBATHDESC STORIESBLDG CITY COMMONFEATURES COUNTY ACRESCULTIVATED INTERIOR LISTPRICE SQFTPRICE LOTNUM LOTDESC LOTDIM LOTSIZE LISTPRICELOW ACRESPRICE MAPBOOK MAPCOORD MAPPAGE LISTPRICEORIG GARAGEDESC PROPTYPE REMARKS PROPSUBTYPE PROPSUBTYPEDISPLAY SQFTTOTAL SQFTSOURCE UTILITIES UID UIDPRP TAXUNEXEMPT UNITNUM YEARBUILT ZIPCODE </COLUMNS>
5
+ <DATA> 11322886 000533246 CD Boyd, II FMAB McClure, REALTORS OMWS,immo,RCOM,SYND 8 act 4 0 2 1 3 2 0 2 2 Wylie ISD, Taylor Co. TX Thompson PKWY 8317 8317 STYRANCH Belle Vista Estates 0.361 Y BBFJET-TUB,BBFLIN-CLO,BBFSEP-SHO,BBFW+I-CLO Abilene Taylor INFBAY-WIN,INFCABLE-A,INFDECLTNG,INFHIGHSPD,INFLOFT,INFSOUND-W,INFVAUL-CL,INFWIND-CO 239000 84.6 LTDSUBDIV 87X182 LTS.5-.99A 0 662049 OT none 9999 239000 PARATTACHE,PAROPENER,PARREAR,PARSIDE RES Custom home built in 05&apos;. Growing neighborhood convienient to Wylie schools. Abundant living areas and and open space floor plan.Could be 5th BDRM, or upstair BDRM &amp; Bath could be another living area. Perfect office next to Master. Gourmet sized kitchen, granite countertops, barell ceilings, wonderful storage space!!!! S RES-S 2825 TAX STUASPHALT,UTLCITY-SE,UTLCITY-WA,STUCONCRET 3211078 3211078 5876 2005 79606-6652 </DATA>
6
+ <MAXROWS />
7
+ </RETS>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: josephholsten-rets4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.14
4
+ version: 1.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Patterson
@@ -66,6 +66,7 @@ files:
66
66
  - lib/tasks/annotations.rake
67
67
  - lib/tasks/coverage.rake
68
68
  - test/compact_nokogiri_test.rb
69
+ - test/data/1.5/bad_compact.xml
69
70
  - test/data/1.5/error.xml
70
71
  - test/data/1.5/invalid_compact.xml
71
72
  - test/data/1.5/login.xml