Sha256: c8fee195ca1145113b8fd6b6205220cb794c17510a85491387ffb66c778f9a8b
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
# frozen_string_literal: true module QiitaTrend class Cache attr_reader :file_name, :directory, :full_path # キャッシュファイルが格納されるデフォルトのディレクトリ DEFAULT_CACHE_DIRECTORY = File.expand_path('../..', __dir__) + '/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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
qiita_trend-0.2.2 | lib/qiita_trend/cache.rb |
qiita_trend-0.2.1 | lib/qiita_trend/cache.rb |