Sha256: 5e37720e842dc7645177c551cae4713ef88f8ab2a95a82c6e0d91b307d83a077

Contents?: true

Size: 1.28 KB

Versions: 13

Compression:

Stored size: 1.28 KB

Contents

class Knj::Google_sitemap
  attr_reader :doc
  
  def initialize(args = {})
    @args = args
    
    #used for Time.iso8601.
    require "time"
    
    @doc = REXML::Document.new
    @doc << REXML::XMLDecl.new("1.0", "UTF-8")
    
    @urlset = @doc.add_element("urlset")
    @urlset.add_attributes("xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9")
  end
  
  def add_url(url_value, lastmod_value, cf_value = nil, priority_value = nil)
    el = REXML::Element.new("url")
    
    loc = el.add_element("loc")
    loc.text = url_value
    
    if !lastmod_value or lastmod_value.to_i == 0
      raise sprintf("Invalid date: %1$s, url: %2$s", lastmod_value.to_s, url_value)
    end
    
    lm = el.add_element("lastmod")
    if @args.key?(:date_min) and @args[:date_min] > lastmod_value
      lastmod_value = @args[:date_min]
    end
    
    lm.text = lastmod_value.iso8601
    
    if cf_value
      cf = el.add_element("changefreq")
      cf.text = cf_value
    end
    
    if priority_value
      priority = el.add_element("priority")
      priority.text = priority_value
    end
    
    @doc.root << el
  end
  
  def to_xml
    return @doc.to_s
  end
  
  def to_s
    return @doc.to_s
  end
  
  def write
    writer = REXML::Formatters::Pretty.new(5)
    writer.write(@doc, $stdout)
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
knjrbfw-0.0.21 lib/knj/google_sitemap.rb
knjrbfw-0.0.20 lib/knj/google_sitemap.rb
knjrbfw-0.0.19 lib/knj/google_sitemap.rb
knjrbfw-0.0.18 lib/knj/google_sitemap.rb
knjrbfw-0.0.17 lib/knj/google_sitemap.rb
knjrbfw-0.0.16 lib/knj/google_sitemap.rb
knjrbfw-0.0.15 lib/knj/google_sitemap.rb
knjrbfw-0.0.14 lib/knj/google_sitemap.rb
knjrbfw-0.0.13 lib/knj/google_sitemap.rb
knjrbfw-0.0.12 lib/knj/google_sitemap.rb
knjrbfw-0.0.11 lib/knj/google_sitemap.rb
knjrbfw-0.0.10 lib/knj/google_sitemap.rb
knjrbfw-0.0.9 lib/knj/google_sitemap.rb