Module: Indexmap::Path

Defined in:
lib/indexmap/path.rb

Constant Summary collapse

INDEX_FILENAME =
"sitemap.xml"
LEGACY_FILENAME =
"sitemap_index.xml"

Class Method Summary collapse

Class Method Details

.canonical_public_path(public_path: default_public_path_root, index_filename: default_index_filename) ⇒ Object



13
14
15
# File 'lib/indexmap/path.rb', line 13

def canonical_public_path(public_path: default_public_path_root, index_filename: default_index_filename)
  Pathname(public_path).join(index_filename)
end

.canonical_url(base_url, index_filename: default_index_filename) ⇒ Object



24
25
26
# File 'lib/indexmap/path.rb', line 24

def canonical_url(base_url, index_filename: default_index_filename)
  URI.join(base_url, "/#{index_filename}").to_s
end

.default_index_filenameObject



28
29
30
31
32
33
# File 'lib/indexmap/path.rb', line 28

def default_index_filename
  configured = Indexmap.configuration.index_filename
  configured.to_s.strip.empty? ? INDEX_FILENAME : configured
rescue
  INDEX_FILENAME
end

.default_public_path_rootObject



35
36
37
38
39
40
41
# File 'lib/indexmap/path.rb', line 35

def default_public_path_root
  if defined?(Rails)
    Rails.public_path
  else
    Pathname("public")
  end
end

.existing_public_path(public_path: default_public_path_root, index_filename: default_index_filename, legacy_filename: LEGACY_FILENAME) ⇒ Object



17
18
19
20
21
22
# File 'lib/indexmap/path.rb', line 17

def existing_public_path(public_path: default_public_path_root, index_filename: default_index_filename, legacy_filename: LEGACY_FILENAME)
  index_path = canonical_public_path(public_path: public_path, index_filename: index_filename)
  return index_path if index_path.exist?

  Pathname(public_path).join(legacy_filename)
end