Module RSS::BaseTrackBackModel
In: rss/trackback.rb

Methods

Public Instance methods

[Source]

# File rss/trackback.rb, line 13
    def trackback_validate(tags)
      counter = {}
      %w(ping about).each do |x|
        counter["#{TRACKBACK_PREFIX}_#{x}"] = 0
      end

      tags.each do |tag|
        key = "#{TRACKBACK_PREFIX}_#{tag}"
        raise UnknownTagError.new(tag, TRACKBACK_URI) unless counter.has_key?(key)
        counter[key] += 1
        if tag != "about" and counter[key] > 1
          raise TooMuchTagError.new(tag, tag_name)
        end
      end

      if counter["#{TRACKBACK_PREFIX}_ping"].zero? and
          counter["#{TRACKBACK_PREFIX}_about"].nonzero?
        raise MissingTagError.new("#{TRACKBACK_PREFIX}:ping", tag_name)
      end
    end

[Validate]