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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d75d214f4a79f9fb949ef1b3ffb40a2935acda3c4f70dbda5f1f19f270228ae9
4
- data.tar.gz: ad49bf18437798a3bf81ed059b50b08b3fd7c4ba7e062a21c5df04623b3b1e2c
3
+ metadata.gz: 83a51498035ba246edfedbe6961d00ca621101466367b414a11dfac2786898cd
4
+ data.tar.gz: 692aa267fab531eae0aa94382bdfb633a10520aa051c3c957f0ae94c67135be4
5
5
  SHA512:
6
- metadata.gz: d1c86aca13a9ea329f892f6c3805b3953855c6fb89d577013b113f3a1dc4b74bc037ef2ea95ff84dbe3a30623999ac2c8ced0a5631502e839be970363a07dab7
7
- data.tar.gz: 4c8593ce19dc914e1e9bb71c4068c917fc006b47514477ea7ac8729d0b4176e1a5a05cd4c3613db7fa3db5e655965246f404bfbba9bfde95df97cc9e355a8afe
6
+ metadata.gz: 2fe96acf2e2d7644399ae9d7f2a9af813189ddea8cde464b0940212cc8a9b9cc6e05689ed3aac1ae178effe1fd6999881d6a98797b486372cc130802c3d3b2f8
7
+ data.tar.gz: f3b04ccf33818a5d0df195f84e78a55f11b14fdb19180e87051445678512052ab92268bc4c7b806decbbecf32e55cdb8010a36a02cb2d579046781ecc100eef2
@@ -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: circleci/ruby:2.6.0
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-bundler
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-bundler
152
- - run-rubocop
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-bundler
159
- - run-tests
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-bundler
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-bundler
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
@@ -7,6 +7,7 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /vendor/
10
+ /test_results/
10
11
 
11
12
  # rspec failure tracking
12
13
  .rspec_status
@@ -16,4 +17,4 @@
16
17
 
17
18
  /cache/
18
19
  /spec/vcr/
19
- /vendor/
20
+ /vendor/
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiita_trend (0.4.0)
4
+ qiita_trend (0.4.5)
5
5
  mechanize (~> 2.7)
6
- nokogiri (>= 1.10)
6
+ nokogiri (~> 1.10)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -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デコードしimgix(画像ファイルの配信向けに特化したCDNサービス)の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(exclusion_imgix)
64
+ parse_url = URI.parse(unescape_url)
69
65
  "#{parse_url.scheme}://#{parse_url.host}#{parse_url.path}"
70
66
  end
71
67
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module QiitaTrend
4
- VERSION = '0.4.0'
4
+ VERSION = '0.4.5'
5
5
  end
@@ -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', '>= 1.10'
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.0
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-05-03 00:00:00.000000000 Z
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.0.1
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