Sha256: e2c40c74c2cfee9ccea3797d619ed4b73e34834eb935eed4f149c71efdde1d46
Contents?: true
Size: 1.29 KB
Versions: 5
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true module QiitaTrend class Cache attr_reader :file_name, :directory, :full_path # キャッシュファイルが格納されるデフォルトのディレクトリ DEFAULT_CACHE_DIRECTORY = Dir.home + '/qiita_cache/' # コンストラクタ # クラス内で使用するインスタンス変数をセットする def initialize(file_name, directory = DEFAULT_CACHE_DIRECTORY) @file_name = file_name @directory = directory @full_path = "#{directory}#{file_name}" end # キャッシュファイルを作成する # キャッシュフォルダが存在しない時は作成する def create_cache(content) Dir.mkdir(@directory) unless Dir.exist?(@directory) File.open(@full_path, 'wb') do |file| file.print(content) end end # キャッシュファイルを読み込む def load_cache File.open(@full_path, 'r', &:read) end # キャッシュファイルが存在するか? def cached? File.exist?(@full_path) end # キャッシュファイルをクリアする def clear_cache File.delete(@full_path) if cached? rescue StandardError => e raise e.class, 'キャッシュファイルの削除に失敗しました' end end end
Version data entries
5 entries across 5 versions & 1 rubygems