Sha256: f0cdaa4f72f8cbf0eb9ee28f502503324b0c32d0828615bd84dc8aac3a0381e6
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
module ActiveFile class Base < ActiveHash::Base class_inheritable_accessor :filename, :root_path, :data_loaded class << self def all reload unless data_loaded super end def delete_all self.data_loaded = true super end def reload(force = false) return if !self.dirty && !force && self.data_loaded self.data_loaded = true self.data = load_file mark_clean end def set_filename(name) write_inheritable_attribute :filename, name end def set_root_path(path) write_inheritable_attribute :root_path, path end def load_file raise "Override Me" end def full_path root_path = read_inheritable_attribute(:root_path) || Dir.pwd filename = read_inheritable_attribute(:filename) || name.tableize File.join(root_path, "#{filename}.#{extension}") end def extension raise "Override Me" end protected :extension end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
active_hash-0.8.3 | lib/active_file/base.rb |
active_hash-0.8.2 | lib/active_file/base.rb |
active_hash-0.8.1 | lib/active_file/base.rb |