class Alchemy::Custom::Model::ElFinder::Paths::ActiveRecordReference
Constants
- URI_SPACER
Public Class Methods
file_to_uri(p)
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 33 def self.file_to_uri(p) #p.to_global_id.uri.to_s.gsub(/^gid\:\/\//,'') "#{p.id}#{URI_SPACER}" end
Public Instance Methods
active_record_class()
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 16 def active_record_class raise "ToOverride" end
active_record_instance()
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 24 def active_record_instance return @_active_record_instance if @_active_record_instance id = self.path.basename.to_s.split(URI_SPACER).first @_active_record_instance = self.active_record_class.find(id) # gid = "gid://#{self.path.basename.to_s}"#.split(URI_SPACER) # @_active_record_instance = GlobalID::Locator.locate gid# self.active_record_class.find(id) end
active_record_instance=(v)
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 20 def active_record_instance=(v) @_active_record_instance = v end
directory?()
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 12 def directory? false end
file()
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 47 def file active_record_instance.file end
file?()
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 8 def file? true end
fisical_path()
click to toggle source
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 51 def fisical_path file.path end
mtime()
click to toggle source
Identifichiamo la data di modifica del file con la data di modifica del record, in questo modo la cache che viene generata attraverso l'inserimento di un parametro nella query con il valore t=orario non andrĂ ad essere aggiornato ad ogni refresh, anche solo a livello di browser nel caso abbiamo problemi usiamo lo standard
# File lib/alchemy/custom/model/el_finder/paths/active_record_reference.rb, line 43 def mtime active_record_instance.updated_at rescue super end