Sha256: e56ba4ce67e9d43331603d52cb6445e4329dfc44b5c0e8375b685d80d8ec2f76

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

require 'massive_sitemap/writer/file'
require 'massive_sitemap/writer/gzip_file'
require 'massive_sitemap/builder/rotating'
require 'massive_sitemap/builder/index'
require 'massive_sitemap/ping'

# Page at -> <url>
# http://example.de/dir/

# Index at -> <index_url>
# http://sitemap.example.de/index-dir/

# Save at -> <root>
# /root/dir/ ->  <document_root>/<document_path>

module MassiveSitemap
  DEFAULTS = {
    # global
    :index_url       => nil,
    :gzip            => false,
    :writer          => MassiveSitemap::Writer::File,

    # writer
    :root            => '.',
    :force_overwrite => false,
    :filename        => "sitemap.xml",
    :index_filename  => "sitemap_index.xml",

    # builder
    :url             => nil,
    :indent_by       => 2,
  }

  def generate(options = {}, &block)
    @options = DEFAULTS.merge options

    unless @options[:url]
      raise ArgumentError, 'you must specify ":url" string'
    end
    @options[:index_url] ||= @options[:url]

    @options[:writer] = Writer::GzipFile if @options[:gzip]

    @writer = @options[:writer].new @options
    Builder::Rotating.generate(@writer, @options, &block)

    @writer.init!(:filename => @options[:index_filename], :force_overwrite => true)
    Builder::Index.generate(@writer, @options.merge(:url => @options[:index_url]))
  end
  module_function :generate

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
massive_sitemap-2.0.0.rc3 lib/massive_sitemap.rb