qiita_trend 0.3.6 → 0.4.1
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/.circleci/config.yml +94 -28
- data/.rubocop.yml +35 -7
- data/.ruby-version +1 -0
- data/Gemfile.lock +65 -50
- data/README.md +1 -1
- data/lib/qiita_trend/page.rb +2 -1
- data/lib/qiita_trend/trend.rb +2 -5
- data/lib/qiita_trend/version.rb +1 -1
- data/qiita_trend.gemspec +12 -9
- metadata +79 -37
- data/qiita_trend.gif +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: deb236394c618fe2b5eb7291ed6a26201b24e2009f13d5f7f5b3b424eb735879
|
4
|
+
data.tar.gz: 5db6ade791a700afdd49d4ad9cf4d8794affa7cc0c817378171e753a690d7bc2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2b6f9bd38e0afb27ccdc703267a74d70eefaf523faeb348e410cdc2b6a5279657584e2b95aa276434a4b721c1e7e65e4a611fef72689015a9e83fdfc428cfb0
|
7
|
+
data.tar.gz: 241e713d4d1dfc6ca893ff1c8e65df476f6183817d409b211dffb303d0cc45312657f11324bfc460aa985dcdea4baa4618c8c42cfdade196aa6d75432a074f56
|
data/.circleci/config.yml
CHANGED
@@ -1,24 +1,22 @@
|
|
1
1
|
version: 2.1
|
2
|
+
orbs:
|
3
|
+
slack: circleci/slack@3.4.2
|
2
4
|
executors:
|
3
5
|
base:
|
4
6
|
docker:
|
5
7
|
- image: circleci/ruby:2.6.0
|
6
8
|
environment:
|
7
|
-
|
8
|
-
|
9
|
+
# Bundlerのパス設定が書き換えられ`vendor/bundle`ではなくて`/usr/local/bundle`を参照してしまい`bundle exec`でエラーになる
|
10
|
+
# Bundlerのconfigファイル(pathの設定がされたもの)をworkspaceで永続化し`vendor/bundle`を参照するようにするための設定
|
11
|
+
BUNDLE_APP_CONFIG: .bundle
|
12
|
+
working_directory: ~/dodonki1223/qiita_trend
|
9
13
|
|
10
14
|
commands:
|
11
|
-
# ref:https://discuss.circleci.com/t/using-bundler-2-0-during-ci-fails/27411
|
12
15
|
install-bundler:
|
13
16
|
steps:
|
14
17
|
- run:
|
15
|
-
name: Install
|
16
|
-
command:
|
17
|
-
echo 'export BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")' >> $BASH_ENV
|
18
|
-
source $BASH_ENV
|
19
|
-
gem install bundler
|
20
|
-
# Which version of bundler?
|
21
|
-
bundle -v
|
18
|
+
name: Install bundler(2.1.0)
|
19
|
+
command: gem install bundler:2.1.0
|
22
20
|
|
23
21
|
# Read about caching dependencies: https://circleci.com/docs/2.0/caching/
|
24
22
|
restore-gem-cache:
|
@@ -44,6 +42,19 @@ commands:
|
|
44
42
|
- ./vendor/bundle
|
45
43
|
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
46
44
|
|
45
|
+
save-workspace:
|
46
|
+
steps:
|
47
|
+
- persist_to_workspace:
|
48
|
+
# working_directory からの相対パスか絶対パスを指定します
|
49
|
+
root: .
|
50
|
+
paths: .
|
51
|
+
|
52
|
+
using-workspace:
|
53
|
+
steps:
|
54
|
+
- attach_workspace:
|
55
|
+
# working_directory からの相対パスか絶対パスを指定します
|
56
|
+
at: .
|
57
|
+
|
47
58
|
run-rubocop:
|
48
59
|
steps:
|
49
60
|
- run:
|
@@ -64,13 +75,6 @@ commands:
|
|
64
75
|
--format progress \
|
65
76
|
$TEST_FILES
|
66
77
|
|
67
|
-
create-document:
|
68
|
-
steps:
|
69
|
-
- run:
|
70
|
-
name: Create document
|
71
|
-
command: |
|
72
|
-
bundle exec yard
|
73
|
-
|
74
78
|
collect-reports:
|
75
79
|
steps:
|
76
80
|
# ref:https://circleci.com/docs/ja/2.0/configuration-reference/#store_test_results
|
@@ -84,23 +88,51 @@ commands:
|
|
84
88
|
# カバレッジの結果をcoverage-resultsディレクトリに吐き出す
|
85
89
|
path: coverage
|
86
90
|
destination: coverage-results
|
91
|
+
|
92
|
+
create-document:
|
93
|
+
steps:
|
94
|
+
- run:
|
95
|
+
name: Create document
|
96
|
+
command: |
|
97
|
+
bundle exec yard
|
87
98
|
- store_artifacts:
|
88
99
|
# ドキュメントの結果をyard-resultsディレクトリに吐き出す
|
89
100
|
path: ./doc
|
90
101
|
destination: yard-results
|
91
102
|
|
92
|
-
# Deploy RubyGems
|
93
103
|
deploy-rubygems:
|
94
104
|
steps:
|
105
|
+
# ref:https://support.circleci.com/hc/ja/articles/115015628247-%E6%8E%A5%E7%B6%9A%E3%82%92%E7%B6%9A%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B-%E3%81%AF%E3%81%84-%E3%81%84%E3%81%84%E3%81%88-
|
106
|
+
# read/write両方の権限が必要
|
107
|
+
- add_ssh_keys:
|
108
|
+
fingerprints:
|
109
|
+
- "38:d2:72:5e:9f:67:93:9a:ec:95:94:a2:0e:bf:41:9e"
|
110
|
+
|
111
|
+
# ref:https://circleci.com/docs/2.0/gh-bb-integration/#establishing-the-authenticity-of-an-ssh-host
|
112
|
+
- run:
|
113
|
+
name: Avoid hosts unknown for github
|
114
|
+
command: |
|
115
|
+
mkdir -p ~/.ssh
|
116
|
+
echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
117
|
+
bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
|
118
|
+
' >> ~/.ssh/known_hosts
|
119
|
+
|
95
120
|
- run:
|
96
121
|
name: Deploy RubyGems
|
97
122
|
command: |
|
98
|
-
curl -u dodonki1223:$RUBYGEMS_PASSWORD https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials
|
123
|
+
curl -u dodonki1223:$RUBYGEMS_PASSWORD https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials
|
124
|
+
chmod 0600 ~/.gem/credentials
|
99
125
|
git config user.name dodonki1223
|
100
126
|
git config user.email $RUBYGEMS_EMAIL
|
101
127
|
bundle exec rake build
|
102
128
|
bundle exec rake release
|
103
129
|
|
130
|
+
deploy-notification:
|
131
|
+
steps:
|
132
|
+
- slack/status:
|
133
|
+
success_message: ':circleci-pass: RubyGemsにデプロイが完了しました\n:github_octocat: User: $CIRCLE_USERNAME'
|
134
|
+
failure_message: ':circleci-fail: RubyGemsにデプロイが失敗しました\n:github_octocat: User: $CIRCLE_USERNAME'
|
135
|
+
|
104
136
|
jobs:
|
105
137
|
setup:
|
106
138
|
executor: base
|
@@ -110,32 +142,37 @@ jobs:
|
|
110
142
|
- restore-gem-cache
|
111
143
|
- install-gem
|
112
144
|
- save-gem-cache
|
145
|
+
- save-workspace
|
113
146
|
|
114
147
|
lint:
|
115
148
|
executor: base
|
116
149
|
steps:
|
117
|
-
-
|
150
|
+
- using-workspace
|
118
151
|
- install-bundler
|
119
|
-
- restore-gem-cache
|
120
152
|
- run-rubocop
|
121
153
|
|
122
154
|
test:
|
123
155
|
executor: base
|
124
156
|
steps:
|
125
|
-
-
|
157
|
+
- using-workspace
|
126
158
|
- install-bundler
|
127
|
-
- restore-gem-cache
|
128
159
|
- run-tests
|
129
|
-
- create-document
|
130
160
|
- collect-reports
|
131
161
|
|
162
|
+
document:
|
163
|
+
executor: base
|
164
|
+
steps:
|
165
|
+
- using-workspace
|
166
|
+
- install-bundler
|
167
|
+
- create-document
|
168
|
+
|
132
169
|
deploy:
|
133
170
|
executor: base
|
134
171
|
steps:
|
135
|
-
-
|
172
|
+
- using-workspace
|
136
173
|
- install-bundler
|
137
|
-
- restore-gem-cache
|
138
174
|
- deploy-rubygems
|
175
|
+
- deploy-notification
|
139
176
|
|
140
177
|
workflows:
|
141
178
|
version: 2.1
|
@@ -148,10 +185,39 @@ workflows:
|
|
148
185
|
- test:
|
149
186
|
requires:
|
150
187
|
- setup
|
151
|
-
-
|
188
|
+
- document:
|
189
|
+
requires:
|
190
|
+
- setup
|
191
|
+
- slack/approval-notification:
|
192
|
+
message: ':circleci-pass: RubyGemsへのデプロイ準備が整っています\n:github_octocat: User: $CIRCLE_USERNAME\nデプロイを実行する場合は *Approve* を押してください'
|
152
193
|
requires:
|
153
194
|
- lint
|
154
195
|
- test
|
155
196
|
filters:
|
156
197
|
branches:
|
157
|
-
only: master
|
198
|
+
only: master
|
199
|
+
- approval-job:
|
200
|
+
type: approval
|
201
|
+
requires:
|
202
|
+
- slack/approval-notification
|
203
|
+
- deploy:
|
204
|
+
requires:
|
205
|
+
- approval-job
|
206
|
+
filters:
|
207
|
+
branches:
|
208
|
+
only: master
|
209
|
+
# 定期でテストを実行する
|
210
|
+
# ref:https://circleci.com/docs/ja/2.0/triggers/
|
211
|
+
nightly:
|
212
|
+
triggers:
|
213
|
+
- schedule:
|
214
|
+
cron: "0 22 * * *" # UTCで記述
|
215
|
+
filters:
|
216
|
+
branches:
|
217
|
+
only:
|
218
|
+
- master
|
219
|
+
jobs:
|
220
|
+
- setup
|
221
|
+
- test:
|
222
|
+
requires:
|
223
|
+
- setup
|
data/.rubocop.yml
CHANGED
@@ -3,34 +3,34 @@ require: rubocop-rspec
|
|
3
3
|
|
4
4
|
AllCops:
|
5
5
|
# Rubyのバージョン指定
|
6
|
-
TargetRubyVersion: 2.
|
6
|
+
TargetRubyVersion: 2.6.5
|
7
7
|
|
8
8
|
# クラス名Moduleの説明をなしでもOKとする
|
9
9
|
Style/Documentation:
|
10
10
|
Enabled: false
|
11
11
|
|
12
12
|
# 日本語でのコメントを許可
|
13
|
-
AsciiComments:
|
13
|
+
Style/AsciiComments:
|
14
14
|
Enabled: false
|
15
15
|
|
16
16
|
# メソッドの引数の文字数を2文字以上とする
|
17
|
-
Naming/
|
17
|
+
Naming/MethodParameterName:
|
18
18
|
MinNameLength: 2
|
19
19
|
|
20
20
|
# 1行の長さのMAXを150文字とする
|
21
|
-
|
21
|
+
Layout/LineLength:
|
22
22
|
Max: 150
|
23
23
|
|
24
24
|
# メソッドの行数をコメントを除いて50行までとする
|
25
|
-
MethodLength:
|
25
|
+
Metrics/MethodLength:
|
26
26
|
CountComments: true
|
27
27
|
Max: 50
|
28
28
|
|
29
29
|
# if文の実行結果が4行以上の場合にチェックするように設定する
|
30
|
-
GuardClause:
|
30
|
+
Style/GuardClause:
|
31
31
|
MinBodyLength: 4
|
32
32
|
|
33
|
-
IfUnlessModifier:
|
33
|
+
Style/IfUnlessModifier:
|
34
34
|
Enabled: false
|
35
35
|
|
36
36
|
# メソッドの複雑度を7→18に変更
|
@@ -66,3 +66,31 @@ Metrics/ModuleLength:
|
|
66
66
|
# Rspec句のitの行数を5→10に変更
|
67
67
|
RSpec/ExampleLength:
|
68
68
|
Max: 10
|
69
|
+
|
70
|
+
# https://docs.rubocop.org/en/stable/cops_layout/#layoutspacearoundmethodcalloperator
|
71
|
+
Layout/SpaceAroundMethodCallOperator:
|
72
|
+
Enabled: true
|
73
|
+
|
74
|
+
# https://docs.rubocop.org/en/latest/cops_lint/#lintraiseexception
|
75
|
+
Lint/RaiseException:
|
76
|
+
Enabled: true
|
77
|
+
|
78
|
+
# https://docs.rubocop.org/en/latest/cops_lint/#lintstructnewoverride
|
79
|
+
Lint/StructNewOverride:
|
80
|
+
Enabled: true
|
81
|
+
|
82
|
+
# https://docs.rubocop.org/en/latest/cops_style/#styleexponentialnotation
|
83
|
+
Style/ExponentialNotation:
|
84
|
+
Enabled: true
|
85
|
+
|
86
|
+
# https://docs.rubocop.org/en/latest/cops_style/#stylehasheachmethods
|
87
|
+
Style/HashEachMethods:
|
88
|
+
Enabled: true
|
89
|
+
|
90
|
+
# https://docs.rubocop.org/en/latest/cops_style/#stylehashtransformkeys
|
91
|
+
Style/HashTransformKeys:
|
92
|
+
Enabled: true
|
93
|
+
|
94
|
+
# https://docs.rubocop.org/en/latest/cops_style/#stylehashtransformvalues
|
95
|
+
Style/HashTransformValues:
|
96
|
+
Enabled: true
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.5
|
data/Gemfile.lock
CHANGED
@@ -1,28 +1,29 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
qiita_trend (0.
|
5
|
-
mechanize
|
6
|
-
nokogiri (
|
4
|
+
qiita_trend (0.4.1)
|
5
|
+
mechanize (~> 2.7)
|
6
|
+
nokogiri (>= 1.10)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
ast (2.4.0)
|
14
|
+
byebug (11.1.3)
|
15
|
+
coderay (1.1.2)
|
14
16
|
connection_pool (2.2.2)
|
15
17
|
crack (0.4.3)
|
16
18
|
safe_yaml (~> 1.0.0)
|
17
19
|
diff-lcs (1.3)
|
18
|
-
docile (1.3.
|
20
|
+
docile (1.3.2)
|
19
21
|
domain_name (0.5.20190701)
|
20
22
|
unf (>= 0.0.5, < 1.0.0)
|
21
|
-
hashdiff (1.0.
|
23
|
+
hashdiff (1.0.1)
|
22
24
|
http-cookie (1.0.3)
|
23
25
|
domain_name (~> 0.5)
|
24
|
-
jaro_winkler (1.5.
|
25
|
-
json (2.1.0)
|
26
|
+
jaro_winkler (1.5.4)
|
26
27
|
mechanize (2.7.6)
|
27
28
|
domain_name (~> 0.5, >= 0.5.1)
|
28
29
|
http-cookie (~> 1.0)
|
@@ -32,80 +33,94 @@ GEM
|
|
32
33
|
nokogiri (~> 1.6)
|
33
34
|
ntlm-http (~> 0.1, >= 0.1.1)
|
34
35
|
webrobots (>= 0.0.9, < 0.2)
|
35
|
-
|
36
|
+
method_source (1.0.0)
|
37
|
+
mime-types (3.3.1)
|
36
38
|
mime-types-data (~> 3.2015)
|
37
|
-
mime-types-data (3.
|
39
|
+
mime-types-data (3.2020.0425)
|
38
40
|
mini_portile2 (2.4.0)
|
39
41
|
net-http-digest_auth (1.4.1)
|
40
|
-
net-http-persistent (
|
42
|
+
net-http-persistent (4.0.0)
|
41
43
|
connection_pool (~> 2.2)
|
42
|
-
nokogiri (1.10.
|
44
|
+
nokogiri (1.10.9)
|
43
45
|
mini_portile2 (~> 2.4.0)
|
44
46
|
ntlm-http (0.1.1)
|
45
|
-
parallel (1.
|
46
|
-
parser (2.
|
47
|
+
parallel (1.19.1)
|
48
|
+
parser (2.7.1.2)
|
47
49
|
ast (~> 2.4.0)
|
48
|
-
|
50
|
+
pry (0.13.1)
|
51
|
+
coderay (~> 1.1)
|
52
|
+
method_source (~> 1.0)
|
53
|
+
pry-byebug (3.9.0)
|
54
|
+
byebug (~> 11.0)
|
55
|
+
pry (~> 0.13.0)
|
56
|
+
pry-doc (1.1.0)
|
57
|
+
pry (~> 0.11)
|
58
|
+
yard (~> 0.9.11)
|
59
|
+
public_suffix (4.0.4)
|
49
60
|
rainbow (3.0.0)
|
50
|
-
rake (
|
51
|
-
|
52
|
-
|
53
|
-
rspec-
|
54
|
-
rspec-
|
55
|
-
|
56
|
-
|
57
|
-
|
61
|
+
rake (13.0.1)
|
62
|
+
rexml (3.2.4)
|
63
|
+
rspec (3.9.0)
|
64
|
+
rspec-core (~> 3.9.0)
|
65
|
+
rspec-expectations (~> 3.9.0)
|
66
|
+
rspec-mocks (~> 3.9.0)
|
67
|
+
rspec-core (3.9.2)
|
68
|
+
rspec-support (~> 3.9.3)
|
69
|
+
rspec-expectations (3.9.1)
|
58
70
|
diff-lcs (>= 1.2.0, < 2.0)
|
59
|
-
rspec-support (~> 3.
|
60
|
-
rspec-mocks (3.
|
71
|
+
rspec-support (~> 3.9.0)
|
72
|
+
rspec-mocks (3.9.1)
|
61
73
|
diff-lcs (>= 1.2.0, < 2.0)
|
62
|
-
rspec-support (~> 3.
|
63
|
-
rspec-support (3.
|
74
|
+
rspec-support (~> 3.9.0)
|
75
|
+
rspec-support (3.9.3)
|
64
76
|
rspec_junit_formatter (0.4.1)
|
65
77
|
rspec-core (>= 2, < 4, != 2.12.0)
|
66
|
-
rubocop (0.
|
78
|
+
rubocop (0.82.0)
|
67
79
|
jaro_winkler (~> 1.5.1)
|
68
80
|
parallel (~> 1.10)
|
69
|
-
parser (>= 2.
|
81
|
+
parser (>= 2.7.0.1)
|
70
82
|
rainbow (>= 2.2.2, < 4.0)
|
83
|
+
rexml
|
71
84
|
ruby-progressbar (~> 1.7)
|
72
|
-
unicode-display_width (>= 1.4.0, <
|
73
|
-
rubocop-rspec (1.
|
74
|
-
rubocop (>= 0.
|
85
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
86
|
+
rubocop-rspec (1.39.0)
|
87
|
+
rubocop (>= 0.68.1)
|
75
88
|
ruby-progressbar (1.10.1)
|
76
89
|
safe_yaml (1.0.5)
|
77
|
-
simplecov (0.
|
90
|
+
simplecov (0.18.5)
|
78
91
|
docile (~> 1.1)
|
79
|
-
|
80
|
-
|
81
|
-
simplecov-html (0.10.2)
|
92
|
+
simplecov-html (~> 0.11)
|
93
|
+
simplecov-html (0.12.2)
|
82
94
|
unf (0.1.4)
|
83
95
|
unf_ext
|
84
|
-
unf_ext (0.0.7.
|
85
|
-
unicode-display_width (1.
|
86
|
-
vcr (5.
|
87
|
-
webmock (3.
|
96
|
+
unf_ext (0.0.7.7)
|
97
|
+
unicode-display_width (1.7.0)
|
98
|
+
vcr (5.1.0)
|
99
|
+
webmock (3.8.3)
|
88
100
|
addressable (>= 2.3.6)
|
89
101
|
crack (>= 0.3.2)
|
90
102
|
hashdiff (>= 0.4.0, < 2.0.0)
|
91
103
|
webrobots (0.1.2)
|
92
|
-
yard (0.9.
|
104
|
+
yard (0.9.24)
|
93
105
|
|
94
106
|
PLATFORMS
|
95
107
|
ruby
|
96
108
|
|
97
109
|
DEPENDENCIES
|
98
110
|
bundler (~> 2.0)
|
111
|
+
pry (~> 0.13)
|
112
|
+
pry-byebug (~> 3.9)
|
113
|
+
pry-doc (~> 1.1)
|
99
114
|
qiita_trend!
|
100
|
-
rake (~>
|
115
|
+
rake (~> 13.0)
|
101
116
|
rspec (~> 3.0)
|
102
|
-
rspec_junit_formatter
|
117
|
+
rspec_junit_formatter (~> 0.4)
|
103
118
|
rubocop (~> 0.62)
|
104
|
-
rubocop-rspec
|
105
|
-
simplecov
|
106
|
-
vcr
|
107
|
-
webmock
|
108
|
-
yard
|
119
|
+
rubocop-rspec (~> 1.39)
|
120
|
+
simplecov (~> 0.18)
|
121
|
+
vcr (~> 5.1)
|
122
|
+
webmock (~> 3.8)
|
123
|
+
yard (~> 0.9)
|
109
124
|
|
110
125
|
BUNDLED WITH
|
111
|
-
2.
|
126
|
+
2.1.2
|
data/README.md
CHANGED
data/lib/qiita_trend/page.rb
CHANGED
@@ -59,7 +59,8 @@ module QiitaTrend
|
|
59
59
|
# @param [Mechanize] agent Mechanizeクラス
|
60
60
|
# @raise [LoginFailureError] ログインに失敗した時に発生する
|
61
61
|
def login_qiita(agent)
|
62
|
-
|
62
|
+
# NOTE: Qiitaでログインする時はシングルサインオン(GitHub,Twitter,Google)でログインできない仕様にしています
|
63
|
+
form = agent.get(QIITA_LOGIN_URI).forms.last
|
63
64
|
form['identity'] = QiitaTrend.configuration.user_name
|
64
65
|
form['password'] = QiitaTrend.configuration.password
|
65
66
|
logged_page = form.submit
|
data/lib/qiita_trend/trend.rb
CHANGED
@@ -55,17 +55,14 @@ module QiitaTrend
|
|
55
55
|
private
|
56
56
|
|
57
57
|
# ユーザーの画像のURLを取得する
|
58
|
-
# URL
|
59
|
-
# クエリーパラメータも排除する
|
58
|
+
# URLデコードしクエリーパラメータを排除する
|
60
59
|
#
|
61
60
|
# @return [String] ユーザーの画像のURL
|
62
61
|
def user_image(url)
|
63
62
|
# URLデコード
|
64
63
|
unescape_url = CGI.unescape(url)
|
65
|
-
# imgixのURLからユーザーの画像のURLへ変換する
|
66
|
-
exclusion_imgix = unescape_url.gsub!('https://qiita-user-profile-images.imgix.net/', '')
|
67
64
|
# クエリパラーメーを除いた形で返す
|
68
|
-
parse_url = URI.parse(
|
65
|
+
parse_url = URI.parse(unescape_url)
|
69
66
|
"#{parse_url.scheme}://#{parse_url.host}#{parse_url.path}"
|
70
67
|
end
|
71
68
|
end
|
data/lib/qiita_trend/version.rb
CHANGED
data/qiita_trend.gemspec
CHANGED
@@ -38,17 +38,20 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.require_paths = ['lib']
|
39
39
|
|
40
40
|
# qiita_trendに必要な依存gem設定(ここは最小限にすること)
|
41
|
-
spec.add_dependency 'mechanize'
|
42
|
-
spec.add_dependency 'nokogiri', '
|
41
|
+
spec.add_dependency 'mechanize', '~> 2.7'
|
42
|
+
spec.add_dependency 'nokogiri', '>= 1.10'
|
43
43
|
# 開発中のみ必要なgem設定
|
44
44
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
45
|
-
spec.add_development_dependency '
|
45
|
+
spec.add_development_dependency 'pry', '~> 0.13'
|
46
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
47
|
+
spec.add_development_dependency 'pry-doc', '~> 1.1'
|
48
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
46
49
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
47
|
-
spec.add_development_dependency 'rspec_junit_formatter'
|
50
|
+
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4'
|
48
51
|
spec.add_development_dependency 'rubocop', '~> 0.62'
|
49
|
-
spec.add_development_dependency 'rubocop-rspec'
|
50
|
-
spec.add_development_dependency 'simplecov'
|
51
|
-
spec.add_development_dependency 'vcr'
|
52
|
-
spec.add_development_dependency 'webmock'
|
53
|
-
spec.add_development_dependency 'yard'
|
52
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 1.39'
|
53
|
+
spec.add_development_dependency 'simplecov', '~> 0.18'
|
54
|
+
spec.add_development_dependency 'vcr', '~> 5.1'
|
55
|
+
spec.add_development_dependency 'webmock', '~> 3.8'
|
56
|
+
spec.add_development_dependency 'yard', '~> 0.9'
|
54
57
|
end
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qiita_trend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dodonki1223
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.10'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +52,62 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.13'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.13'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry-byebug
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.9'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-doc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.1'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.1'
|
55
97
|
- !ruby/object:Gem::Dependency
|
56
98
|
name: rake
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
58
100
|
requirements:
|
59
101
|
- - "~>"
|
60
102
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
103
|
+
version: '13.0'
|
62
104
|
type: :development
|
63
105
|
prerelease: false
|
64
106
|
version_requirements: !ruby/object:Gem::Requirement
|
65
107
|
requirements:
|
66
108
|
- - "~>"
|
67
109
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
110
|
+
version: '13.0'
|
69
111
|
- !ruby/object:Gem::Dependency
|
70
112
|
name: rspec
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,16 +126,16 @@ dependencies:
|
|
84
126
|
name: rspec_junit_formatter
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
86
128
|
requirements:
|
87
|
-
- - "
|
129
|
+
- - "~>"
|
88
130
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
131
|
+
version: '0.4'
|
90
132
|
type: :development
|
91
133
|
prerelease: false
|
92
134
|
version_requirements: !ruby/object:Gem::Requirement
|
93
135
|
requirements:
|
94
|
-
- - "
|
136
|
+
- - "~>"
|
95
137
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
138
|
+
version: '0.4'
|
97
139
|
- !ruby/object:Gem::Dependency
|
98
140
|
name: rubocop
|
99
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,72 +154,72 @@ dependencies:
|
|
112
154
|
name: rubocop-rspec
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
114
156
|
requirements:
|
115
|
-
- - "
|
157
|
+
- - "~>"
|
116
158
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
159
|
+
version: '1.39'
|
118
160
|
type: :development
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
|
-
- - "
|
164
|
+
- - "~>"
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
166
|
+
version: '1.39'
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
168
|
name: simplecov
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
128
170
|
requirements:
|
129
|
-
- - "
|
171
|
+
- - "~>"
|
130
172
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
173
|
+
version: '0.18'
|
132
174
|
type: :development
|
133
175
|
prerelease: false
|
134
176
|
version_requirements: !ruby/object:Gem::Requirement
|
135
177
|
requirements:
|
136
|
-
- - "
|
178
|
+
- - "~>"
|
137
179
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
180
|
+
version: '0.18'
|
139
181
|
- !ruby/object:Gem::Dependency
|
140
182
|
name: vcr
|
141
183
|
requirement: !ruby/object:Gem::Requirement
|
142
184
|
requirements:
|
143
|
-
- - "
|
185
|
+
- - "~>"
|
144
186
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
187
|
+
version: '5.1'
|
146
188
|
type: :development
|
147
189
|
prerelease: false
|
148
190
|
version_requirements: !ruby/object:Gem::Requirement
|
149
191
|
requirements:
|
150
|
-
- - "
|
192
|
+
- - "~>"
|
151
193
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
194
|
+
version: '5.1'
|
153
195
|
- !ruby/object:Gem::Dependency
|
154
196
|
name: webmock
|
155
197
|
requirement: !ruby/object:Gem::Requirement
|
156
198
|
requirements:
|
157
|
-
- - "
|
199
|
+
- - "~>"
|
158
200
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
201
|
+
version: '3.8'
|
160
202
|
type: :development
|
161
203
|
prerelease: false
|
162
204
|
version_requirements: !ruby/object:Gem::Requirement
|
163
205
|
requirements:
|
164
|
-
- - "
|
206
|
+
- - "~>"
|
165
207
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
208
|
+
version: '3.8'
|
167
209
|
- !ruby/object:Gem::Dependency
|
168
210
|
name: yard
|
169
211
|
requirement: !ruby/object:Gem::Requirement
|
170
212
|
requirements:
|
171
|
-
- - "
|
213
|
+
- - "~>"
|
172
214
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
215
|
+
version: '0.9'
|
174
216
|
type: :development
|
175
217
|
prerelease: false
|
176
218
|
version_requirements: !ruby/object:Gem::Requirement
|
177
219
|
requirements:
|
178
|
-
- - "
|
220
|
+
- - "~>"
|
179
221
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
222
|
+
version: '0.9'
|
181
223
|
description: Easy to get trend for Qiita in 10 seconds
|
182
224
|
email:
|
183
225
|
- make.an.effort.wish.come.true@gmail.com
|
@@ -190,6 +232,7 @@ files:
|
|
190
232
|
- ".gitignore"
|
191
233
|
- ".rspec"
|
192
234
|
- ".rubocop.yml"
|
235
|
+
- ".ruby-version"
|
193
236
|
- Gemfile
|
194
237
|
- Gemfile.lock
|
195
238
|
- LICENSE.txt
|
@@ -209,7 +252,6 @@ files:
|
|
209
252
|
- lib/qiita_trend/trend_type.rb
|
210
253
|
- lib/qiita_trend/version.rb
|
211
254
|
- qiita_trend.gemspec
|
212
|
-
- qiita_trend.gif
|
213
255
|
homepage: https://github.com/dodonki1223/qiita_trend
|
214
256
|
licenses:
|
215
257
|
- MIT
|
data/qiita_trend.gif
DELETED
Binary file
|