lib/qiita_trend/trend.rb in qiita_trend-0.5.1 vs lib/qiita_trend/trend.rb in qiita_trend-0.5.2

- 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="HomeIndexPage"]' + xpath_str = get_xpath(trend_type) trends_data = JSON.parse(parsed_html.xpath(xpath_str)[0].text) @data = get_data(trends_data, trend_type) end # Qiitaの対象のトレンドをすべて取得 @@ -56,9 +56,17 @@ trend['is_new_arrival'] == true end end private + + # Qiitaのトレンド情報を格納しているxpathを取得する + # + # @param [TrendType] trend_type トレンドタイプ + # @return [String] トレンドタイプによるxpath + def get_xpath(trend_type) + trend_type == TrendType::PERSONAL ? '//script[@data-component-name="New2HomeIndexPage"]' : '//script[@data-component-name="HomeIndexPage"]' + end # Qiitaのトレンドのデータを取得する # # @param [Hash] trends_data トレンドデータ # @param [TrendType] trend_type トレンドタイプ