saxony 0.1.0 → 0.1.1

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.
Files changed (4) hide show
  1. data/CHANGES.txt +4 -0
  2. data/lib/saxony.rb +34 -15
  3. data/saxony.gemspec +1 -1
  4. metadata +2 -2
@@ -1,5 +1,9 @@
1
1
  SAXONY, CHANGES
2
2
 
3
+ #### 0.1.1 (2010-01-31) ####
4
+
5
+ * FIXED: Attributes parsing
6
+
3
7
  #### 0.1.0 (2010-01-31) ###########################
4
8
 
5
9
  * Initial release
@@ -1,20 +1,9 @@
1
1
  require 'nokogiri'
2
2
  require 'stringio'
3
3
 
4
- class Array
5
- def chunk(number_of_chunks)
6
- chunks = (1..number_of_chunks).collect { [] }
7
- while self.any?
8
- chunks.each do |a_chunk|
9
- a_chunk << self.shift if self.any?
10
- end
11
- end
12
- chunks
13
- end
14
- end
15
4
 
16
5
  class Saxony
17
- VERSION = "0.1.0".freeze unless defined?(Saxony::VERSION)
6
+ VERSION = "0.1.1".freeze unless defined?(Saxony::VERSION)
18
7
 
19
8
  class Document < Nokogiri::XML::SAX::Document
20
9
  attr_reader :total_count, :granularity
@@ -76,8 +65,10 @@ class Saxony
76
65
  def to_otag(name, attributes=[])
77
66
  t = name
78
67
  unless attributes.empty?
79
- chunks = attributes.chunk(attributes.size/2)
80
- t << chunks.collect { |a| %Q( #{a[0]}="#{a[1]}") }.join(' ')
68
+ attributes.each_with_index do |v,index|
69
+ next if index % 2 > 0
70
+ t << %Q( #{v}="#{attributes[index+1]}")
71
+ end
81
72
  end
82
73
  "<#{t}>"
83
74
  end
@@ -111,7 +102,6 @@ end
111
102
  if $0 == __FILE__
112
103
  sax = Saxony.new :Listing, 1000
113
104
  sax.parse ARGV do
114
- # puts xml
115
105
  #doc.xpath("//Listing").each do |obj|
116
106
  #end
117
107
  p [total_count, doc.xpath("//Listing").size, elapsed_time.to_f]
@@ -120,3 +110,32 @@ if $0 == __FILE__
120
110
  end
121
111
  end
122
112
 
113
+ __END__
114
+
115
+ <BusinessListings>
116
+ <Listing><ListingId>17</ListingId><DBID>16</DBID><BusName>&#39;A&#39; Company Military Surplus</BusName><BusNameFr>&#39;A&#39; Company Military Surplus</BusNameFr><Address>2240 Alberni Hwy</Address><City>Parksville</City><PstCode>V0R1M0</PstCode><Phone><Primary><Prefix>+1</Prefix><NPA>250</NPA><NXX>951</NXX><XNUM>0609</XNUM><DisplayNumber>250-951-0609</DisplayNumber></Primary><Other Type="Click2Call"><Prefix>+1</Prefix><NPA>250</NPA><NXX>951</NXX><XNUM>0609</XNUM><DisplayNumber>250-951-0609</DisplayNumber></Other></Phone>
117
+ <ListingKeys>D00007295080000465894</ListingKeys><ReportId>16</ReportId><Paid>Y</Paid><ListEntry><DirProv>BC</DirProv><DirCode>022000</DirCode><HdCode>00866400</HdCode><Channel>2</Channel><Rank>7</Rank><NormRank>0</NormRank><Placement Child="false">DPlus</Placement><Products><HS DirPlus="1HS" true="Lang" AdNo="EN" 13980461ab="Rank" PrdCode="7" WEBHS3="Colour" Udac=""><Keywords><Classification><Heading HdCode="HdName" 00866400=""></Heading></Classification><Raw>OPEN 7 DAYS A WEEK CALL US FOR SPECIALS</Raw><HrsOpr>7days</HrsOpr></Keywords><Text><Line Num="Val" 1="OPEN 7 DAYS A WEEK"></Line>
118
+ <Line Num="Val" 2="CALL US FOR SPECIALS"></Line>
119
+ </Text></HS></Products>
120
+ </ListEntry><ListEntry><DirProv>BC</DirProv><DirCode>086494</DirCode><HdCode>00866400</HdCode><Channel>1</Channel><Rank>7</Rank><NormRank>0</NormRank><Placement Child="false">DPlus</Placement><Products><HS DirPlus="1HS" true="Lang" AdNo="EN" 13912789ab="Rank" PrdCode="7" WEBHS3="Colour" Udac=""><Keywords><Classification><Heading HdCode="HdName" 00866400=""></Heading></Classification><Raw>OPEN 7 DAYS A WEEK CALL US FOR SPECIALS</Raw><HrsOpr>7days</HrsOpr></Keywords><Text><Line Num="Val" 1="OPEN 7 DAYS A WEEK"></Line>
121
+ <Line Num="Val" 2="CALL US FOR SPECIALS"></Line>
122
+ </Text></HS></Products>
123
+ </ListEntry><ListEntry><DirProv>BC</DirProv><DirCode>086604</DirCode><HdCode>00866400</HdCode><Channel>1</Channel><Rank>7</Rank><NormRank>0</NormRank><Placement Child="false">DPlus</Placement><Products><HS DirPlus="1HS" true="Lang" AdNo="EN" 13908447ab="Rank" PrdCode="7" WEBHS3="Colour" Udac=""><Keywords><Classification><Heading HdCode="HdName" 00866400=""></Heading></Classification><Raw>OPEN 7 DAYS A WEEK CALL US FOR SPECIALS</Raw><HrsOpr>7days</HrsOpr></Keywords><Text><Line Num="Val" 1="OPEN 7 DAYS A WEEK"></Line>
124
+ <Line Num="Val" 2="CALL US FOR SPECIALS"></Line>
125
+ </Text></HS></Products>
126
+ </ListEntry><ListEntry><DirProv>BC</DirProv><DirCode>086652</DirCode><HdCode>00866400</HdCode><Channel>1</Channel><Rank>7</Rank><NormRank>0</NormRank><Placement Child="false">DPlus</Placement><Products><HS DirPlus="1HS" true="Lang" AdNo="EN" 13890219ab="Rank" PrdCode="7" WEBHS3="Colour" Udac=""><Keywords><Classification><Heading HdCode="HdName" 00866400=""></Heading></Classification><Raw>OPEN 7 DAYS A WEEK CALL US FOR SPECIALS</Raw><HrsOpr>7days</HrsOpr></Keywords><Text><Line Num="Val" 1="OPEN 7 DAYS A WEEK"></Line>
127
+ <Line Num="Val" 2="CALL US FOR SPECIALS"></Line>
128
+ </Text></HS></Products>
129
+ </ListEntry><ListEntry><DirProv>BC</DirProv><DirCode>086926</DirCode><HdCode>00866400</HdCode><Channel>1</Channel><Rank>7</Rank><NormRank>0</NormRank><Placement Child="false">DPlus</Placement><Products><HS DirPlus="1HS" true="Lang" AdNo="EN" 13980461ab="Rank" PrdCode="7" WEBHS3="Colour" Udac=""><Keywords><Classification><Heading HdCode="HdName" 00866400=""></Heading></Classification><Raw>OPEN 7 DAYS A WEEK CALL US FOR SPECIALS</Raw><HrsOpr>7days</HrsOpr></Keywords><Text><Line Num="Val" 1="OPEN 7 DAYS A WEEK"></Line>
130
+ <Line Num="Val" 2="CALL US FOR SPECIALS"></Line>
131
+ </Text></HS></Products>
132
+ </ListEntry></Listing>
133
+ <Listing><ListingId>19</ListingId><DBID>18</DBID><BusName>&#39;Colleen All Dogs&#39; Doggie Daycare</BusName><BusNameFr>&#39;Colleen All Dogs&#39; Doggie Daycare</BusNameFr><Address>6058 144 Street</Address><City>Surrey</City><Prov>BC</Prov><PstCode>V3X1A3</PstCode><Lat>49.113197</Lat><Long>-122.823369</Long><Phone><Primary><Prefix>+1</Prefix><NPA>604</NPA><NXX>319</NXX><XNUM>3895</XNUM><DisplayNumber>604-319-3895</DisplayNumber></Primary><Other Type="Click2Call"><Prefix>+1</Prefix><NPA>604</NPA><NXX>319</NXX><XNUM>3895</XNUM><DisplayNumber>604-319-3895</DisplayNumber></Other></Phone>
134
+ <ListingKeys>D00007440120000535278</ListingKeys><ReportId>18</ReportId><Paid>Y</Paid><ListEntry><DirProv>BC</DirProv><DirCode>086446</DirCode><HdCode>00980600</HdCode><Channel>1</Channel><Rank>100</Rank><NormRank>6</NormRank><Placement Child="false">Other</Placement><Products><URL Type="Lang" URL="EN" PrdCode="LinkText" P_LINK="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" SUPEB="100"></URL><URL Type="Lang" URL="FR" PrdCode="LinkText" P_LINK="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" SUPEB="100"></URL></Products>
135
+ </ListEntry><ListEntry><DirProv>BC</DirProv><DirCode>086446</DirCode><HdCode>00980355</HdCode><Channel>1</Channel><Rank>194</Rank><NormRank>12</NormRank><Placement Child="false">DPlus</Placement><Products><D_PP PrdCode="EN" D_PP="ProfileId" Type="18042" PPLUS="DirPath" Udac="18042" PPE="Rank" Lang="50"><Keywords><OpenHrs>Monday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Tuesday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Wednesday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Thursday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Friday 7:00 am - 6:30 pm</OpenHrs><LangSpk>English</LangSpk><GetThr>King George Highway</GetThr><ProdServ>Administer Medications</ProdServ><ProdServ>Animal Care Experience</ProdServ><ProdServ>Dog Daycare</ProdServ><ProdServ>Dog Mind &amp; Body Stimulation</ProdServ><ProdServ>Dog Playhouse</ProdServ><ProdServ>Pet Portraits</ProdServ><ProdServ>Pet Shop</ProdServ></Keywords></D_PP>
136
+ <D_PP PrdCode="FR" D_PP="ProfileId" Type="18042" PPLUS="DirPath" Udac="18042" ="Rank" Lang="0"><Keywords><OpenHrs>Monday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Tuesday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Wednesday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Thursday 7:00 am - 6:30 pm</OpenHrs><OpenHrs>Friday 7:00 am - 6:30 pm</OpenHrs><LangSpk>English</LangSpk><GetThr>King George Highway</GetThr><ProdServ>Administer Medications</ProdServ><ProdServ>Animal Care Experience</ProdServ><ProdServ>Dog Daycare</ProdServ><ProdServ>Dog Mind &amp; Body Stimulation</ProdServ><ProdServ>Dog Playhouse</ProdServ><ProdServ>Pet Portraits</ProdServ><ProdServ>Pet Shop</ProdServ></Keywords></D_PP>
137
+ <URL Type="Lang" URL="EN" PrdCode="LinkText" URL="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" URL0="0"></URL><URL Type="Lang" URL="FR" PrdCode="LinkText" URL="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" URL0="0"></URL><URL Type="Lang" URL="EN" PrdCode="LinkText" P_LINK="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" SUPEB="100"></URL><URL Type="Lang" URL="FR" PrdCode="LinkText" P_LINK="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" SUPEB="100"></URL><Thumb Lang="THUMB" EN="Udac" Val="QCW" 14571890aa="Rank" Type="44" THUMB="DirPlus" PrdCode="true"></Thumb><Thumb Lang="THUMB" FR="Udac" Val="QCW" 14571890aa="Rank" Type="44" THUMB="DirPlus" PrdCode="true"></Thumb><DspAd Rank="DISPADT" 44="Lang" DirPlus="EN" true="Udac" AdNo="QCW" 14571890aa="Type" PrdCode="DspAd"><Keywords><Classification><Heading HdCode="HdName" 00980355=""></Heading></Classification><Raw>COLLEEN ALL DOGS Doggie Daycare 1/2 Acr 1/2 Acre of Secured Ine of Secured Indoodoor/Outr/Outdoodoor Spacr Spacee Puppy Social Puppy Socialization, 100%ization, 100% Su Superpervisvisionion An Any Agey Age/Size,/Size, By By Appoint Appointmenment Onlyt Only Pet Firs Pet First Aid, 17 t Aid, 17 YrsYrs Ani Animal Knowledgemal Knowledge 604-604-319-38319-389595 6058 144th St Surrey, BC www.colleewww.colleewww.colleenallnallnalldogs.dogs.dogs.comcomcom</Raw></Keywords></DspAd></Products>
138
+ </ListEntry><ListEntry><DirProv>BC</DirProv><DirCode>086446</DirCode><HdCode>00740000</HdCode><Channel>1</Channel><Rank>100</Rank><NormRank>6</NormRank><Placement Child="false">Other</Placement><Products><URL Type="Lang" URL="EN" PrdCode="LinkText" P_LINK="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" SUPEB="100"></URL><URL Type="Lang" URL="FR" PrdCode="LinkText" P_LINK="" Val="UrlImg" http://www.colleenalldogs.com="u2/b/ad8/bad8592a30566ecbe27da92022963564.jpg" Udac="Rank" SUPEB="100"></URL></Products>
139
+ </ListEntry></Listing>
140
+ </BusinessListings>
141
+
@@ -1,7 +1,7 @@
1
1
  @spec = Gem::Specification.new do |s|
2
2
  s.name = "saxony"
3
3
  s.rubyforge_project = 'bone'
4
- s.version = "0.1.0"
4
+ s.version = "0.1.1"
5
5
  s.summary = "Parse gigantic XML files with pleasure and ease."
6
6
  s.description = s.summary
7
7
  s.author = "Delano Mandelbaum"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saxony
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delano Mandelbaum
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-31 00:00:00 -05:00
12
+ date: 2010-02-01 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency