Class: MidwireCommon::DataFileCache
- Inherits:
-
Object
- Object
- MidwireCommon::DataFileCache
- Defined in:
- lib/midwire_common/data_file_cache.rb
Overview
A simple class to cache data in a file
Instance Method Summary collapse
- #age ⇒ Object
- #get ⇒ Object
-
#initialize(filename) ⇒ DataFileCache
constructor
A new instance of DataFileCache.
- #put(data) ⇒ Object
Constructor Details
#initialize(filename) ⇒ DataFileCache
Returns a new instance of DataFileCache.
6 7 8 9 10 |
# File 'lib/midwire_common/data_file_cache.rb', line 6 def initialize(filename) @cache_dir = File.dirname(filename) @cache_file = normalize_filename(filename) ensure_cache_dir end |
Instance Method Details
#age ⇒ Object
22 23 24 25 |
# File 'lib/midwire_common/data_file_cache.rb', line 22 def age return nil unless File.exists?(@cache_file) (Time.now - File.ctime(@cache_file)).to_f end |
#get ⇒ Object
18 19 20 |
# File 'lib/midwire_common/data_file_cache.rb', line 18 def get File.read(@cache_file) end |
#put(data) ⇒ Object
12 13 14 15 16 |
# File 'lib/midwire_common/data_file_cache.rb', line 12 def put(data) x = data.dup x = x.join("\n") if x.is_a? Array File.open(@cache_file, 'w') {|file| file.write(x)} end |