lib/qiita_trend/cache.rb in qiita_trend-0.2.8 vs lib/qiita_trend/cache.rb in qiita_trend-0.2.9

- old
+ new

@@ -1,36 +1,52 @@ # frozen_string_literal: true module QiitaTrend + # Qiitaのトレンドをキャッシュする機能を提供する class Cache - attr_reader :file_name, :directory, :full_path + # @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/' # コンストラクタ - # クラス内で使用するインスタンス変数をセットする + # 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) Dir.mkdir(@directory) unless Dir.exist?(@directory) File.open(@full_path, 'wb') do |file| file.print(content) end end # キャッシュファイルを読み込む + # File.openを使用しファイルを読み込みます + # + # @return [Object] def load_cache File.open(@full_path, 'r', &:read) end - # キャッシュファイルが存在するか? + # キャッシュファイルが存在するかどうかを判定します + # + # @return [Boolean] def cached? File.exist?(@full_path) end end end