dynarex 1.1.30 → 1.1.31
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/dynarex.rb +13 -4
- metadata +1 -1
data/lib/dynarex.rb
CHANGED
@@ -283,13 +283,22 @@ EOF
|
|
283
283
|
def to_rss(opt={}, xslt=nil)
|
284
284
|
|
285
285
|
unless xslt then
|
286
|
+
|
286
287
|
h = {limit: 11}.merge(opt)
|
287
288
|
doc = Rexle.new(self.to_xslt)
|
288
289
|
e = doc.element('//xsl:apply-templates[2]')
|
289
|
-
v = e.attributes[:select]
|
290
|
-
e.attributes[:select] = v + "[position() < #{h[:limit]}]"
|
291
290
|
doc2 = Rexle.new "<xsl:sort order='descending' data-type='number' select='@id'/>"
|
292
|
-
e.add doc2.root
|
291
|
+
e.add doc2.root
|
292
|
+
|
293
|
+
e2 = doc.root.element('xsl:template[3]')
|
294
|
+
item = e2.element('item')
|
295
|
+
new_item = item.deep_clone
|
296
|
+
item.delete
|
297
|
+
|
298
|
+
xslif = Rexle.new("<xsl:if test='position() < #{h[:limit]}'/>").root
|
299
|
+
e2.add xslif.root
|
300
|
+
xslif.add new_item
|
301
|
+
|
293
302
|
xslt = doc.xml
|
294
303
|
end
|
295
304
|
|
@@ -562,4 +571,4 @@ EOF
|
|
562
571
|
end
|
563
572
|
end
|
564
573
|
|
565
|
-
end
|
574
|
+
end
|