doc_wrapper 0.9.1 → 0.9.2

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/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