lib/qiita_trend/trend.rb in qiita_trend-0.5.0 vs lib/qiita_trend/trend.rb in qiita_trend-0.5.1
- old
+ new
@@ -20,11 +20,11 @@
# @raise [NotExistsCacheError] 存在しないキャッシュファイルを指定した時に発生する
def initialize(trend_type = TrendType::NORMAL, date = nil)
@trend_type = trend_type
page = Page.new(trend_type, date)
parsed_html = Nokogiri::HTML.parse(page.html)
- xpath_str = "//script[@data-component-name=\"#{data_component_name(trend_type)}\"]"
+ xpath_str = '//script[@data-component-name="HomeIndexPage"]'
trends_data = JSON.parse(parsed_html.xpath(xpath_str)[0].text)
@data = get_data(trends_data, trend_type)
end
# Qiitaの対象のトレンドをすべて取得
@@ -57,24 +57,16 @@
end
end
private
- # QiitaのトレンドのFeed名を取得する
- #
- # @param [TrendType] trend_type トレンドタイプ
- # @return [String] トレンドタイプによるFeed名
- def data_component_name(trend_type)
- trend_type == TrendType::PERSONAL ? 'HomeIndexPage' : 'HomeArticleTrendFeed'
- end
-
# Qiitaのトレンドのデータを取得する
#
# @param [Hash] trends_data トレンドデータ
# @param [TrendType] trend_type トレンドタイプ
# @return [Array] トレンドタイプによるトレンドデータ
def get_data(trends_data, trend_type)
- trend_type == TrendType::PERSONAL ? trends_data['personalizedFeed']['personalizedFeed']['edges'] : trends_data['trend']['edges']
+ trend_type == TrendType::PERSONAL ? trends_data['personalizedFeed']['personalizedFeed']['edges'] : trends_data['trend']['trend']['edges']
end
# ユーザーの画像のURLを取得する
# URLデコードしクエリーパラメータを排除する
#