Sha256: d0c02187fb95e9d3c8a03b7ce2ba65b9d6c67a9e1cda6f59913e07af85117713
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
# frozen_string_literal: true module QiitaTrend # Qiitaのトレンドをキャッシュする機能を提供する class Cache # @return [String] ファイル名 attr_reader :file_name # @return [String] キャッシュファイルを格納するディレクトリ(デフォルト値はDEFAULT_CACHE_DIRECTORYになります) attr_reader :directory # @return [String] キャッシュファイルへのフルパス attr_reader :full_path # キャッシュファイルが格納されるデフォルトのディレクトリ DEFAULT_CACHE_DIRECTORY = "#{Dir.home}/qiita_cache/".freeze # コンストラクタ # Cacheクラスのインスタンスを返します # # @param [String] file_name ファイル名 # @param [String] directory キャッシュが格納する・されているディレクトリ def initialize(file_name, directory = DEFAULT_CACHE_DIRECTORY) @file_name = file_name @directory = directory @full_path = "#{directory}#{file_name}" end # キャッシュファイルを作成する # ※キャッシュフォルダが存在しない場合は作成します # # @param [String] content 書き込む内容 def create_cache(content) FileUtils.mkdir_p(@directory) File.open(@full_path, 'wb') do |file| file.print(content) end end # キャッシュファイルを読み込む # File.openを使用しファイルを読み込みます # # @return [Object] def load_cache File.read(@full_path, 'r', &:read) end # キャッシュファイルが存在するかどうかを判定します # # @return [Boolean] def cached? File.exist?(@full_path) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
qiita_trend-0.5.5 | lib/qiita_trend/cache.rb |