class QiitaTrend::Target
Qiitaの対象のトレンドの機能を提供する
Attributes
cache[R]
@return [String] キャッシュファイル名
need_login[R]
@return [Boolean] Qiitaへのログインが必要かどうか
type[R]
@return [TrendType] トレンドタイプ(TrendType::DAILY,TrendType::WEEKLY,TrendType::MONTHLY)
url[R]
@return [String] トレンドを取得するQiitaのページURL
Public Class Methods
new(trend_type = TrendType::NORMAL, date = nil)
click to toggle source
コンストラクタ
@param [TrendType] trend_type トレンドタイプ @param [String] date 「YYYYMMDD05」,「YYYYMMDD17」形式のどちらか
# File lib/qiita_trend/target.rb, line 19 def initialize(trend_type = TrendType::NORMAL, date = nil) @type = trend_type @url = trend_url @need_login = need_login?(trend_type) @cache = cache_name(trend_type, date) end
Private Instance Methods
cache_name(type, date)
click to toggle source
キャッシュ名を取得する キャシュ名はYYYYMMDD05_daily.html,YYYYMMDD17_weekly.htmlなどの形式になります dateが指定されていなかったら現在時刻からキャッシュファイル名を作成し指定されていたらそのdateからキャッシュ名を取得する
@param [TrendType] type トレンドタイプ @param [String] date 「YYYYMMDD05」,「YYYYMMDD17」形式のどちらか
# File lib/qiita_trend/target.rb, line 49 def cache_name(type, date) return "#{date}_#{type}.html" unless date.nil? if Time.now.hour >= 5 && Time.now.hour < 17 "#{Date.today.strftime('%Y%m%d')}05_#{type}.html" elsif Time.now.hour >= 17 "#{Date.today.strftime('%Y%m%d')}17_#{type}.html" elsif Time.now.hour < 5 "#{(Date.today - 1).strftime('%Y%m%d')}17_#{type}.html" end end
need_login?(trend_type)
click to toggle source
Qiitaにログインが必要か
@param [TrendType] trend_type トレンドタイプ @return [Boolean] True:Qiitaへログインが必要、False:Qiitaへログイン不要
# File lib/qiita_trend/target.rb, line 39 def need_login?(trend_type) trend_type != TrendType::NORMAL end
trend_url()
click to toggle source
トレンドのURLを取得する
@return [String] トレンドを取得するQiitaのページURL
# File lib/qiita_trend/target.rb, line 31 def trend_url Page::QIITA_URI end