doc_wrapper 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,16 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doc_wrapper (0.0.1)
4
+ doc_wrapper (0.9.1)
5
5
  activesupport (>= 3.0.0)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
10
  ZenTest (4.4.2)
11
- activesupport (3.0.0)
11
+ activesupport (3.0.5)
12
12
  diff-lcs (1.1.2)
13
13
  nokogiri (1.4.4)
14
+ nokogiri (1.4.4-java)
15
+ weakling (>= 0.0.3)
14
16
  rspec (2.5.0)
15
17
  rspec-core (~> 2.5.0)
16
18
  rspec-expectations (~> 2.5.0)
@@ -19,13 +21,14 @@ GEM
19
21
  rspec-expectations (2.5.0)
20
22
  diff-lcs (~> 1.1.2)
21
23
  rspec-mocks (2.5.0)
24
+ weakling (0.0.4-java)
22
25
 
23
26
  PLATFORMS
27
+ java
24
28
  ruby
25
29
 
26
30
  DEPENDENCIES
27
31
  ZenTest
28
- activesupport (>= 3.0.0)
29
32
  bundler (>= 1.0.0)
30
33
  doc_wrapper!
31
34
  nokogiri
@@ -28,7 +28,7 @@ module DocWrapper
28
28
  end
29
29
 
30
30
  def namespaces (namespaces)
31
- @namespaces
31
+ @namespaces = namespaces
32
32
  # define_method(:namespaces) do
33
33
  # namespaces
34
34
  # end
@@ -69,7 +69,8 @@ module DocWrapper
69
69
  # This forces all lookups to be for the 0th document in documents if
70
70
  # the user did not specify an offset into the array.
71
71
  options = { :document => 1 }.merge(options)
72
- options.merge(@namespaces) if @namespaces
72
+ options[:namespaces] = @namespaces if @namespaces
73
+ options
73
74
  end
74
75
 
75
76
 
@@ -1,10 +1,14 @@
1
1
  module DocWrapper
2
2
  class InnerHtmlPropertyDefinition < BasePropertyDefinition
3
3
  def property (documents)
4
- begin
5
- transform(documents[@options[:document] - 1].search(@selector).inner_html.strip)
6
- rescue Nokogiri::CSS::SyntaxError
7
- transform(documents[@options[:document] - 1].xpath(@selector).inner_html.strip)
4
+ if options[:namespaces]
5
+ transform(documents[@options[:document] - 1].xpath(@selector, options[:namespaces]).inner_html.strip)
6
+ else
7
+ begin
8
+ transform(documents[@options[:document] - 1].search(@selector).inner_html.strip)
9
+ rescue Nokogiri::CSS::SyntaxError
10
+ transform(documents[@options[:document] - 1].xpath(@selector).inner_html.strip)
11
+ end
8
12
  end
9
13
  end
10
14
  end
@@ -25,7 +25,16 @@ module DocWrapper
25
25
  end
26
26
 
27
27
  def get_has_many (property_name, selector, klass, options)
28
- nodes = @documents.collect { |doc| result = doc.search(selector) ; result.blank? ? nil : result }.flatten.compact
28
+ nodes = @documents.collect do |doc|
29
+ if options[:namespaces]
30
+ result = doc.search(selector, options[:namespaces])
31
+ else
32
+ result = doc.search(selector)
33
+ end
34
+ result.blank? ? nil : result
35
+ end.flatten.compact
36
+
37
+
29
38
  start_row = options[:start_row] ? options[:start_row] : 0
30
39
  end_row = options[:end_row] ? options[:end_row] : nodes.size - 1
31
40
  nodes[start_row..end_row].collect { |node| klass.new(node) }
@@ -1,3 +1,3 @@
1
1
  module DocWrapper
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
@@ -0,0 +1,68 @@
1
+ require 'spec_helper'
2
+
3
+ class AtomDocWrapper
4
+ include DocWrapper::Base
5
+ include DocWrapper::Properties
6
+
7
+ namespaces 'atom' => 'http://www.w3.org/2005/Atom'
8
+
9
+ class TweetWrapper
10
+ include DocWrapper::Base
11
+ include DocWrapper::Properties
12
+
13
+ namespaces 'atom' => 'http://www.w3.org/2005/Atom'
14
+
15
+ property :twitter_id, :string, './atom:id'
16
+ property :published, :string, './atom:published'
17
+ property :link, :raw, './atom:link[@type="text/html"]' do |node_list|
18
+ node_list.first[:href]
19
+ end
20
+ property :updated, :string, './atom:updated'
21
+ property :author_avatar_link, :raw, './atom:link[@type="image/png"]' do |node_list|
22
+ node_list.first[:href]
23
+ end
24
+ property :author, :string, './atom:author/atom:name'
25
+ property :author_twitter_url, :string, './atom:author/atom:uri'
26
+ property :content_text, :string, './atom:title'
27
+ property :content_html, :string, './atom:content'
28
+ end
29
+
30
+ has_many :tweets, "//atom:entry", TweetWrapper
31
+ end
32
+
33
+
34
+ describe AtomDocWrapper do
35
+
36
+ let(:doc_string) do
37
+ read_fixture_file('atom_example.xml')
38
+ end
39
+
40
+ let(:wrapper) do
41
+ AtomDocWrapper.new(Nokogiri::XML(doc_string))
42
+ end
43
+
44
+ describe "fixture" do
45
+ subject { doc_string }
46
+ it { should match /TWITTER_ID/ }
47
+ end
48
+
49
+ it "should have 15 tweets" do
50
+ wrapper.tweets.size.should == 15
51
+ end
52
+
53
+ describe "first tweet" do
54
+ let(:tweet) do
55
+ wrapper.tweets.first
56
+ end
57
+
58
+ it { tweet.twitter_id.should == 'TWITTER_ID' }
59
+ it { tweet.published.should == 'PUBLISHED' }
60
+ it { tweet.link.should == 'LINK' }
61
+ it { tweet.updated.should == 'UPDATED' }
62
+ it { tweet.author_avatar_link.should == 'AUTHOR_AVATAR_LINK' }
63
+ it { tweet.author.should == 'AUTHOR' }
64
+ it { tweet.author_twitter_url.should == 'AUTHOR_TWITTER_URL' }
65
+ it { tweet.content_text.should == 'CONTENT_TXT' }
66
+ it { tweet.content_html.should == 'CONTENT_HTML'}
67
+ end
68
+ end
@@ -1,7 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
-
4
-
5
3
  describe DocWrapper do
6
4
 
7
5
  describe "The wrapped test documents" do
@@ -0,0 +1,316 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <feed xmlns:google="http://base.google.com/ns/1.0" xml:lang="en-US" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.w3.org/2005/Atom" xmlns:twitter="http://api.twitter.com/">
3
+ <id>tag:search.twitter.com,2005:search/yahoo.com</id>
4
+ <link type="text/html" href="http://search.twitter.com/search?q=yahoo.com" rel="alternate"/>
5
+ <link type="application/atom+xml" href="http://search.twitter.com/search.atom?q=yahoo.com" rel="self"/>
6
+ <title>yahoo.com - Twitter Search</title>
7
+ <link type="application/opensearchdescription+xml" href="http://search.twitter.com/opensearch.xml" rel="search"/>
8
+ <link type="application/atom+xml" href="http://search.twitter.com/search.atom?q=yahoo.com&amp;since_id=45971065951879168" rel="refresh"/>
9
+ <twitter:warning>since_id removed for pagination.</twitter:warning>
10
+ <updated>2011-03-10T22:15:30Z</updated>
11
+ <openSearch:itemsPerPage>15</openSearch:itemsPerPage>
12
+ <link type="application/atom+xml" href="http://search.twitter.com/search.atom?max_id=45971065951879168&amp;page=2&amp;q=yahoo.com" rel="next"/>
13
+ <entry>
14
+ <id>TWITTER_ID</id>
15
+ <published>PUBLISHED</published>
16
+ <link type="text/html" href="LINK" rel="alternate"/>
17
+ <title>CONTENT_TXT</title>
18
+ <content type="html">CONTENT_HTML</content>
19
+ <updated>UPDATED</updated>
20
+ <link type="image/png" href="AUTHOR_AVATAR_LINK" rel="image"/>
21
+ <twitter:geo>
22
+ </twitter:geo>
23
+ <twitter:metadata>
24
+ <twitter:result_type>recent</twitter:result_type>
25
+ </twitter:metadata>
26
+ <twitter:source>&lt;a href=&quot;http://www.tweetdeck.com&quot; rel=&quot;nofollow&quot;&gt;TweetDeck&lt;/a&gt;</twitter:source>
27
+ <twitter:lang>en</twitter:lang>
28
+ <author>
29
+ <name>AUTHOR</name>
30
+ <uri>AUTHOR_TWITTER_URL</uri>
31
+ </author>
32
+ </entry>
33
+ <entry>
34
+ <id>tag:search.twitter.com,2005:45971048063172608</id>
35
+ <published>2011-03-10T22:15:26Z</published>
36
+ <link type="text/html" href="http://twitter.com/Joyce__Portela/statuses/45971048063172608" rel="alternate"/>
37
+ <title>Ent&#227;o minha irm&#227; ta bem o/ RT @boanutricao: Comer mais tomates pode melhorar dieta e reduzir riscos de doen&#231;as: http://bit.ly/eBRZJp</title>
38
+ <content type="html">Ent&#227;o minha irm&#227; ta bem o/ RT &lt;a href=&quot;http://twitter.com/boanutricao&quot;&gt;@boanutricao&lt;/a&gt;: Comer mais tomates pode melhorar dieta e reduzir riscos de doen&#231;as: &lt;a href=&quot;http://bit.ly/eBRZJp&quot;&gt;http://bit.ly/eBRZJp&lt;/a&gt;</content>
39
+ <updated>2011-03-10T22:15:26Z</updated>
40
+ <link type="image/png" href="http://a2.twimg.com/profile_images/1219357545/9_de_janeiro__10__normal.jpg" rel="image"/>
41
+ <twitter:geo>
42
+ </twitter:geo>
43
+ <twitter:metadata>
44
+ <twitter:result_type>recent</twitter:result_type>
45
+ </twitter:metadata>
46
+ <twitter:source>&lt;a href=&quot;http://twitter.com/&quot;&gt;web&lt;/a&gt;</twitter:source>
47
+ <twitter:lang>pt</twitter:lang>
48
+ <author>
49
+ <name>Joyce__Portela (Joyce Portela)</name>
50
+ <uri>http://twitter.com/Joyce__Portela</uri>
51
+ </author>
52
+ </entry>
53
+ <entry>
54
+ <id>tag:search.twitter.com,2005:45971044594491393</id>
55
+ <published>2011-03-10T22:15:25Z</published>
56
+ <link type="text/html" href="http://twitter.com/camasmith/statuses/45971044594491393" rel="alternate"/>
57
+ <title>Amazing girls hockey star averaged 5 points per game across career http://yhoo.it/fmTAyv</title>
58
+ <content type="html">Amazing girls hockey star averaged 5 points per game across career &lt;a href=&quot;http://yhoo.it/fmTAyv&quot;&gt;http://yhoo.it/fmTAyv&lt;/a&gt;</content>
59
+ <updated>2011-03-10T22:15:25Z</updated>
60
+ <link type="image/png" href="http://a2.twimg.com/profile_images/1112113186/-1_normal.jpg" rel="image"/>
61
+ <twitter:geo>
62
+ </twitter:geo>
63
+ <twitter:metadata>
64
+ <twitter:result_type>recent</twitter:result_type>
65
+ </twitter:metadata>
66
+ <twitter:source>&lt;a href=&quot;http://twitterfeed.com&quot; rel=&quot;nofollow&quot;&gt;twitterfeed&lt;/a&gt;</twitter:source>
67
+ <twitter:lang>en</twitter:lang>
68
+ <author>
69
+ <name>camasmith (Cameron Smith)</name>
70
+ <uri>http://twitter.com/camasmith</uri>
71
+ </author>
72
+ </entry>
73
+ <entry>
74
+ <id>tag:search.twitter.com,2005:45971012617121793</id>
75
+ <published>2011-03-10T22:15:18Z</published>
76
+ <link type="text/html" href="http://twitter.com/Carolina_LaO/statuses/45971012617121793" rel="alternate"/>
77
+ <title>RT @LATINENTCON: Carolina LaO en Tendencias de moda Yahoo en Espa&#241;ol http://fb.me/wVcdAemv</title>
78
+ <content type="html">RT &lt;a href=&quot;http://twitter.com/LATINENTCON&quot;&gt;@LATINENTCON&lt;/a&gt;: Carolina LaO en Tendencias de moda Yahoo en Espa&#241;ol &lt;a href=&quot;http://fb.me/wVcdAemv&quot;&gt;http://fb.me/wVcdAemv&lt;/a&gt;</content>
79
+ <updated>2011-03-10T22:15:18Z</updated>
80
+ <link type="image/png" href="http://a1.twimg.com/profile_images/1177082261/carolinalao3lowA_normal.jpg" rel="image"/>
81
+ <twitter:geo>
82
+ </twitter:geo>
83
+ <twitter:metadata>
84
+ <twitter:result_type>recent</twitter:result_type>
85
+ </twitter:metadata>
86
+ <twitter:source>&lt;a href=&quot;http://www.facebook.com/twitter&quot; rel=&quot;nofollow&quot;&gt;Facebook&lt;/a&gt;</twitter:source>
87
+ <twitter:lang>es</twitter:lang>
88
+ <author>
89
+ <name>Carolina_LaO (CAROLINA LA O)</name>
90
+ <uri>http://twitter.com/Carolina_LaO</uri>
91
+ </author>
92
+ </entry>
93
+ <entry>
94
+ <id>tag:search.twitter.com,2005:45971009077121024</id>
95
+ <published>2011-03-10T22:15:17Z</published>
96
+ <link type="text/html" href="http://twitter.com/dominic_victor/statuses/45971009077121024" rel="alternate"/>
97
+ <title>Video: A car dunk better than Blake Griffin's: Still, the public has a desire for greater car dunks. So give tha... http://bit.ly/fZ3ahs</title>
98
+ <content type="html">Video: A car dunk better than Blake Griffin&amp;apos;s: Still, the public has a desire for greater car dunks. So give tha... &lt;a href=&quot;http://bit.ly/fZ3ahs&quot;&gt;http://bit.ly/fZ3ahs&lt;/a&gt;</content>
99
+ <updated>2011-03-10T22:15:17Z</updated>
100
+ <link type="image/png" href="http://a3.twimg.com/profile_images/995212960/images_normal.jpg" rel="image"/>
101
+ <twitter:geo>
102
+ </twitter:geo>
103
+ <twitter:metadata>
104
+ <twitter:result_type>recent</twitter:result_type>
105
+ </twitter:metadata>
106
+ <twitter:source>&lt;a href=&quot;http://twitterfeed.com&quot; rel=&quot;nofollow&quot;&gt;twitterfeed&lt;/a&gt;</twitter:source>
107
+ <twitter:lang>en</twitter:lang>
108
+ <author>
109
+ <name>dominic_victor (Dominic Victor)</name>
110
+ <uri>http://twitter.com/dominic_victor</uri>
111
+ </author>
112
+ </entry>
113
+ <entry>
114
+ <id>tag:search.twitter.com,2005:45971003477729280</id>
115
+ <published>2011-03-10T22:15:15Z</published>
116
+ <link type="text/html" href="http://twitter.com/JUrenaG/statuses/45971003477729280" rel="alternate"/>
117
+ <title>RT @lopezandres: &quot;Muerte de lechuza impacta m&#225;s que asesinato de golfista&quot; Fuente: The Associated Press http://fb.me/TDrxZEPJ</title>
118
+ <content type="html">RT &lt;a href=&quot;http://twitter.com/lopezandres&quot;&gt;@lopezandres&lt;/a&gt;: &amp;quot;Muerte de lechuza impacta m&#225;s que asesinato de golfista&amp;quot; Fuente: The Associated Press &lt;a href=&quot;http://fb.me/TDrxZEPJ&quot;&gt;http://fb.me/TDrxZEPJ&lt;/a&gt;</content>
119
+ <updated>2011-03-10T22:15:15Z</updated>
120
+ <link type="image/png" href="http://a0.twimg.com/profile_images/1236631226/8bit_normal.jpg" rel="image"/>
121
+ <twitter:geo>
122
+ </twitter:geo>
123
+ <twitter:metadata>
124
+ <twitter:result_type>recent</twitter:result_type>
125
+ </twitter:metadata>
126
+ <twitter:source>&lt;a href=&quot;http://twitter.com/&quot;&gt;web&lt;/a&gt;</twitter:source>
127
+ <twitter:lang>es</twitter:lang>
128
+ <author>
129
+ <name>JUrenaG (Jose Ure&#241;a Guevara)</name>
130
+ <uri>http://twitter.com/JUrenaG</uri>
131
+ </author>
132
+ </entry>
133
+ <entry>
134
+ <id>tag:search.twitter.com,2005:45970996066390016</id>
135
+ <published>2011-03-10T22:15:14Z</published>
136
+ <link type="text/html" href="http://twitter.com/Crlos_M_Btsta/statuses/45970996066390016" rel="alternate"/>
137
+ <title>Muerte de lechuza impacta m&#225;s que asesinato de golfista http://es.noticias.yahoo.com/11/20110310/twl-ams-gen-colombia-analisis-3fb9d3b.html</title>
138
+ <content type="html">Muerte de lechuza impacta m&#225;s que asesinato de golfista &lt;a href=&quot;http://es.noticias.yahoo.com/11/20110310/twl-ams-gen-colombia-analisis-3fb9d3b.html&quot;&gt;http://es.noticias.&lt;b&gt;yahoo.com&lt;/b&gt;/11/20110310/twl-ams-gen-colombia-analisis-3fb9d3b.html&lt;/a&gt;</content>
139
+ <updated>2011-03-10T22:15:14Z</updated>
140
+ <link type="image/png" href="http://a0.twimg.com/profile_images/1239805435/moto_0215_5_normal.jpg" rel="image"/>
141
+ <twitter:geo>
142
+ </twitter:geo>
143
+ <twitter:metadata>
144
+ <twitter:result_type>recent</twitter:result_type>
145
+ </twitter:metadata>
146
+ <twitter:source>&lt;a href=&quot;http://www.echofon.com/&quot; rel=&quot;nofollow&quot;&gt;Echofon&lt;/a&gt;</twitter:source>
147
+ <twitter:lang>es</twitter:lang>
148
+ <author>
149
+ <name>Crlos_M_Btsta (Carlos M. Bautista)</name>
150
+ <uri>http://twitter.com/Crlos_M_Btsta</uri>
151
+ </author>
152
+ </entry>
153
+ <entry>
154
+ <id>tag:search.twitter.com,2005:45970992555769856</id>
155
+ <published>2011-03-10T22:15:13Z</published>
156
+ <link type="text/html" href="http://twitter.com/Jennrowl/statuses/45970992555769856" rel="alternate"/>
157
+ <title>How the major stock indexes fared Thursday
158
+ (AP): AP - Weak economic news from China, the U.S. and Spain com... http://bit.ly/eix8g0</title>
159
+ <content type="html">How the major stock indexes fared Thursday
160
+ (AP): AP - Weak economic news from China, the U.S. and Spain com... &lt;a href=&quot;http://bit.ly/eix8g0&quot;&gt;http://bit.ly/eix8g0&lt;/a&gt;</content>
161
+ <updated>2011-03-10T22:15:13Z</updated>
162
+ <link type="image/png" href="http://a2.twimg.com/profile_images/879013109/632hx6_normal.jpg" rel="image"/>
163
+ <twitter:geo>
164
+ </twitter:geo>
165
+ <twitter:metadata>
166
+ <twitter:result_type>recent</twitter:result_type>
167
+ </twitter:metadata>
168
+ <twitter:source>&lt;a href=&quot;http://twitterfeed.com&quot; rel=&quot;nofollow&quot;&gt;twitterfeed&lt;/a&gt;</twitter:source>
169
+ <twitter:lang>en</twitter:lang>
170
+ <author>
171
+ <name>Jennrowl (Jenny Rowland)</name>
172
+ <uri>http://twitter.com/Jennrowl</uri>
173
+ </author>
174
+ </entry>
175
+ <entry>
176
+ <id>tag:search.twitter.com,2005:45970992467673088</id>
177
+ <published>2011-03-10T22:15:13Z</published>
178
+ <link type="text/html" href="http://twitter.com/misspindling/statuses/45970992467673088" rel="alternate"/>
179
+ <title>Victoria Justice: Not Your Average Cover Girl But I think she is a good 1-Hollywood's Next Generation - omg! on Yahoo http://yhoo.it/h7fFmu</title>
180
+ <content type="html">Victoria Justice: Not Your Average Cover Girl But I think she is a good 1-Hollywood&amp;apos;s Next Generation - omg! on Yahoo &lt;a href=&quot;http://yhoo.it/h7fFmu&quot;&gt;http://yhoo.it/h7fFmu&lt;/a&gt;</content>
181
+ <updated>2011-03-10T22:15:13Z</updated>
182
+ <link type="image/png" href="http://a2.twimg.com/profile_images/1256867527/Angel_normal.jpg" rel="image"/>
183
+ <twitter:geo>
184
+ </twitter:geo>
185
+ <twitter:metadata>
186
+ <twitter:result_type>recent</twitter:result_type>
187
+ </twitter:metadata>
188
+ <twitter:source>&lt;a href=&quot;http://tweetmeme.com&quot; rel=&quot;nofollow&quot;&gt;TweetMeme&lt;/a&gt;</twitter:source>
189
+ <twitter:lang>en</twitter:lang>
190
+ <author>
191
+ <name>misspindling (LaShonte Miller)</name>
192
+ <uri>http://twitter.com/misspindling</uri>
193
+ </author>
194
+ </entry>
195
+ <entry>
196
+ <id>tag:search.twitter.com,2005:45970971189985281</id>
197
+ <published>2011-03-10T22:15:08Z</published>
198
+ <link type="text/html" href="http://twitter.com/kristinjonele/statuses/45970971189985281" rel="alternate"/>
199
+ <title>RT @PHIPhilliesNews: Halladay goes 6 shutout innings, Phils beat Yanks (AP): Roy Halladay and CC Sabathia both pitched like aces Thur... http://bit.ly/h795nj</title>
200
+ <content type="html">RT &lt;a href=&quot;http://twitter.com/PHIPhilliesNews&quot;&gt;@PHIPhilliesNews&lt;/a&gt;: Halladay goes 6 shutout innings, Phils beat Yanks (AP): Roy Halladay and CC Sabathia both pitched like aces Thur... &lt;a href=&quot;http://bit.ly/h795nj&quot;&gt;http://bit.ly/h795nj&lt;/a&gt;</content>
201
+ <updated>2011-03-10T22:15:08Z</updated>
202
+ <link type="image/png" href="http://a3.twimg.com/profile_images/1243663036/phillies_normal.png" rel="image"/>
203
+ <twitter:geo>
204
+ </twitter:geo>
205
+ <twitter:metadata>
206
+ <twitter:result_type>recent</twitter:result_type>
207
+ </twitter:metadata>
208
+ <twitter:source>&lt;a href=&quot;http://twitterfeed.com&quot; rel=&quot;nofollow&quot;&gt;twitterfeed&lt;/a&gt;</twitter:source>
209
+ <twitter:lang>en</twitter:lang>
210
+ <author>
211
+ <name>kristinjonele (Kristin Rynd)</name>
212
+ <uri>http://twitter.com/kristinjonele</uri>
213
+ </author>
214
+ </entry>
215
+ <entry>
216
+ <id>tag:search.twitter.com,2005:45970955322933248</id>
217
+ <published>2011-03-10T22:15:04Z</published>
218
+ <link type="text/html" href="http://twitter.com/raulneo2/statuses/45970955322933248" rel="alternate"/>
219
+ <title>Norberto Rivera se pone al d&#237;a con la tecnolog&#237;a http://bit.ly/gz0eoU</title>
220
+ <content type="html">Norberto Rivera se pone al d&#237;a con la tecnolog&#237;a &lt;a href=&quot;http://bit.ly/gz0eoU&quot;&gt;http://bit.ly/gz0eoU&lt;/a&gt;</content>
221
+ <updated>2011-03-10T22:15:04Z</updated>
222
+ <link type="image/png" href="http://a3.twimg.com/profile_images/1256207356/raulrec_normal.jpg" rel="image"/>
223
+ <twitter:geo>
224
+ </twitter:geo>
225
+ <twitter:metadata>
226
+ <twitter:result_type>recent</twitter:result_type>
227
+ </twitter:metadata>
228
+ <twitter:source>&lt;a href=&quot;http://f1.mozillamessaging.com&quot; rel=&quot;nofollow&quot;&gt;Mozilla f1&lt;/a&gt;</twitter:source>
229
+ <twitter:lang>it</twitter:lang>
230
+ <author>
231
+ <name>raulneo2 (Ra&#250;l Garc&#237;aRodr&#237;guez)</name>
232
+ <uri>http://twitter.com/raulneo2</uri>
233
+ </author>
234
+ </entry>
235
+ <entry>
236
+ <id>tag:search.twitter.com,2005:45970951522881536</id>
237
+ <published>2011-03-10T22:15:03Z</published>
238
+ <link type="text/html" href="http://twitter.com/hck2/statuses/45970951522881536" rel="alternate"/>
239
+ <title>READ THIS! HEY, DO IT, NOW! YOU TWIT! RT @PegasusNews @YahooNews Dallas ranked No. 7 angriest place in America http://yhoo.it/fjHr5x</title>
240
+ <content type="html">READ THIS! HEY, DO IT, NOW! YOU TWIT! RT &lt;a href=&quot;http://twitter.com/PegasusNews&quot;&gt;@PegasusNews&lt;/a&gt; &lt;a href=&quot;http://twitter.com/YahooNews&quot;&gt;@YahooNews&lt;/a&gt; Dallas ranked No. 7 angriest place in America &lt;a href=&quot;http://yhoo.it/fjHr5x&quot;&gt;http://yhoo.it/fjHr5x&lt;/a&gt;</content>
241
+ <updated>2011-03-10T22:15:03Z</updated>
242
+ <link type="image/png" href="http://a3.twimg.com/profile_images/826863035/hck2-logo-square_normal.png" rel="image"/>
243
+ <twitter:geo>
244
+ </twitter:geo>
245
+ <twitter:metadata>
246
+ <twitter:result_type>recent</twitter:result_type>
247
+ </twitter:metadata>
248
+ <twitter:source>&lt;a href=&quot;http://www.hootsuite.com&quot; rel=&quot;nofollow&quot;&gt;HootSuite&lt;/a&gt;</twitter:source>
249
+ <twitter:lang>en</twitter:lang>
250
+ <author>
251
+ <name>hck2 (HCK2 Partners)</name>
252
+ <uri>http://twitter.com/hck2</uri>
253
+ </author>
254
+ </entry>
255
+ <entry>
256
+ <id>tag:search.twitter.com,2005:45970951405449216</id>
257
+ <published>2011-03-10T22:15:03Z</published>
258
+ <link type="text/html" href="http://twitter.com/ShawnPaulWood/statuses/45970951405449216" rel="alternate"/>
259
+ <title>READ THIS! HEY, I SAID DO IT, NOW! I'M ANGRY. RT @PegasusNews @YahooNews Dallas ranked No. 7 angriest place in America http://yhoo.it/fjHr5x</title>
260
+ <content type="html">READ THIS! HEY, I SAID DO IT, NOW! I&amp;apos;M ANGRY. RT &lt;a href=&quot;http://twitter.com/PegasusNews&quot;&gt;@PegasusNews&lt;/a&gt; &lt;a href=&quot;http://twitter.com/YahooNews&quot;&gt;@YahooNews&lt;/a&gt; Dallas ranked No. 7 angriest place in America &lt;a href=&quot;http://yhoo.it/fjHr5x&quot;&gt;http://yhoo.it/fjHr5x&lt;/a&gt;</content>
261
+ <updated>2011-03-10T22:15:03Z</updated>
262
+ <link type="image/png" href="http://a1.twimg.com/profile_images/1002919624/shot_the_serif_normal.jpg" rel="image"/>
263
+ <twitter:geo>
264
+ </twitter:geo>
265
+ <twitter:metadata>
266
+ <twitter:result_type>recent</twitter:result_type>
267
+ </twitter:metadata>
268
+ <twitter:source>&lt;a href=&quot;http://www.hootsuite.com&quot; rel=&quot;nofollow&quot;&gt;HootSuite&lt;/a&gt;</twitter:source>
269
+ <twitter:lang>en</twitter:lang>
270
+ <author>
271
+ <name>ShawnPaulWood (Shawn Paul Wood)</name>
272
+ <uri>http://twitter.com/ShawnPaulWood</uri>
273
+ </author>
274
+ </entry>
275
+ <entry>
276
+ <id>tag:search.twitter.com,2005:45970936159141888</id>
277
+ <published>2011-03-10T22:14:59Z</published>
278
+ <link type="text/html" href="http://twitter.com/Anguiila/statuses/45970936159141888" rel="alternate"/>
279
+ <title>RT @lopezandres: &quot;Muerte de lechuza impacta m&#225;s que asesinato de golfista&quot; Fuente: The Associated Press http://fb.me/TDrxZEPJ</title>
280
+ <content type="html">RT &lt;a href=&quot;http://twitter.com/lopezandres&quot;&gt;@lopezandres&lt;/a&gt;: &amp;quot;Muerte de lechuza impacta m&#225;s que asesinato de golfista&amp;quot; Fuente: The Associated Press &lt;a href=&quot;http://fb.me/TDrxZEPJ&quot;&gt;http://fb.me/TDrxZEPJ&lt;/a&gt;</content>
281
+ <updated>2011-03-10T22:14:59Z</updated>
282
+ <link type="image/png" href="http://a2.twimg.com/profile_images/1238841104/TIBURON___normal.jpg" rel="image"/>
283
+ <twitter:geo>
284
+ </twitter:geo>
285
+ <twitter:metadata>
286
+ <twitter:result_type>recent</twitter:result_type>
287
+ </twitter:metadata>
288
+ <twitter:source>&lt;a href=&quot;http://twitter.com/&quot;&gt;web&lt;/a&gt;</twitter:source>
289
+ <twitter:lang>es</twitter:lang>
290
+ <author>
291
+ <name>Anguiila (Angela Torres)</name>
292
+ <uri>http://twitter.com/Anguiila</uri>
293
+ </author>
294
+ </entry>
295
+ <entry>
296
+ <id>tag:search.twitter.com,2005:45970934443675648</id>
297
+ <published>2011-03-10T22:14:59Z</published>
298
+ <link type="text/html" href="http://twitter.com/MrAfterhours/statuses/45970934443675648" rel="alternate"/>
299
+ <title>@DaddyHarold2You Aoooow! Send me the word version larrynky@yahoo.com</title>
300
+ <content type="html">&lt;a href=&quot;http://twitter.com/DaddyHarold2You&quot;&gt;@DaddyHarold2You&lt;/a&gt; Aoooow! Send me the word version larrynky@&lt;b&gt;yahoo.com&lt;/b&gt;</content>
301
+ <updated>2011-03-10T22:14:59Z</updated>
302
+ <link type="image/png" href="http://a1.twimg.com/profile_images/1219750061/profile_normal.jpg" rel="image"/>
303
+ <twitter:geo>
304
+ </twitter:geo>
305
+ <twitter:metadata>
306
+ <twitter:result_type>recent</twitter:result_type>
307
+ </twitter:metadata>
308
+ <twitter:source>&lt;a href=&quot;http://twitter.com/&quot; rel=&quot;nofollow&quot;&gt;Twitter for iPhone&lt;/a&gt;</twitter:source>
309
+ <twitter:lang>en</twitter:lang>
310
+ <author>
311
+ <name>MrAfterhours (Larry )</name>
312
+ <uri>http://twitter.com/MrAfterhours</uri>
313
+ </author>
314
+ </entry>
315
+
316
+ </feed>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doc_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Menard
@@ -91,7 +91,9 @@ files:
91
91
  - lib/doc_wrapper/string_property_definition.rb
92
92
  - lib/doc_wrapper/time_property_definition.rb
93
93
  - lib/doc_wrapper/version.rb
94
+ - spec/atom_examlple_spec.rb
94
95
  - spec/doc_wrapper_spec.rb
96
+ - spec/fixtures/atom_example.xml
95
97
  - spec/fixtures/doc_wrapper_test.html
96
98
  - spec/fixtures/doc_wrapper_test_2.html
97
99
  - spec/spec_helper.rb