feedjira-redis 1.0.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.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.rvmrc +1 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +119 -0
- data/LICENSE.txt +20 -0
- data/README.markdown +55 -0
- data/Rakefile +54 -0
- data/VERSION +1 -0
- data/feedjira-redis.gemspec +68 -0
- data/lib/feedjira-redis.rb +81 -0
- data/test/fixtures/monkeys_new.atom +313 -0
- data/test/fixtures/monkeys_old.atom +313 -0
- data/test/helper.rb +19 -0
- data/test/test_feedjira-redis.rb +74 -0
- metadata +143 -0
|
@@ -0,0 +1,313 @@
|
|
|
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/monkeys</id>
|
|
4
|
+
<link type="text/html" href="http://search.twitter.com/search?q=monkeys" rel="alternate"/>
|
|
5
|
+
<link type="application/atom+xml" href="http://search.twitter.com/search.atom?q=monkeys" rel="self"/>
|
|
6
|
+
<title>monkeys - 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=monkeys&since_id=93342638845067264" rel="refresh"/>
|
|
9
|
+
<twitter:warning>since_id removed for pagination.</twitter:warning>
|
|
10
|
+
<updated>2011-07-19T15:33:13Z</updated>
|
|
11
|
+
<openSearch:itemsPerPage>15</openSearch:itemsPerPage>
|
|
12
|
+
<link type="application/atom+xml" href="http://search.twitter.com/search.atom?max_id=93342638845067264&page=2&q=monkeys" rel="next"/>
|
|
13
|
+
<entry>
|
|
14
|
+
<id>tag:search.twitter.com,2005:93342638845067264</id>
|
|
15
|
+
<published>2011-07-19T15:33:13Z</published>
|
|
16
|
+
<link type="text/html" href="http://twitter.com/mvlmoraes/statuses/93342638845067264" rel="alternate"/>
|
|
17
|
+
<title>Clipe em espanhol do Jota Quest ultrapassa Foo Fighters, Arctic Monkeys, Rihanna… e é 1º lugar na Argentina.</title>
|
|
18
|
+
<content type="html">Clipe em espanhol do Jota Quest ultrapassa Foo Fighters, Arctic <b>Monkeys</b>, Rihanna… e é 1º lugar na Argentina.</content>
|
|
19
|
+
<updated>2011-07-19T15:33:13Z</updated>
|
|
20
|
+
<link type="image/png" href="http://a1.twimg.com/profile_images/1256709905/Sem_T_tulo-2_normal.jpg" 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><a href="http://twitter.com/">web</a></twitter:source>
|
|
27
|
+
<twitter:lang>pt</twitter:lang>
|
|
28
|
+
<author>
|
|
29
|
+
<name>mvlmoraes (Marcos Moraes)</name>
|
|
30
|
+
<uri>http://twitter.com/mvlmoraes</uri>
|
|
31
|
+
</author>
|
|
32
|
+
</entry>
|
|
33
|
+
<entry>
|
|
34
|
+
<id>tag:search.twitter.com,2005:93342567369936896</id>
|
|
35
|
+
<published>2011-07-19T15:32:56Z</published>
|
|
36
|
+
<link type="text/html" href="http://twitter.com/SophiaIgnatidou/statuses/93342567369936896" rel="alternate"/>
|
|
37
|
+
<title>@iankatz1000 #notw inquiry looks like the 3 wise monkeys. The son speaks no evil, #murdoch hears no evil and rebekah sees no evil.#hacking</title>
|
|
38
|
+
<content type="html"><a href="http://twitter.com/iankatz1000">@iankatz1000</a> <a href="http://search.twitter.com/search?q=%23notw" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#notw');">#notw</a> inquiry looks like the 3 wise <b>monkeys</b>. The son speaks no evil, <a href="http://search.twitter.com/search?q=%23murdoch" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#murdoch');">#murdoch</a> hears no evil and rebekah sees no evil.<a href="http://search.twitter.com/search?q=%23hacking" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#hacking');">#hacking</a></content>
|
|
39
|
+
<updated>2011-07-19T15:32:56Z</updated>
|
|
40
|
+
<link type="image/png" href="http://a3.twimg.com/profile_images/1258571627/sof_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><a href="http://twitter.com/">web</a></twitter:source>
|
|
47
|
+
<twitter:lang>en</twitter:lang>
|
|
48
|
+
<author>
|
|
49
|
+
<name>SophiaIgnatidou (Sophia Ignatidou)</name>
|
|
50
|
+
<uri>http://twitter.com/SophiaIgnatidou</uri>
|
|
51
|
+
</author>
|
|
52
|
+
</entry>
|
|
53
|
+
<entry>
|
|
54
|
+
<id>tag:search.twitter.com,2005:93342529260503041</id>
|
|
55
|
+
<published>2011-07-19T15:32:47Z</published>
|
|
56
|
+
<link type="text/html" href="http://twitter.com/CokeArayaT/statuses/93342529260503041" rel="alternate"/>
|
|
57
|
+
<title>RT @Cynthiaiss: @CokeArayaT andai con los monkeys?///nooooooo por que???? jajajajajaja</title>
|
|
58
|
+
<content type="html">RT <a href="http://twitter.com/Cynthiaiss">@Cynthiaiss</a>: <a href="http://twitter.com/CokeArayaT">@CokeArayaT</a> andai con los <b>monkeys</b>?///nooooooo por que???? jajajajajaja</content>
|
|
59
|
+
<updated>2011-07-19T15:32:47Z</updated>
|
|
60
|
+
<link type="image/png" href="http://a3.twimg.com/profile_images/1414439196/YO_EN_LA_PLAYA_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><a href="http://www.tweetdeck.com" rel="nofollow">TweetDeck</a></twitter:source>
|
|
67
|
+
<twitter:lang>es</twitter:lang>
|
|
68
|
+
<author>
|
|
69
|
+
<name>CokeArayaT (jorge araya toloza)</name>
|
|
70
|
+
<uri>http://twitter.com/CokeArayaT</uri>
|
|
71
|
+
</author>
|
|
72
|
+
</entry>
|
|
73
|
+
<entry>
|
|
74
|
+
<id>tag:search.twitter.com,2005:93342524063752192</id>
|
|
75
|
+
<published>2011-07-19T15:32:46Z</published>
|
|
76
|
+
<link type="text/html" href="http://twitter.com/Salz_FCB/statuses/93342524063752192" rel="alternate"/>
|
|
77
|
+
<title>Lolz nah! RT @yaw7fold: u wud b no1 #okbye RT @Salz_FCB: If money grew on trees girls wouldn't mind dating monkeys. :D</title>
|
|
78
|
+
<content type="html">Lolz nah! RT <a href="http://twitter.com/yaw7fold">@yaw7fold</a>: u wud b no1 <a href="http://search.twitter.com/search?q=%23okbye" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#okbye');">#okbye</a> RT <a href="http://twitter.com/Salz_FCB">@Salz_FCB</a>: If money grew on trees girls wouldn&apos;t mind dating <b>monkeys</b>. :D</content>
|
|
79
|
+
<updated>2011-07-19T15:32:46Z</updated>
|
|
80
|
+
<link type="image/png" href="http://a2.twimg.com/profile_images/1438285841/Salz_FCB_2418038463819262988_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><a href="http://www.snaptu.com" rel="nofollow">Snaptu</a></twitter:source>
|
|
87
|
+
<twitter:lang>en</twitter:lang>
|
|
88
|
+
<author>
|
|
89
|
+
<name>Salz_FCB (sally Mafia(lyfsuxx))</name>
|
|
90
|
+
<uri>http://twitter.com/Salz_FCB</uri>
|
|
91
|
+
</author>
|
|
92
|
+
</entry>
|
|
93
|
+
<entry>
|
|
94
|
+
<id>tag:search.twitter.com,2005:93342495911575552</id>
|
|
95
|
+
<published>2011-07-19T15:32:39Z</published>
|
|
96
|
+
<link type="text/html" href="http://twitter.com/KishaLynnT3/statuses/93342495911575552" rel="alternate"/>
|
|
97
|
+
<title>Animal Kingdom 2day :) yay hopefully i see the adorable lil monkeys hahaha</title>
|
|
98
|
+
<content type="html">Animal Kingdom 2day :) yay hopefully i see the adorable lil <b>monkeys</b> hahaha</content>
|
|
99
|
+
<updated>2011-07-19T15:32:39Z</updated>
|
|
100
|
+
<link type="image/png" href="http://a2.twimg.com/profile_images/1445091088/image_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><a href="http://twitter.com/#!/download/iphone" rel="nofollow">Twitter for iPhone</a></twitter:source>
|
|
107
|
+
<twitter:lang>en</twitter:lang>
|
|
108
|
+
<author>
|
|
109
|
+
<name>KishaLynnT3 (CaNdY rEdD)</name>
|
|
110
|
+
<uri>http://twitter.com/KishaLynnT3</uri>
|
|
111
|
+
</author>
|
|
112
|
+
</entry>
|
|
113
|
+
<entry>
|
|
114
|
+
<id>tag:search.twitter.com,2005:93342459043651584</id>
|
|
115
|
+
<published>2011-07-19T15:32:31Z</published>
|
|
116
|
+
<link type="text/html" href="http://twitter.com/CokeArayaT/statuses/93342459043651584" rel="alternate"/>
|
|
117
|
+
<title>RT @Cynthiaiss: @CokeArayaT andai con los monkeys?</title>
|
|
118
|
+
<content type="html">RT <a href="http://twitter.com/Cynthiaiss">@Cynthiaiss</a>: <a href="http://twitter.com/CokeArayaT">@CokeArayaT</a> andai con los <b>monkeys</b>?</content>
|
|
119
|
+
<updated>2011-07-19T15:32:31Z</updated>
|
|
120
|
+
<link type="image/png" href="http://a3.twimg.com/profile_images/1414439196/YO_EN_LA_PLAYA_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><a href="http://twitter.com/">web</a></twitter:source>
|
|
127
|
+
<twitter:lang>fr</twitter:lang>
|
|
128
|
+
<author>
|
|
129
|
+
<name>CokeArayaT (jorge araya toloza)</name>
|
|
130
|
+
<uri>http://twitter.com/CokeArayaT</uri>
|
|
131
|
+
</author>
|
|
132
|
+
</entry>
|
|
133
|
+
<entry>
|
|
134
|
+
<id>tag:search.twitter.com,2005:93342417830420482</id>
|
|
135
|
+
<published>2011-07-19T15:32:21Z</published>
|
|
136
|
+
<link type="text/html" href="http://twitter.com/Cynthiaiss/statuses/93342417830420482" rel="alternate"/>
|
|
137
|
+
<title>@CokeArayaT andai con los monkeys?</title>
|
|
138
|
+
<content type="html"><a href="http://twitter.com/CokeArayaT">@CokeArayaT</a> andai con los <b>monkeys</b>?</content>
|
|
139
|
+
<updated>2011-07-19T15:32:21Z</updated>
|
|
140
|
+
<link type="image/png" href="http://a3.twimg.com/profile_images/1436769001/sanpedro_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><a href="http://twitter.com/">web</a></twitter:source>
|
|
147
|
+
<twitter:lang>fr</twitter:lang>
|
|
148
|
+
<author>
|
|
149
|
+
<name>Cynthiaiss (Cynthia)</name>
|
|
150
|
+
<uri>http://twitter.com/Cynthiaiss</uri>
|
|
151
|
+
</author>
|
|
152
|
+
</entry>
|
|
153
|
+
<entry>
|
|
154
|
+
<id>tag:search.twitter.com,2005:93342363107336192</id>
|
|
155
|
+
<published>2011-07-19T15:32:08Z</published>
|
|
156
|
+
<link type="text/html" href="http://twitter.com/CraxyHouston/statuses/93342363107336192" rel="alternate"/>
|
|
157
|
+
<title>OMG! Jeg er HELT OPPE OG KØRE!! 100 Monkeys tickets are BOUGHT!!!! Can't wait!</title>
|
|
158
|
+
<content type="html">OMG! Jeg er HELT OPPE OG KØRE!! 100 <b>Monkeys</b> tickets are BOUGHT!!!! Can&apos;t wait!</content>
|
|
159
|
+
<updated>2011-07-19T15:32:08Z</updated>
|
|
160
|
+
<link type="image/png" href="http://a0.twimg.com/profile_images/1444587301/DSC00106_normal.JPG" rel="image"/>
|
|
161
|
+
<twitter:geo>
|
|
162
|
+
</twitter:geo>
|
|
163
|
+
<twitter:metadata>
|
|
164
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
165
|
+
</twitter:metadata>
|
|
166
|
+
<twitter:source><a href="http://twitter.com/">web</a></twitter:source>
|
|
167
|
+
<twitter:lang>da</twitter:lang>
|
|
168
|
+
<author>
|
|
169
|
+
<name>CraxyHouston (Christine Houston)</name>
|
|
170
|
+
<uri>http://twitter.com/CraxyHouston</uri>
|
|
171
|
+
</author>
|
|
172
|
+
</entry>
|
|
173
|
+
<entry>
|
|
174
|
+
<id>tag:search.twitter.com,2005:93342145041268737</id>
|
|
175
|
+
<published>2011-07-19T15:31:16Z</published>
|
|
176
|
+
<link type="text/html" href="http://twitter.com/trevisj/statuses/93342145041268737" rel="alternate"/>
|
|
177
|
+
<title>playing with monkeys (@ Barefoot N Motion) http://4sq.com/paCwAv</title>
|
|
178
|
+
<content type="html">playing with <b>monkeys</b> (@ Barefoot N Motion) <a href="http://4sq.com/paCwAv">http://4sq.com/paCwAv</a></content>
|
|
179
|
+
<updated>2011-07-19T15:31:16Z</updated>
|
|
180
|
+
<link type="image/png" href="http://a0.twimg.com/profile_images/1429886917/CamAvi_normal.jpg" rel="image"/>
|
|
181
|
+
<twitter:geo>
|
|
182
|
+
</twitter:geo>
|
|
183
|
+
<twitter:metadata>
|
|
184
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
185
|
+
</twitter:metadata>
|
|
186
|
+
<twitter:source><a href="http://foursquare.com" rel="nofollow">foursquare</a></twitter:source>
|
|
187
|
+
<twitter:lang>en</twitter:lang>
|
|
188
|
+
<author>
|
|
189
|
+
<name>trevisj (Trevis J. Thompson)</name>
|
|
190
|
+
<uri>http://twitter.com/trevisj</uri>
|
|
191
|
+
</author>
|
|
192
|
+
</entry>
|
|
193
|
+
<entry>
|
|
194
|
+
<id>tag:search.twitter.com,2005:93342071338958848</id>
|
|
195
|
+
<published>2011-07-19T15:30:58Z</published>
|
|
196
|
+
<link type="text/html" href="http://twitter.com/lizsoldtheworld/statuses/93342071338958848" rel="alternate"/>
|
|
197
|
+
<title>Tireia dor de não terem falado "ARCTIC MONKEYS ESTARÁ NO SWU" reclamando no Facebook. Juventude Rebelde é isso.</title>
|
|
198
|
+
<content type="html">Tireia dor de não terem falado &quot;ARCTIC <b>MONKEYS</b> ESTARÁ NO SWU&quot; reclamando no Facebook. Juventude Rebelde é isso.</content>
|
|
199
|
+
<updated>2011-07-19T15:30:58Z</updated>
|
|
200
|
+
<link type="image/png" href="http://a3.twimg.com/profile_images/1430042751/4646_normal.JPG" rel="image"/>
|
|
201
|
+
<twitter:geo>
|
|
202
|
+
</twitter:geo>
|
|
203
|
+
<twitter:metadata>
|
|
204
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
205
|
+
</twitter:metadata>
|
|
206
|
+
<twitter:source><a href="http://twitter.com/">web</a></twitter:source>
|
|
207
|
+
<twitter:lang>pt</twitter:lang>
|
|
208
|
+
<author>
|
|
209
|
+
<name>lizsoldtheworld (Lizandra Tarsilla)</name>
|
|
210
|
+
<uri>http://twitter.com/lizsoldtheworld</uri>
|
|
211
|
+
</author>
|
|
212
|
+
</entry>
|
|
213
|
+
<entry>
|
|
214
|
+
<id>tag:search.twitter.com,2005:93341983296331777</id>
|
|
215
|
+
<published>2011-07-19T15:30:37Z</published>
|
|
216
|
+
<link type="text/html" href="http://twitter.com/iKarley/statuses/93341983296331777" rel="alternate"/>
|
|
217
|
+
<title>these lil monkeys on angry birds be cheating</title>
|
|
218
|
+
<content type="html">these lil <b>monkeys</b> on angry birds be cheating</content>
|
|
219
|
+
<updated>2011-07-19T15:30:37Z</updated>
|
|
220
|
+
<link type="image/png" href="http://a0.twimg.com/profile_images/1444033404/230352_10150593503575501_605185500_18633497_1762883_n_normal.jpg" rel="image"/>
|
|
221
|
+
<twitter:geo>
|
|
222
|
+
</twitter:geo>
|
|
223
|
+
<twitter:metadata>
|
|
224
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
225
|
+
</twitter:metadata>
|
|
226
|
+
<twitter:source><a href="http://twitter.com/">web</a></twitter:source>
|
|
227
|
+
<twitter:lang>en</twitter:lang>
|
|
228
|
+
<author>
|
|
229
|
+
<name>iKarley (Ambitious Girl ¯\_(ツ)</name>
|
|
230
|
+
<uri>http://twitter.com/iKarley</uri>
|
|
231
|
+
</author>
|
|
232
|
+
</entry>
|
|
233
|
+
<entry>
|
|
234
|
+
<id>tag:search.twitter.com,2005:93341968255565824</id>
|
|
235
|
+
<published>2011-07-19T15:30:34Z</published>
|
|
236
|
+
<link type="text/html" href="http://twitter.com/hussain_info/statuses/93341968255565824" rel="alternate"/>
|
|
237
|
+
<title>@khalidalkhalifa #bahrain Defense Forced calls the oppositions monkeys! what a civilized country! is this allowed?! #BDFmonkey #shame</title>
|
|
238
|
+
<content type="html"><a href="http://twitter.com/khalidalkhalifa">@khalidalkhalifa</a> <a href="http://search.twitter.com/search?q=%23bahrain" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#bahrain');">#bahrain</a> Defense Forced calls the oppositions <b>monkeys</b>! what a civilized country! is this allowed?! <a href="http://search.twitter.com/search?q=%23BDFmonkey" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#BDFmonkey');">#BDFmonkey</a> <a href="http://search.twitter.com/search?q=%23shame" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#shame');">#shame</a></content>
|
|
239
|
+
<updated>2011-07-19T15:30:34Z</updated>
|
|
240
|
+
<link type="image/png" href="http://a2.twimg.com/profile_images/1362190046/180021_1887317301249_1190928841_32320916_7660912_n_normal.jpg" rel="image"/>
|
|
241
|
+
<twitter:geo>
|
|
242
|
+
</twitter:geo>
|
|
243
|
+
<twitter:metadata>
|
|
244
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
245
|
+
</twitter:metadata>
|
|
246
|
+
<twitter:source><a href="http://twitter.com/">web</a></twitter:source>
|
|
247
|
+
<twitter:lang>en</twitter:lang>
|
|
248
|
+
<author>
|
|
249
|
+
<name>hussain_info (Hussain Yousif)</name>
|
|
250
|
+
<uri>http://twitter.com/hussain_info</uri>
|
|
251
|
+
</author>
|
|
252
|
+
</entry>
|
|
253
|
+
<entry>
|
|
254
|
+
<id>tag:search.twitter.com,2005:93341960458350593</id>
|
|
255
|
+
<published>2011-07-19T15:30:32Z</published>
|
|
256
|
+
<link type="text/html" href="http://twitter.com/captainpiccard/statuses/93341960458350593" rel="alternate"/>
|
|
257
|
+
<title>hey @spotify your service is ok, but your client software was coded by a horde of blind zombie monkeys...</title>
|
|
258
|
+
<content type="html">hey <a href="http://twitter.com/spotify">@spotify</a> your service is ok, but your client software was coded by a horde of blind zombie <b>monkeys</b>...</content>
|
|
259
|
+
<updated>2011-07-19T15:30:32Z</updated>
|
|
260
|
+
<link type="image/png" href="http://a2.twimg.com/profile_images/1431735553/Mobile_Photo_May_12__2010_10_33_04_AM_normal.jpg" rel="image"/>
|
|
261
|
+
<twitter:geo>
|
|
262
|
+
</twitter:geo>
|
|
263
|
+
<twitter:metadata>
|
|
264
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
265
|
+
</twitter:metadata>
|
|
266
|
+
<twitter:source><a href="http://www.nibirutech.com" rel="nofollow">TwitBird</a></twitter:source>
|
|
267
|
+
<twitter:lang>en</twitter:lang>
|
|
268
|
+
<author>
|
|
269
|
+
<name>captainpiccard (Quase)</name>
|
|
270
|
+
<uri>http://twitter.com/captainpiccard</uri>
|
|
271
|
+
</author>
|
|
272
|
+
</entry>
|
|
273
|
+
<entry>
|
|
274
|
+
<id>tag:search.twitter.com,2005:93341908339916800</id>
|
|
275
|
+
<published>2011-07-19T15:30:19Z</published>
|
|
276
|
+
<link type="text/html" href="http://twitter.com/mollylovesbieb/statuses/93341908339916800" rel="alternate"/>
|
|
277
|
+
<title>RT @annielovesJB: @mollylovesbieb HOLY FLYING MONKEYS, i feel like you are passing my edge of comfort. Kaycoolbye</title>
|
|
278
|
+
<content type="html">RT <a href="http://twitter.com/annielovesJB">@annielovesJB</a>: <a href="http://twitter.com/mollylovesbieb">@mollylovesbieb</a> HOLY FLYING <b>MONKEYS</b>, i feel like you are passing my edge of comfort. Kaycoolbye</content>
|
|
279
|
+
<updated>2011-07-19T15:30:19Z</updated>
|
|
280
|
+
<link type="image/png" href="http://a2.twimg.com/profile_images/1443234404/Photo_on_2011-06-16_at_22.12__5_normal.jpg" rel="image"/>
|
|
281
|
+
<twitter:geo>
|
|
282
|
+
</twitter:geo>
|
|
283
|
+
<twitter:metadata>
|
|
284
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
285
|
+
</twitter:metadata>
|
|
286
|
+
<twitter:source><a href="http://twitter.com/devices" rel="nofollow">txt</a></twitter:source>
|
|
287
|
+
<twitter:lang>en</twitter:lang>
|
|
288
|
+
<author>
|
|
289
|
+
<name>mollylovesbieb (Molly)</name>
|
|
290
|
+
<uri>http://twitter.com/mollylovesbieb</uri>
|
|
291
|
+
</author>
|
|
292
|
+
</entry>
|
|
293
|
+
<entry>
|
|
294
|
+
<id>tag:search.twitter.com,2005:93341901650001922</id>
|
|
295
|
+
<published>2011-07-19T15:30:18Z</published>
|
|
296
|
+
<link type="text/html" href="http://twitter.com/PepPrim/statuses/93341901650001922" rel="alternate"/>
|
|
297
|
+
<title>Històries x no dormir 3 - 'L'origen del planeta dels simis fotògrafs??': http://goo.gl/hkuZ9, #Copyright @La_EX_</title>
|
|
298
|
+
<content type="html">Històries x no dormir 3 - &apos;L&apos;origen del planeta dels simis fotògrafs??&apos;: <a href="http://goo.gl/hkuZ9">http://goo.gl/hkuZ9</a>, <a href="http://search.twitter.com/search?q=%23Copyright" onclick="pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#Copyright');">#Copyright</a> <a href="http://twitter.com/La_EX_">@La_EX_</a></content>
|
|
299
|
+
<updated>2011-07-19T15:30:18Z</updated>
|
|
300
|
+
<link type="image/png" href="http://a0.twimg.com/profile_images/1443620772/n8hlHRD8_normal" rel="image"/>
|
|
301
|
+
<twitter:geo>
|
|
302
|
+
</twitter:geo>
|
|
303
|
+
<twitter:metadata>
|
|
304
|
+
<twitter:result_type>recent</twitter:result_type>
|
|
305
|
+
</twitter:metadata>
|
|
306
|
+
<twitter:source><a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a></twitter:source>
|
|
307
|
+
<twitter:lang>eo</twitter:lang>
|
|
308
|
+
<author>
|
|
309
|
+
<name>PepPrim (Pep Prim)</name>
|
|
310
|
+
<uri>http://twitter.com/PepPrim</uri>
|
|
311
|
+
</author>
|
|
312
|
+
</entry>
|
|
313
|
+
</feed>
|
data/test/helper.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'bundler'
|
|
3
|
+
require 'minitest/autorun'
|
|
4
|
+
begin
|
|
5
|
+
Bundler.setup(:default, :development)
|
|
6
|
+
rescue Bundler::BundlerError => e
|
|
7
|
+
$stderr.puts e.message
|
|
8
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
|
9
|
+
exit e.status_code
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
#require 'minitest/test'
|
|
13
|
+
require 'shoulda'
|
|
14
|
+
|
|
15
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
16
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
17
|
+
require 'feedjira-redis'
|
|
18
|
+
|
|
19
|
+
DataMapper.setup(:default, {:adapter => 'redis'})
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
|
|
3
|
+
class TestFeedjiraRedis < Minitest::Test
|
|
4
|
+
include FeedjiraRedis
|
|
5
|
+
|
|
6
|
+
# Fakeweb reimplemented with symlinks! :-(
|
|
7
|
+
def use_feed(feed)
|
|
8
|
+
real_file = File.join(File.dirname(__FILE__), 'fixtures', "monkeys_#{feed.to_s}.atom")
|
|
9
|
+
symlink = File.join(File.dirname(__FILE__), 'fixtures', 'monkeys.atom')
|
|
10
|
+
File.delete symlink if File.symlink? symlink
|
|
11
|
+
File.symlink real_file, symlink
|
|
12
|
+
$feed_url = "file://#{symlink}"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def setup
|
|
16
|
+
Feed.all.destroy
|
|
17
|
+
Entry.all.destroy
|
|
18
|
+
use_feed(:old)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
context 'A feed' do
|
|
22
|
+
|
|
23
|
+
should 'can be saved with no arguments' do
|
|
24
|
+
redis_feed = Feed.new
|
|
25
|
+
redis_feed.save
|
|
26
|
+
assert Feed.count == 1
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
context 'fetch_and_parse' do
|
|
31
|
+
should 'create a feed' do
|
|
32
|
+
Feed.fetch_and_parse($feed_url)
|
|
33
|
+
assert Feed.count == 1
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
should 'return a feed object' do
|
|
37
|
+
feed = Feed.fetch_and_parse($feed_url)
|
|
38
|
+
assert feed.kind_of? Feed
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
should 'create some entries' do
|
|
42
|
+
FeedjiraRedis::Feed.fetch_and_parse($feed_url)
|
|
43
|
+
assert FeedjiraRedis::Feed.first.entries.size >= 0
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
should 'not create a second feed if an existing feed has identical feed_url' do
|
|
47
|
+
Feed.fetch_and_parse($feed_url)
|
|
48
|
+
assert Feed.count == 1
|
|
49
|
+
Feed.fetch_and_parse($feed_url)
|
|
50
|
+
assert Feed.count == 1
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
should 'add more entries for the same feed url' do
|
|
54
|
+
feed = Feed.fetch_and_parse($feed_url)
|
|
55
|
+
puts feed.entries.last.title
|
|
56
|
+
count_entries = feed.entries.count
|
|
57
|
+
use_feed(:new)
|
|
58
|
+
feed = Feed.fetch_and_parse($feed_url)
|
|
59
|
+
puts feed.entries.last.title
|
|
60
|
+
assert count_entries < feed.entries.count, "Expected increase from #{count_entries} to #{feed.entries.count} (total entries: #{Entry.count})"
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
context 'update' do
|
|
65
|
+
should 'update a single feed' do
|
|
66
|
+
feed = Feed.fetch_and_parse($feed_url)
|
|
67
|
+
count_entries = feed.entries.count
|
|
68
|
+
use_feed(:new)
|
|
69
|
+
feed = Feed.update(feed)
|
|
70
|
+
assert count_entries < feed.entries.count, "Expected increase from #{count_entries} to #{feed.entries.count} (total entries: #{Entry.count})"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: feedjira-redis
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Logan Koester
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: dm-redis-adapter
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '>='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '>='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: feedjira
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: i18n
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - '>='
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - '>='
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: shoulda
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - '>='
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: bundler
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - '>='
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - '>='
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: jeweler
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - '>='
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: 2.0.1
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - '>='
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 2.0.1
|
|
97
|
+
description: Dead simple feed persistence
|
|
98
|
+
email: logan@logankoester.com
|
|
99
|
+
executables: []
|
|
100
|
+
extensions: []
|
|
101
|
+
extra_rdoc_files:
|
|
102
|
+
- LICENSE.txt
|
|
103
|
+
- README.markdown
|
|
104
|
+
files:
|
|
105
|
+
- .document
|
|
106
|
+
- .rvmrc
|
|
107
|
+
- Gemfile
|
|
108
|
+
- Gemfile.lock
|
|
109
|
+
- LICENSE.txt
|
|
110
|
+
- README.markdown
|
|
111
|
+
- Rakefile
|
|
112
|
+
- VERSION
|
|
113
|
+
- feedjira-redis.gemspec
|
|
114
|
+
- lib/feedjira-redis.rb
|
|
115
|
+
- test/fixtures/monkeys_new.atom
|
|
116
|
+
- test/fixtures/monkeys_old.atom
|
|
117
|
+
- test/helper.rb
|
|
118
|
+
- test/test_feedjira-redis.rb
|
|
119
|
+
homepage: http://github.com/logankoester/feedjira-redis
|
|
120
|
+
licenses:
|
|
121
|
+
- MIT
|
|
122
|
+
metadata: {}
|
|
123
|
+
post_install_message:
|
|
124
|
+
rdoc_options: []
|
|
125
|
+
require_paths:
|
|
126
|
+
- lib
|
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - '>='
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
|
+
requirements:
|
|
134
|
+
- - '>='
|
|
135
|
+
- !ruby/object:Gem::Version
|
|
136
|
+
version: '0'
|
|
137
|
+
requirements: []
|
|
138
|
+
rubyforge_project:
|
|
139
|
+
rubygems_version: 2.0.14
|
|
140
|
+
signing_key:
|
|
141
|
+
specification_version: 4
|
|
142
|
+
summary: Dead simple feed persistance
|
|
143
|
+
test_files: []
|