class DictCache::Cache

Public Class Methods

clear() click to toggle source
# File lib/dict_cache/cache.rb, line 15
def clear
  `rm -rf #{cache_folder}/*`
end
date_cache(date=nil) click to toggle source
# File lib/dict_cache/cache.rb, line 4
def date_cache(date=nil)
  @date = date
  file = [cache_folder, cache_file].join('/')
  if File.exist? file
    puts File.read(file)
  else
    warn "No cache at date: #{@date}"
    exit 1
  end
end
with_cache() { || ... } click to toggle source
# File lib/dict_cache/cache.rb, line 19
def with_cache
  folder = cache_folder
  tty_file = [folder, tty_buffer].join('/')
  $stdout = File.new(tty_file, 'w')
  yield
  $stdout.flush
  $stdout = STDOUT
  translate_text = File.read(tty_file)
  puts translate_text
  file = [folder, cache_file].join('/')
  File.open(file, 'a') { |f| f.puts translate_text + "\n" }
end

Private Class Methods

cache_file() click to toggle source
# File lib/dict_cache/cache.rb, line 40
def cache_file
  @date ||= Time.now.localtime.strftime("%Y-%m-%d")
  @date + '.txt'
end
cache_folder() click to toggle source
# File lib/dict_cache/cache.rb, line 34
def cache_folder
  folder = File.expand_path('~/.dict_cache')
  Dir.mkdir(folder) unless File.directory?(folder)
  folder
end
tty_buffer() click to toggle source
# File lib/dict_cache/cache.rb, line 45
def tty_buffer
  '.tty'
end