lib/qiita_trend/trend.rb in qiita_trend-0.3.0 vs lib/qiita_trend/trend.rb in qiita_trend-0.3.1
- old
+ new
@@ -30,11 +30,11 @@
def items
@data.each_with_object([]) do |trend, value|
result = {}
result['title'] = trend['node']['title']
result['user_name'] = trend['node']['author']['urlName']
- result['user_image'] = trend['node']['author']['profileImageUrl']
+ result['user_image'] = user_image(trend['node']['author']['profileImageUrl'])
result['user_page'] = "#{Page::QIITA_URI}#{trend['node']['author']['urlName']}"
result['article'] = "#{Page::QIITA_URI}#{trend['node']['author']['urlName']}/items/#{trend['node']['uuid']}"
result['created_at'] = trend['node']['createdAt']
result['likes_count'] = trend['node']['likesCount']
result['is_new_arrival'] = trend['isNewArrival']
@@ -47,8 +47,21 @@
# @return [Array] Qiitaの対象のトレンドからNEWのものだけ
def new_items
items.select do |trend|
trend['is_new_arrival'] == true
end
+ end
+
+ private
+
+ # ユーザーの画像のURLを取得する
+ # URLデコードしimgix(画像ファイルの配信向けに特化したCDNサービス)のURLを排除した形で返す
+ #
+ # @return [String] ユーザーの画像のURL
+ def user_image(url)
+ # URLデコード
+ unescape_url = CGI.unescape(url)
+ # imgixのURLからユーザーの画像のURLへ変換する
+ unescape_url.gsub!('https://qiita-user-profile-images.imgix.net/', '')
end
end
end