Class: Indexmap::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/indexmap/writer.rb

Constant Summary collapse

VALID_FORMATS =
%i[index single_file].freeze

Instance Method Summary collapse

Constructor Details

#initialize(public_path:, base_url:, sections: nil, entries: nil, index_filename: "sitemap.xml", format: :index) ⇒ Writer

Returns a new instance of Writer.



7
8
9
10
11
12
13
14
# File 'lib/indexmap/writer.rb', line 7

def initialize(public_path:, base_url:, sections: nil, entries: nil, index_filename: "sitemap.xml", format: :index)
  @entries = normalize_entries(entries)
  @format = normalize_format(format)
  @sections = normalize_sections(sections)
  @public_path = Pathname(public_path)
  @base_url = base_url
  @index_filename = index_filename
end

Instance Method Details

#writeObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/indexmap/writer.rb', line 16

def write
  FileUtils.mkdir_p(public_path)

  return public_path.join(index_filename).write(urlset_xml(entries)) if single_file?

  sections.each do |section|
    public_path.join(section.filename).write(urlset_xml(section.entries))
  end

  public_path.join(index_filename).write(index_xml(sections))
end