Class: Indexmap::TaskRunner

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

Instance Method Summary collapse

Constructor Details

#initialize(configuration: Indexmap.configuration) ⇒ TaskRunner

Returns a new instance of TaskRunner.



7
8
9
# File 'lib/indexmap/task_runner.rb', line 7

def initialize(configuration: Indexmap.configuration)
  @configuration = configuration
end

Instance Method Details

#createObject



11
12
13
14
15
16
17
# File 'lib/indexmap/task_runner.rb', line 11

def create
  written_files = Indexmap.create(configuration: configuration)
  index_now_key_filename = write_index_now_key if configuration.index_now.write_key_file?
  configuration.run_after_create_callbacks

  {files: written_files.map(&:to_s), written_files: written_files, index_now_key_filename: index_now_key_filename}
end

#formatObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/indexmap/task_runner.rb', line 19

def format
  sitemap_files.each do |filename|
    content = storage.read(filename)
    document = Nokogiri::XML(
      content,
      nil,
      nil,
      Nokogiri::XML::ParseOptions::DEFAULT_XML | Nokogiri::XML::ParseOptions::NOBLANKS
    )
    save_options = Nokogiri::XML::Node::SaveOptions::FORMAT | Nokogiri::XML::Node::SaveOptions::AS_XML

    storage.write(filename, document.to_xml(indent: 2, save_with: save_options), content_type: "application/xml")
  end

  sitemap_files
end

#storageObject



48
49
50
# File 'lib/indexmap/task_runner.rb', line 48

def storage
  configuration.storage
end

#validateObject



36
37
38
39
# File 'lib/indexmap/task_runner.rb', line 36

def validate
  Validator.new(configuration: configuration).validate!
  sitemap_files
end

#write_index_now_key(generate_if_missing: false) ⇒ Object



41
42
43
44
45
46
# File 'lib/indexmap/task_runner.rb', line 41

def write_index_now_key(generate_if_missing: false)
  pinger = Pinger::IndexNow.new(configuration: configuration)
  return pinger.ensure_key_file if generate_if_missing

  pinger.write_key_file
end