mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-23 03:56:22 +00:00
feat: poder obtener la ubicacion a partir de la key
This commit is contained in:
parent
5e6cbba28e
commit
3cd483bb79
3 changed files with 22 additions and 2 deletions
|
@ -15,6 +15,14 @@ module ActiveStorage
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Obtiene Blob#key desde la ubicación, la inversa de path_for
|
||||||
|
#
|
||||||
|
# @param :path [String,Pathname]
|
||||||
|
# @return [String]
|
||||||
|
def key_from_path(path)
|
||||||
|
Pathname.new(path).dirname.basename.to_s
|
||||||
|
end
|
||||||
|
|
||||||
# Solo copiamos el archivo si no existe
|
# Solo copiamos el archivo si no existe
|
||||||
#
|
#
|
||||||
# @param :key [String]
|
# @param :key [String]
|
||||||
|
@ -87,7 +95,15 @@ module ActiveStorage
|
||||||
# @param :key [String]
|
# @param :key [String]
|
||||||
# @return [String]
|
# @return [String]
|
||||||
def path_for(key)
|
def path_for(key)
|
||||||
File.join root, folder_for(key), filename_for(key)
|
File.join absolute_path_for(key), filename_for(key)
|
||||||
|
end
|
||||||
|
|
||||||
|
# La ruta absoluta del directorio donde se almacena el archivo
|
||||||
|
#
|
||||||
|
# @param :key [String]
|
||||||
|
# @return [String]
|
||||||
|
def absolute_path_for(key)
|
||||||
|
File.join root, folder_for(key)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [Site]
|
# @return [Site]
|
||||||
|
|
|
@ -88,7 +88,7 @@ class MetadataFile < MetadataTemplate
|
||||||
#
|
#
|
||||||
# @return [String]
|
# @return [String]
|
||||||
def key_from_path
|
def key_from_path
|
||||||
@key_from_path ||= pathname.dirname.basename.to_s
|
@key_from_path ||= site.blob_service.key_from_path(path: pathname)
|
||||||
end
|
end
|
||||||
|
|
||||||
def path?
|
def path?
|
||||||
|
|
|
@ -14,6 +14,10 @@ class Site
|
||||||
DELETED_STATUSES = %i[deleted].freeze
|
DELETED_STATUSES = %i[deleted].freeze
|
||||||
LOCALE_FROM_PATH = /\A_/.freeze
|
LOCALE_FROM_PATH = /\A_/.freeze
|
||||||
|
|
||||||
|
def blob_service
|
||||||
|
@blob_service ||= ActiveStorage::Service::JekyllService.build_for_site(site: self)
|
||||||
|
end
|
||||||
|
|
||||||
def index_posts!
|
def index_posts!
|
||||||
Site.transaction do
|
Site.transaction do
|
||||||
docs.each(&:index!)
|
docs.each(&:index!)
|
||||||
|
|
Loading…
Reference in a new issue