Class RSS::Maker::ItemsBase
In: lib/rss/maker/trackback.rb
lib/rss/maker/dublincore.rb
lib/rss/maker/content.rb
lib/rss/maker/taxonomy.rb
lib/rss/maker/image.rb
lib/rss/maker/base.rb
Parent: Object

Methods

Included Modules

Base

Classes and Modules

Class RSS::Maker::ItemsBase::ItemBase

Attributes

do_sort  [RW] 
max_size  [RW] 

Public Class methods

[Source]

     # File lib/rss/maker/base.rb, line 416
416:       def initialize(maker)
417:         super
418:         @do_sort = false
419:         @max_size = -1
420:       end

Public Instance methods

[Source]

     # File lib/rss/maker/base.rb, line 430
430:       def current_element(rss)
431:         rss.items
432:       end

[Source]

     # File lib/rss/maker/base.rb, line 434
434:       def new_item
435:         item = self.class::Item.new(@maker)
436:         @items << item
437:         if block_given?
438:           yield item
439:         else
440:           item
441:         end
442:       end

[Source]

     # File lib/rss/maker/base.rb, line 422
422:       def normalize
423:         if @max_size >= 0
424:           sort_if_need[0...@max_size]
425:         else
426:           sort_if_need[0..@max_size]
427:         end
428:       end

Private Instance methods

[Source]

     # File lib/rss/maker/base.rb, line 445
445:       def sort_if_need
446:         if @do_sort.respond_to?(:call)
447:           @items.sort do |x, y|
448:             @do_sort.call(x, y)
449:           end
450:         elsif @do_sort
451:           @items.sort do |x, y|
452:             y <=> x
453:           end
454:         else
455:           @items
456:         end
457:       end

[Validate]