Sha256: 5e5c87d1c7619fabec53009c99d20d81aed8eeb4ee78445f9a258b95235c8836
Contents?: true
Size: 945 Bytes
Versions: 5
Compression:
Stored size: 945 Bytes
Contents
module CouchPotato module Persistence def self.persistent_classes #:nodoc: @persistent_classes ||= [] end def self.reload_persistent_classes #:nodoc: persistent_classes.each do |clazz| eval clazz.name end end def self.included_with_class_reloading(base) #:nodoc: persistent_classes << base included_without_class_reloading(base) end class << self alias_method :included_without_class_reloading, :included alias_method :included, :included_with_class_reloading end end Database.class_eval do def load_document_with_class_reloading(id) Persistence.reload_persistent_classes load_document_without_class_reloading id end alias_method :load_document_without_class_reloading, :load_document alias_method :load_document, :load_document_with_class_reloading alias_method :load, :load_document end end
Version data entries
5 entries across 5 versions & 1 rubygems