class QiitaTrend::Cache

Qiitaのトレンドをキャッシュする機能を提供する

Constants

DEFAULT_CACHE_DIRECTORY

キャッシュファイルが格納されるデフォルトのディレクトリ

Attributes

directory[R]

@return [String] キャッシュファイルを格納するディレクトリ(デフォルト値はDEFAULT_CACHE_DIRECTORYになります)

file_name[R]

@return [String] ファイル名

full_path[R]

@return [String] キャッシュファイルへのフルパス

Public Class Methods

new(file_name, directory = DEFAULT_CACHE_DIRECTORY) click to toggle source

コンストラクタ Cacheクラスのインスタンスを返します

@param [String] file_name ファイル名 @param [String] directory キャッシュが格納する・されているディレクトリ

# File lib/qiita_trend/cache.rb, line 21
def initialize(file_name, directory = DEFAULT_CACHE_DIRECTORY)
  @file_name = file_name
  @directory = directory
  @full_path = "#{directory}#{file_name}"
end

Public Instance Methods

cached?() click to toggle source

キャッシュファイルが存在するかどうかを判定します

@return [Boolean]

# File lib/qiita_trend/cache.rb, line 49
def cached?
  File.exist?(@full_path)
end
create_cache(content) click to toggle source

キャッシュファイルを作成する ※キャッシュフォルダが存在しない場合は作成します

@param [String] content 書き込む内容

# File lib/qiita_trend/cache.rb, line 31
def create_cache(content)
  Dir.mkdir(@directory) unless Dir.exist?(@directory)
  File.open(@full_path, 'wb') do |file|
    file.print(content)
  end
end
load_cache() click to toggle source

キャッシュファイルを読み込む File.openを使用しファイルを読み込みます

@return [Object]

# File lib/qiita_trend/cache.rb, line 42
def load_cache
  File.open(@full_path, 'r', &:read)
end