qiita_trend 0.4.0 → 0.4.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/.circleci/config.yml +30 -68
- data/.gitignore +2 -1
- data/Gemfile.lock +2 -2
- data/lib/qiita_trend/trend.rb +3 -7
- data/lib/qiita_trend/version.rb +1 -1
- data/qiita_trend.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83a51498035ba246edfedbe6961d00ca621101466367b414a11dfac2786898cd
|
4
|
+
data.tar.gz: 692aa267fab531eae0aa94382bdfb633a10520aa051c3c957f0ae94c67135be4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2fe96acf2e2d7644399ae9d7f2a9af813189ddea8cde464b0940212cc8a9b9cc6e05689ed3aac1ae178effe1fd6999881d6a98797b486372cc130802c3d3b2f8
|
7
|
+
data.tar.gz: f3b04ccf33818a5d0df195f84e78a55f11b14fdb19180e87051445678512052ab92268bc4c7b806decbbecf32e55cdb8010a36a02cb2d579046781ecc100eef2
|
data/.circleci/config.yml
CHANGED
@@ -1,47 +1,23 @@
|
|
1
1
|
version: 2.1
|
2
2
|
orbs:
|
3
|
+
ruby: circleci/ruby@1.1.2
|
3
4
|
slack: circleci/slack@3.4.2
|
4
5
|
executors:
|
5
6
|
base:
|
6
7
|
docker:
|
7
|
-
- image:
|
8
|
+
- image: cimg/ruby:2.6.6
|
9
|
+
auth:
|
10
|
+
username: dodonki1223
|
11
|
+
password: $DOCKERHUB_PASSWORD
|
8
12
|
environment:
|
9
13
|
# Bundlerのパス設定が書き換えられ`vendor/bundle`ではなくて`/usr/local/bundle`を参照してしまい`bundle exec`でエラーになる
|
10
14
|
# Bundlerのconfigファイル(pathの設定がされたもの)をworkspaceで永続化し`vendor/bundle`を参照するようにするための設定
|
11
15
|
BUNDLE_APP_CONFIG: .bundle
|
16
|
+
# ref: https://circleci.com/docs/2.0/faq/#how-can-i-set-the-timezone-in-docker-images
|
17
|
+
TZ: "Asia/Tokyo"
|
12
18
|
working_directory: ~/dodonki1223/qiita_trend
|
13
19
|
|
14
20
|
commands:
|
15
|
-
install-bundler:
|
16
|
-
steps:
|
17
|
-
- run:
|
18
|
-
name: Install bundler(2.1.0)
|
19
|
-
command: gem install bundler:2.1.0
|
20
|
-
|
21
|
-
# Read about caching dependencies: https://circleci.com/docs/2.0/caching/
|
22
|
-
restore-gem-cache:
|
23
|
-
steps:
|
24
|
-
- restore_cache:
|
25
|
-
keys:
|
26
|
-
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
27
|
-
# fallback to using the latest cache if no exact match is found
|
28
|
-
- v1-dependencies-
|
29
|
-
|
30
|
-
install-gem:
|
31
|
-
steps:
|
32
|
-
- run:
|
33
|
-
name: Install gem
|
34
|
-
command: |
|
35
|
-
# jobs=4は並列処理をして高速化するための設定(4つのjobで実行するって意味)
|
36
|
-
bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
|
37
|
-
|
38
|
-
save-gem-cache:
|
39
|
-
steps:
|
40
|
-
- save_cache:
|
41
|
-
paths:
|
42
|
-
- ./vendor/bundle
|
43
|
-
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
44
|
-
|
45
21
|
save-workspace:
|
46
22
|
steps:
|
47
23
|
- persist_to_workspace:
|
@@ -55,35 +31,8 @@ commands:
|
|
55
31
|
# working_directory からの相対パスか絶対パスを指定します
|
56
32
|
at: .
|
57
33
|
|
58
|
-
run-rubocop:
|
59
|
-
steps:
|
60
|
-
- run:
|
61
|
-
name: Run RuboCop
|
62
|
-
command: |
|
63
|
-
bundle exec rubocop
|
64
|
-
|
65
|
-
run-tests:
|
66
|
-
steps:
|
67
|
-
- run:
|
68
|
-
name: Run tests
|
69
|
-
command: |
|
70
|
-
TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
|
71
|
-
bundle exec rspec \
|
72
|
-
--format progress \
|
73
|
-
--format RspecJunitFormatter \
|
74
|
-
--out test_results/rspec.xml \
|
75
|
-
--format progress \
|
76
|
-
$TEST_FILES
|
77
|
-
|
78
34
|
collect-reports:
|
79
35
|
steps:
|
80
|
-
# ref:https://circleci.com/docs/ja/2.0/configuration-reference/#store_test_results
|
81
|
-
- store_test_results:
|
82
|
-
path: test_results
|
83
|
-
- store_artifacts:
|
84
|
-
# テスト結果をtest-resultsディレクトリに吐き出す
|
85
|
-
path: test_results
|
86
|
-
destination: test-results
|
87
36
|
- store_artifacts:
|
88
37
|
# カバレッジの結果をcoverage-resultsディレクトリに吐き出す
|
89
38
|
path: coverage
|
@@ -138,39 +87,37 @@ jobs:
|
|
138
87
|
executor: base
|
139
88
|
steps:
|
140
89
|
- checkout
|
141
|
-
- install-
|
142
|
-
- restore-gem-cache
|
143
|
-
- install-gem
|
144
|
-
- save-gem-cache
|
90
|
+
- ruby/install-deps
|
145
91
|
- save-workspace
|
146
92
|
|
147
93
|
lint:
|
148
94
|
executor: base
|
149
95
|
steps:
|
150
96
|
- using-workspace
|
151
|
-
- install-
|
152
|
-
-
|
97
|
+
- ruby/install-deps
|
98
|
+
- ruby/rubocop-check
|
153
99
|
|
154
100
|
test:
|
155
101
|
executor: base
|
156
102
|
steps:
|
157
103
|
- using-workspace
|
158
|
-
- install-
|
159
|
-
-
|
104
|
+
- ruby/install-deps
|
105
|
+
- ruby/rspec-test:
|
106
|
+
out-path: 'test_results/rspec/'
|
160
107
|
- collect-reports
|
161
108
|
|
162
109
|
document:
|
163
110
|
executor: base
|
164
111
|
steps:
|
165
112
|
- using-workspace
|
166
|
-
- install-
|
113
|
+
- ruby/install-deps
|
167
114
|
- create-document
|
168
115
|
|
169
116
|
deploy:
|
170
117
|
executor: base
|
171
118
|
steps:
|
172
119
|
- using-workspace
|
173
|
-
- install-
|
120
|
+
- ruby/install-deps
|
174
121
|
- deploy-rubygems
|
175
122
|
- deploy-notification
|
176
123
|
|
@@ -206,3 +153,18 @@ workflows:
|
|
206
153
|
filters:
|
207
154
|
branches:
|
208
155
|
only: master
|
156
|
+
# 定期でテストを実行する
|
157
|
+
# ref:https://circleci.com/docs/ja/2.0/triggers/
|
158
|
+
nightly:
|
159
|
+
triggers:
|
160
|
+
- schedule:
|
161
|
+
cron: "0 22 * * *" # UTCで記述
|
162
|
+
filters:
|
163
|
+
branches:
|
164
|
+
only:
|
165
|
+
- master
|
166
|
+
jobs:
|
167
|
+
- setup
|
168
|
+
- test:
|
169
|
+
requires:
|
170
|
+
- setup
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/lib/qiita_trend/trend.rb
CHANGED
@@ -20,8 +20,7 @@ module QiitaTrend
|
|
20
20
|
def initialize(trend_type = TrendType::DAILY, date = nil)
|
21
21
|
page = Page.new(trend_type, date)
|
22
22
|
parsed_html = Nokogiri::HTML.parse(page.html)
|
23
|
-
|
24
|
-
trends_data = JSON.parse(parsed_html.xpath('//div[@data-hyperapp-app="Trend"]')[0]['data-hyperapp-props'])
|
23
|
+
trends_data = JSON.parse(parsed_html.xpath('//script[@data-component-name="HomeArticleTrendFeed"]')[0].text)
|
25
24
|
@data = trends_data['trend']['edges']
|
26
25
|
end
|
27
26
|
|
@@ -55,17 +54,14 @@ module QiitaTrend
|
|
55
54
|
private
|
56
55
|
|
57
56
|
# ユーザーの画像のURLを取得する
|
58
|
-
# URL
|
59
|
-
# クエリーパラメータも排除する
|
57
|
+
# URLデコードしクエリーパラメータを排除する
|
60
58
|
#
|
61
59
|
# @return [String] ユーザーの画像のURL
|
62
60
|
def user_image(url)
|
63
61
|
# URLデコード
|
64
62
|
unescape_url = CGI.unescape(url)
|
65
|
-
# imgixのURLからユーザーの画像のURLへ変換する
|
66
|
-
exclusion_imgix = unescape_url.gsub!('https://qiita-user-profile-images.imgix.net/', '')
|
67
63
|
# クエリパラーメーを除いた形で返す
|
68
|
-
parse_url = URI.parse(
|
64
|
+
parse_url = URI.parse(unescape_url)
|
69
65
|
"#{parse_url.scheme}://#{parse_url.host}#{parse_url.path}"
|
70
66
|
end
|
71
67
|
end
|
data/lib/qiita_trend/version.rb
CHANGED
data/qiita_trend.gemspec
CHANGED
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
|
|
39
39
|
|
40
40
|
# qiita_trendに必要な依存gem設定(ここは最小限にすること)
|
41
41
|
spec.add_dependency 'mechanize', '~> 2.7'
|
42
|
-
spec.add_dependency 'nokogiri', '
|
42
|
+
spec.add_dependency 'nokogiri', '~> 1.10'
|
43
43
|
# 開発中のみ必要なgem設定
|
44
44
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
45
45
|
spec.add_development_dependency 'pry', '~> 0.13'
|
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.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dodonki1223
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
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
40
|
version: '1.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -271,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
271
271
|
- !ruby/object:Gem::Version
|
272
272
|
version: '0'
|
273
273
|
requirements: []
|
274
|
-
rubygems_version: 3.
|
274
|
+
rubygems_version: 3.1.3
|
275
275
|
signing_key:
|
276
276
|
specification_version: 4
|
277
277
|
summary: Easy to get trend for Qiita in 10 seconds
|