lib/qiita_trend/page.rb in qiita_trend-0.2.0 vs lib/qiita_trend/page.rb in qiita_trend-0.2.1

- old
+ new

@@ -2,18 +2,40 @@ require 'mechanize' module QiitaTrend class Page - attr_reader :page, :html + attr_reader :html QIITA_URI = 'https://qiita.com/' def initialize(ua) + @html = create_html(ua) + end + + private + + def create_html(ua) + # キャッシュが存在する場合はキャッシュから取得 + cache = QiitaTrend::Cache.new(target_trend + '.html') + return cache.load_cache if cache.cached? + + # キャッシュが存在しない場合はキャッシュを作成しページ情報を取得する agent = Mechanize.new agent.user_agent_alias = ua + page = agent.get QIITA_URI + cache.create_cache(page.body) - @page = agent.get QIITA_URI - @html = @page.body + page.body + end + + def target_trend + if Time.now.hour >= 5 && Time.now.hour < 17 + Date.today.strftime('%Y%m%d') + '05' + elsif Time.now.hour >= 17 + Date.today.strftime('%Y%m%d') + '17' + elsif Time.now.hour < 5 + (Date.today - 1).strftime('%Y%m%d') + '17' + end end end end