qiita_trend 0.3.0 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +5 -0
- data/lib/qiita_trend/trend.rb +19 -1
- data/lib/qiita_trend/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e74aadb2bce6f5771bebadc4bf48a9edb09c621e33ff95c239da3d458d87264
|
4
|
+
data.tar.gz: 6fc7f0c9c2a9543025ddd74d25ee6c205fdf256adf83fd808a7d7923dc4a21ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20fd415c7ae5685333264565899c36845449a807eb2ac900acae3849ce81b2770a59d5b1d6efe141677b9f8b40bc6d6c69c74ca9b254f3095f1e90af5d3c4e50
|
7
|
+
data.tar.gz: f3412f29aac75eebf1b5a799571af7bb023a33f4ec71aa726993de44cdfd37e6784724efc0666e4ed1213f999c63479560cc4944ebbb15bc141bb0c04dd8ffd8
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -9,6 +9,7 @@ Qiitaのトレンドを10秒で取得することができます
|
|
9
9
|
## 概要
|
10
10
|
|
11
11
|
- [Qiita](https://qiita.com/)のTOPページをスクレイピングしDaily、Weekly、Monthlyのトレンドを取得します
|
12
|
+
- [Qiita](https://qiita.com/)のAPIにトレンドを取得する方法がないため
|
12
13
|
- トレンドはDaily、Weekly、Monthlyそれぞれを日付と更新時間(5時と17時)の組み合わせごとにキャッシュを行います
|
13
14
|
- Weekly、Monthlyに関してはQiitaにログインしないと取得できないためユーザー名とパスワード設定する必要があります(Dailyに関しては何も設定しなくても取得できます)
|
14
15
|
- 過去のトレンドを取得することができます(**あくまでもキャッシュファイルから復元するためキャッシュファイルの無い過去のトレンドは取得することができません**)
|
@@ -249,3 +250,7 @@ QiitaTrend.configure do |config|
|
|
249
250
|
config.cache_directory = Dir.home + '/hoge/'
|
250
251
|
end
|
251
252
|
```
|
253
|
+
|
254
|
+
## 注意
|
255
|
+
|
256
|
+
このgemは勉強用で作成したものでソースにはアンチパターンなコメント(処理を説明するようなコメントなど)が書かれています。そこはご容赦ください
|
data/lib/qiita_trend/trend.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'nokogiri'
|
4
4
|
require 'open-uri'
|
5
5
|
require 'json'
|
6
|
+
require 'uri'
|
6
7
|
|
7
8
|
module QiitaTrend
|
8
9
|
# Qiitaのトレンドの機能を提供する
|
@@ -32,7 +33,7 @@ module QiitaTrend
|
|
32
33
|
result = {}
|
33
34
|
result['title'] = trend['node']['title']
|
34
35
|
result['user_name'] = trend['node']['author']['urlName']
|
35
|
-
result['user_image'] = trend['node']['author']['profileImageUrl']
|
36
|
+
result['user_image'] = user_image(trend['node']['author']['profileImageUrl'])
|
36
37
|
result['user_page'] = "#{Page::QIITA_URI}#{trend['node']['author']['urlName']}"
|
37
38
|
result['article'] = "#{Page::QIITA_URI}#{trend['node']['author']['urlName']}/items/#{trend['node']['uuid']}"
|
38
39
|
result['created_at'] = trend['node']['createdAt']
|
@@ -50,5 +51,22 @@ module QiitaTrend
|
|
50
51
|
trend['is_new_arrival'] == true
|
51
52
|
end
|
52
53
|
end
|
54
|
+
|
55
|
+
private
|
56
|
+
|
57
|
+
# ユーザーの画像のURLを取得する
|
58
|
+
# URLデコードしimgix(画像ファイルの配信向けに特化したCDNサービス)のURLを排除する
|
59
|
+
# クエリーパラメータも排除する
|
60
|
+
#
|
61
|
+
# @return [String] ユーザーの画像のURL
|
62
|
+
def user_image(url)
|
63
|
+
# URLデコード
|
64
|
+
unescape_url = CGI.unescape(url)
|
65
|
+
# imgixのURLからユーザーの画像のURLへ変換する
|
66
|
+
exclusion_imgix = unescape_url.gsub!('https://qiita-user-profile-images.imgix.net/', '')
|
67
|
+
# クエリパラーメーを除いた形で返す
|
68
|
+
parse_url = URI.parse(exclusion_imgix)
|
69
|
+
"#{parse_url.scheme}://#{parse_url.host}#{parse_url.path}"
|
70
|
+
end
|
53
71
|
end
|
54
72
|
end
|
data/lib/qiita_trend/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qiita_trend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dodonki1223
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|