Class: MidwireCommon::DataFileCache

Inherits:
Object
  • Object
show all
Defined in:
lib/midwire_common/data_file_cache.rb

Overview

A simple class to cache data in a file

Instance Method Summary collapse

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

#ageObject



22
23
24
25
# File 'lib/midwire_common/data_file_cache.rb', line 22

def age
  return 99999999.0 unless File.exists?(@cache_file)
  (Time.now - File.ctime(@cache_file)).to_f
end

#getObject



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