web_stat 0.5.1 → 0.6.0

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: 6272119868a8870fda3ab8c33fee1238c5a8ca6c0859ce96f77e127c097cd2a8
4
- data.tar.gz: a54ba5ce70af23594694cf6d8585391b6632b75ff4f6ee9f3067c987146b4752
3
+ metadata.gz: 59425c78f80d4ba1d5837c994fcbd8740b7800c18706ae6190b0a914af44649b
4
+ data.tar.gz: 6abe4c6d4584effbb8553b21e7340940baf1aff8f863ea73b809b8124699f0e1
5
5
  SHA512:
6
- metadata.gz: 61fbcb05d550f7363c14da7cb951fcf282dc500485cc8be82467a3c991dfce86822c7670a0d0a06ba45caf1718a37492b0830394dea444d9d6d339787c912956
7
- data.tar.gz: aaef967c6dbfe7883154fcca87e2f0a1f8f12fc12ee42a6c232d65283850f3948d7cc58a0f974bc60572da6fa164b85c8aee571690450fd59ae88481372ecd7b
6
+ metadata.gz: 3d6e5eedabbbf28b2a24646e7c3a04598e8a4120515306501ecafdf3b06111541c07d4d94566b61b7bd560a749d334b469f586deed00f44d2ef701ec6532d280
7
+ data.tar.gz: d21463900b26cb1f8b3fd91ad91e5feaa9b534086f65a745a96f082f4432b486288b8494d0c8c592cb529bbebf96cadc33b5de774dc151686ff2d8dad301b069
@@ -0,0 +1,46 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ tags: [ 'v*' ]
6
+
7
+ jobs:
8
+ build:
9
+ name: Build + Publish
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: read
13
+ packages: write
14
+
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+ - name: Set up Ruby 3.2
18
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
19
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
20
+ # uses: ruby/setup-ruby@v1
21
+ uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
22
+ with:
23
+ ruby-version: 3.2.0
24
+
25
+ - name: Publish to GPR
26
+ run: |
27
+ mkdir -p $HOME/.gem
28
+ touch $HOME/.gem/credentials
29
+ chmod 0600 $HOME/.gem/credentials
30
+ printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
31
+ gem build *.gemspec
32
+ gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
33
+ env:
34
+ GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
35
+ OWNER: ${{ github.repository_owner }}
36
+
37
+ - name: Publish to RubyGems
38
+ run: |
39
+ mkdir -p $HOME/.gem
40
+ touch $HOME/.gem/credentials
41
+ chmod 0600 $HOME/.gem/credentials
42
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
43
+ gem build *.gemspec
44
+ gem push *.gem
45
+ env:
46
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,30 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ "main" ]
13
+ pull_request:
14
+ branches: [ "main" ]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ test:
21
+
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+
26
+ - name: Docker Compose Up
27
+ run: docker-compose up -d
28
+
29
+ - name: Run tests
30
+ run: docker-compose exec -T app bundle exec rspec
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.0.0
1
+ 3.3.0
data/Dockerfile CHANGED
@@ -1,6 +1,4 @@
1
- # Define base image, you can use --build-arg
2
- ARG base_image="newsdict/rails:ubuntu20.10_nvmv0.37.0_nodev15.2.1_rubyv3.0.0_sasscv2.4.0_ffiv1.13.1_chromedriver"
3
- FROM $base_image
1
+ FROM slidict/docker-rails:bullseye-node20.11.1-npm10.5.0-ruby3.3.0-bundler-2.5.6_upgraded
4
2
 
5
3
  # Set locale
6
4
  ENV LANG "C.UTF-8"
@@ -15,11 +13,9 @@ COPY . .
15
13
 
16
14
  # Init gems
17
15
  RUN echo "gem: --no-rdoc --no-ri" > ~/.gemrc
18
- RUN . /etc/profile.d/rvm.sh && \
19
- bundle config --global with 'development test' && \
20
- bundle config --global system true && \
16
+ RUN bundle config --global system true && \
21
17
  bundle config --global jobs 10 && \
22
18
  bundle config --global build.nokogiri --use-system-libraries && \
23
19
  bundle install
24
20
 
25
- CMD ["bash"]
21
+ CMD ["bash"]
data/Gemfile.lock CHANGED
@@ -1,211 +1,223 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- web_stat (0.5.0)
4
+ web_stat (0.5.3)
5
5
  bundler (>= 2.0.2)
6
- cld (>= 0.8.0)
6
+ cld (>= 0.13.0)
7
7
  google-api-client (>= 0.53.0)
8
- mechanize (>= 2.7.7)
9
- natto (>= 1.1.2)
10
- nokogiri (>= 1.10.4)
8
+ mechanize (>= 2.10.0)
9
+ natto (>= 1.2.0)
10
+ nokogiri (>= 1.16.2)
11
11
  pdf-reader (= 2.4.0)
12
- rexml (>= 3.2.4)
12
+ rexml (>= 3.2.6)
13
13
  ruby-readability (>= 0.7)
14
- sanitize (>= 5.0.0)
15
- selenium-webdriver (= 3.142.7)
16
- webrick (>= 1.7.0)
14
+ sanitize (>= 6.1.0)
15
+ selenium-webdriver (>= 4.18.1)
16
+ webrick (>= 1.8.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
20
20
  specs:
21
21
  Ascii85 (1.0.3)
22
- activesupport (6.1.3.2)
22
+ activesupport (7.1.3.2)
23
+ base64
24
+ bigdecimal
23
25
  concurrent-ruby (~> 1.0, >= 1.0.2)
26
+ connection_pool (>= 2.2.5)
27
+ drb
24
28
  i18n (>= 1.6, < 2)
25
29
  minitest (>= 5.1)
30
+ mutex_m
26
31
  tzinfo (~> 2.0)
27
- zeitwerk (~> 2.3)
28
- addressable (2.7.0)
29
- public_suffix (>= 2.0.2, < 5.0)
32
+ addressable (2.8.6)
33
+ public_suffix (>= 2.0.2, < 6.0)
30
34
  afm (0.2.2)
35
+ base64 (0.2.0)
36
+ bigdecimal (3.1.6)
31
37
  byebug (11.1.3)
32
- childprocess (3.0.0)
33
- cld (0.8.0)
38
+ cld (0.13.0)
34
39
  ffi
35
40
  coderay (1.1.3)
36
- concurrent-ruby (1.1.9)
37
- connection_pool (2.2.5)
38
- crack (0.4.5)
41
+ concurrent-ruby (1.2.3)
42
+ connection_pool (2.4.1)
43
+ crack (1.0.0)
44
+ bigdecimal
39
45
  rexml
40
46
  crass (1.0.6)
41
47
  declarative (0.0.20)
42
- diff-lcs (1.4.4)
43
- domain_name (0.5.20190701)
44
- unf (>= 0.0.5, < 1.0.0)
45
- faraday (1.4.2)
46
- faraday-em_http (~> 1.0)
47
- faraday-em_synchrony (~> 1.0)
48
- faraday-excon (~> 1.1)
49
- faraday-net_http (~> 1.0)
50
- faraday-net_http_persistent (~> 1.1)
51
- multipart-post (>= 1.2, < 3)
52
- ruby2_keywords (>= 0.0.4)
53
- faraday-em_http (1.0.0)
54
- faraday-em_synchrony (1.0.0)
55
- faraday-excon (1.1.0)
56
- faraday-net_http (1.0.1)
57
- faraday-net_http_persistent (1.1.0)
58
- ffi (1.15.3)
48
+ diff-lcs (1.5.1)
49
+ domain_name (0.6.20240107)
50
+ drb (2.2.1)
51
+ faraday (2.9.0)
52
+ faraday-net_http (>= 2.0, < 3.2)
53
+ faraday-net_http (3.1.0)
54
+ net-http
55
+ ffi (1.16.3)
59
56
  gems (1.2.0)
60
57
  google-api-client (0.53.0)
61
58
  google-apis-core (~> 0.1)
62
59
  google-apis-generator (~> 0.1)
63
- google-apis-core (0.3.0)
60
+ google-apis-core (0.14.0)
64
61
  addressable (~> 2.5, >= 2.5.1)
65
- googleauth (~> 0.14)
66
- httpclient (>= 2.8.1, < 3.0)
62
+ googleauth (~> 1.9)
63
+ httpclient (>= 2.8.1, < 3.a)
67
64
  mini_mime (~> 1.0)
68
65
  representable (~> 3.0)
69
- retriable (>= 2.0, < 4.0)
66
+ retriable (>= 2.0, < 4.a)
70
67
  rexml
71
- signet (~> 0.14)
72
- webrick
73
- google-apis-discovery_v1 (0.4.0)
74
- google-apis-core (~> 0.1)
75
- google-apis-generator (0.3.0)
68
+ google-apis-discovery_v1 (0.16.0)
69
+ google-apis-core (>= 0.14.0, < 2.a)
70
+ google-apis-generator (0.14.0)
76
71
  activesupport (>= 5.0)
77
72
  gems (~> 1.2)
78
- google-apis-core (~> 0.1)
79
- google-apis-discovery_v1 (~> 0.0)
73
+ google-apis-core (>= 0.14.0, < 2.a)
74
+ google-apis-discovery_v1 (~> 0.14)
80
75
  thor (>= 0.20, < 2.a)
81
- googleauth (0.16.2)
82
- faraday (>= 0.17.3, < 2.0)
76
+ google-cloud-env (2.1.1)
77
+ faraday (>= 1.0, < 3.a)
78
+ googleauth (1.11.0)
79
+ faraday (>= 1.0, < 3.a)
80
+ google-cloud-env (~> 2.1)
83
81
  jwt (>= 1.4, < 3.0)
84
- memoist (~> 0.16)
85
82
  multi_json (~> 1.11)
86
83
  os (>= 0.9, < 2.0)
87
- signet (~> 0.14)
84
+ signet (>= 0.16, < 2.a)
88
85
  guess_html_encoding (0.0.11)
89
- hashdiff (1.0.1)
86
+ hashdiff (1.1.0)
90
87
  hashery (2.1.2)
91
- http-cookie (1.0.4)
88
+ http-cookie (1.0.5)
92
89
  domain_name (~> 0.5)
93
90
  httpclient (2.8.3)
94
- i18n (1.8.10)
91
+ i18n (1.14.4)
95
92
  concurrent-ruby (~> 1.0)
96
- jwt (2.2.3)
97
- mechanize (2.8.1)
98
- addressable (~> 2.7)
93
+ jwt (2.8.1)
94
+ base64
95
+ mechanize (2.10.0)
96
+ addressable (~> 2.8)
97
+ base64
99
98
  domain_name (~> 0.5, >= 0.5.20190701)
100
99
  http-cookie (~> 1.0, >= 1.0.3)
101
100
  mime-types (~> 3.0)
102
101
  net-http-digest_auth (~> 1.4, >= 1.4.1)
103
102
  net-http-persistent (>= 2.5.2, < 5.0.dev)
103
+ nkf
104
104
  nokogiri (~> 1.11, >= 1.11.2)
105
105
  rubyntlm (~> 0.6, >= 0.6.3)
106
106
  webrick (~> 1.7)
107
107
  webrobots (~> 0.1.2)
108
- memoist (0.16.2)
109
108
  method_source (1.0.0)
110
- mime-types (3.3.1)
109
+ mime-types (3.5.2)
111
110
  mime-types-data (~> 3.2015)
112
- mime-types-data (3.2021.0225)
113
- mini_mime (1.1.0)
114
- mini_portile2 (2.5.3)
115
- minitest (5.14.4)
111
+ mime-types-data (3.2024.0305)
112
+ mini_mime (1.1.5)
113
+ minitest (5.22.2)
116
114
  multi_json (1.15.0)
117
- multipart-post (2.1.1)
115
+ mutex_m (0.2.0)
118
116
  natto (1.2.0)
119
117
  ffi (>= 1.9.0)
118
+ net-http (0.4.1)
119
+ uri
120
120
  net-http-digest_auth (1.4.1)
121
- net-http-persistent (4.0.1)
121
+ net-http-persistent (4.0.2)
122
122
  connection_pool (~> 2.2)
123
- nokogiri (1.11.7)
124
- mini_portile2 (~> 2.5.0)
123
+ nkf (0.2.0)
124
+ nokogiri (1.16.2-aarch64-linux)
125
+ racc (~> 1.4)
126
+ nokogiri (1.16.2-arm-linux)
127
+ racc (~> 1.4)
128
+ nokogiri (1.16.2-arm64-darwin)
129
+ racc (~> 1.4)
130
+ nokogiri (1.16.2-x86-linux)
131
+ racc (~> 1.4)
132
+ nokogiri (1.16.2-x86_64-darwin)
133
+ racc (~> 1.4)
134
+ nokogiri (1.16.2-x86_64-linux)
125
135
  racc (~> 1.4)
126
- nokogumbo (2.0.5)
127
- nokogiri (~> 1.8, >= 1.8.4)
128
- os (1.1.1)
136
+ os (1.1.4)
129
137
  pdf-reader (2.4.0)
130
138
  Ascii85 (~> 1.0.0)
131
139
  afm (~> 0.2.1)
132
140
  hashery (~> 2.0)
133
141
  ruby-rc4
134
142
  ttfunk
135
- pry (0.13.1)
143
+ pry (0.14.2)
136
144
  coderay (~> 1.1)
137
145
  method_source (~> 1.0)
138
- pry-byebug (3.9.0)
146
+ pry-byebug (3.10.1)
139
147
  byebug (~> 11.0)
140
- pry (~> 0.13.0)
141
- public_suffix (4.0.6)
142
- racc (1.5.2)
143
- rake (13.0.3)
144
- representable (3.1.1)
148
+ pry (>= 0.13, < 0.15)
149
+ public_suffix (5.0.4)
150
+ racc (1.7.3)
151
+ rake (13.1.0)
152
+ representable (3.2.0)
145
153
  declarative (< 0.1.0)
146
154
  trailblazer-option (>= 0.1.1, < 0.2.0)
147
155
  uber (< 0.2.0)
148
156
  retriable (3.1.2)
149
- rexml (3.2.4)
150
- rspec (3.10.0)
151
- rspec-core (~> 3.10.0)
152
- rspec-expectations (~> 3.10.0)
153
- rspec-mocks (~> 3.10.0)
154
- rspec-core (3.10.1)
155
- rspec-support (~> 3.10.0)
156
- rspec-expectations (3.10.1)
157
+ rexml (3.2.6)
158
+ rspec (3.13.0)
159
+ rspec-core (~> 3.13.0)
160
+ rspec-expectations (~> 3.13.0)
161
+ rspec-mocks (~> 3.13.0)
162
+ rspec-core (3.13.0)
163
+ rspec-support (~> 3.13.0)
164
+ rspec-expectations (3.13.0)
157
165
  diff-lcs (>= 1.2.0, < 2.0)
158
- rspec-support (~> 3.10.0)
159
- rspec-mocks (3.10.2)
166
+ rspec-support (~> 3.13.0)
167
+ rspec-mocks (3.13.0)
160
168
  diff-lcs (>= 1.2.0, < 2.0)
161
- rspec-support (~> 3.10.0)
162
- rspec-support (3.10.2)
169
+ rspec-support (~> 3.13.0)
170
+ rspec-support (3.13.1)
163
171
  ruby-rc4 (0.1.5)
164
172
  ruby-readability (0.7.0)
165
173
  guess_html_encoding (>= 0.0.4)
166
174
  nokogiri (>= 1.6.0)
167
- ruby2_keywords (0.0.4)
168
175
  rubyntlm (0.6.3)
169
- rubyzip (2.3.0)
170
- sanitize (5.2.3)
176
+ rubyzip (2.3.2)
177
+ sanitize (6.1.0)
171
178
  crass (~> 1.0.2)
172
- nokogiri (>= 1.8.0)
173
- nokogumbo (~> 2.0)
174
- selenium-webdriver (3.142.7)
175
- childprocess (>= 0.5, < 4.0)
176
- rubyzip (>= 1.2.2)
177
- signet (0.15.0)
178
- addressable (~> 2.3)
179
- faraday (>= 0.17.3, < 2.0)
179
+ nokogiri (>= 1.12.0)
180
+ selenium-webdriver (4.18.1)
181
+ base64 (~> 0.2)
182
+ rexml (~> 3.2, >= 3.2.5)
183
+ rubyzip (>= 1.2.2, < 3.0)
184
+ websocket (~> 1.0)
185
+ signet (0.19.0)
186
+ addressable (~> 2.8)
187
+ faraday (>= 0.17.5, < 3.a)
180
188
  jwt (>= 1.5, < 3.0)
181
189
  multi_json (~> 1.10)
182
- thor (1.1.0)
183
- trailblazer-option (0.1.1)
184
- ttfunk (1.7.0)
185
- tzinfo (2.0.4)
190
+ thor (1.3.1)
191
+ trailblazer-option (0.1.2)
192
+ ttfunk (1.8.0)
193
+ bigdecimal (~> 3.1)
194
+ tzinfo (2.0.6)
186
195
  concurrent-ruby (~> 1.0)
187
196
  uber (0.1.0)
188
- unf (0.1.4)
189
- unf_ext
190
- unf_ext (0.0.7.7)
191
- webmock (3.11.2)
192
- addressable (>= 2.3.6)
197
+ uri (0.13.0)
198
+ webmock (3.23.0)
199
+ addressable (>= 2.8.0)
193
200
  crack (>= 0.3.2)
194
201
  hashdiff (>= 0.4.0, < 2.0.0)
195
- webrick (1.7.0)
202
+ webrick (1.8.1)
196
203
  webrobots (0.1.2)
197
- zeitwerk (2.4.2)
204
+ websocket (1.2.10)
198
205
 
199
206
  PLATFORMS
200
- ruby
207
+ aarch64-linux
208
+ arm-linux
209
+ arm64-darwin
210
+ x86-linux
211
+ x86_64-darwin
212
+ x86_64-linux
201
213
 
202
214
  DEPENDENCIES
203
- pry (>= 0.13.1)
204
- pry-byebug (= 3.9.0)
205
- rake (>= 10.0)
206
- rspec (>= 3.0)
215
+ pry (>= 0.14.2)
216
+ pry-byebug (= 3.10.1)
217
+ rake (>= 13.1.0)
218
+ rspec (>= 3.13.0)
207
219
  web_stat!
208
- webmock (>= 3.8.3)
220
+ webmock (>= 3.23.0)
209
221
 
210
222
  BUNDLED WITH
211
- 2.2.4
223
+ 2.5.6
data/docker-compose.yml CHANGED
@@ -3,10 +3,9 @@ networks:
3
3
  app-tier:
4
4
  driver: bridge
5
5
  services:
6
- web_stat:
6
+ app:
7
7
  tty: true
8
8
  stdin_open: true
9
- container_name: web_stat
10
9
  build:
11
10
  context: .
12
11
  dockerfile: Dockerfile
@@ -15,4 +14,4 @@ services:
15
14
  working_dir: /var/www/docker
16
15
  command: bash
17
16
  networks:
18
- - app-tier
17
+ - app-tier
@@ -2,31 +2,31 @@ require 'yaml'
2
2
  module WebStat
3
3
  class Configure
4
4
  DEFAULT_CONFIG_FILE_PATH = 'config/web_stat.yml'
5
-
5
+
6
6
  class << self
7
7
  # Get yaml
8
8
  def get
9
9
  if defined? Rails
10
- YAML.load(ERB.new(File.read(get_configure_path)).result)[Rails.env]
10
+ Psych.safe_load(ERB.new(File.read(get_configure_path)).result, aliases: true)[Rails.env]
11
11
  else
12
- YAML.load(ERB.new(File.read(get_configure_path)).result)[ENV["ENV"] || "production"]
12
+ Psych::safe_load(ERB.new(File.read(get_configure_path)).result, aliases: true)[ENV["ENV"] || "production"]
13
13
  end
14
14
  end
15
-
15
+
16
16
  # Get configure path
17
17
  def get_configure_path
18
- if File.exists?(get_custom_configure_path)
18
+ if File.exist?(get_custom_configure_path)
19
19
  get_custom_configure_path
20
20
  else
21
21
  get_default_configure_path
22
22
  end
23
23
  end
24
-
24
+
25
25
  # Get default configure path
26
26
  def get_default_configure_path
27
27
  File.join(File.expand_path("../", __FILE__), DEFAULT_CONFIG_FILE_PATH)
28
28
  end
29
-
29
+
30
30
  # Get custom configure path
31
31
  def get_custom_configure_path
32
32
  if defined? Rails
@@ -40,12 +40,12 @@ module WebStat
40
40
  Sanitize.clean(Readability::Document.new(@nokogiri.at('body').to_s).content)
41
41
  end
42
42
  end
43
-
43
+
44
44
  # Get describe of youtube movie.
45
45
  def youtube_decscription
46
46
  regex_string = WebStat::Configure.get["id_extraction_regexs"]["youtube"]
47
47
  if @url.match(regex_string)
48
- id = @url.gsub(%r{#{regex_string}}, '\1')
48
+ id = @url.gsub(%r{#{regex_string}.*$}, '\1')
49
49
  youtube = Google::Apis::YoutubeV3::YouTubeService.new
50
50
  youtube.key = WebStat::Configure.get["api_keys"]["youtube"]
51
51
  response = youtube.list_videos(:snippet, id: id)
@@ -66,7 +66,7 @@ module WebStat
66
66
  # If there is a thumbnail rule, apply it.
67
67
  WebStat::Configure.get["id_extraction_regexs"].each do |provider, regex_string|
68
68
  if @url.match(regex_string)
69
- return @url.gsub(%r{#{regex_string}}, WebStat::Configure.get["thumbnail_regex"][provider])
69
+ return @url.gsub(%r{#{regex_string}.*$}, WebStat::Configure.get["thumbnail_regex"][provider])
70
70
  end
71
71
  end
72
72
  readability_content = ::Nokogiri::HTML(Readability::Document.new(@nokogiri.at('body').to_s).content)
@@ -133,7 +133,7 @@ module WebStat
133
133
  end
134
134
  body
135
135
  end
136
-
136
+
137
137
  # Return Date or last modified header.
138
138
  # @param [String] url
139
139
  # @return DataTime
@@ -157,9 +157,9 @@ module WebStat
157
157
  def stat(userdics: nil)
158
158
  clean_content = content.scrub('').gsub(/[\n\t\r ]/, "").gsub(/\s{2,}/, "\s").gsub(URI.regexp, "")
159
159
  language_code = CLD.detect_language(clean_content)[:code]
160
- if userdics && userdics.has_key?(language_code) && File.exists?(userdics[language_code])
160
+ if userdics && userdics.has_key?(language_code) && File.exist?(userdics[language_code])
161
161
  tag = WebStat::Tag.new("#{title} #{content}", userdic: userdics[language_code])
162
- elsif userdics && userdics.has_key?("other") && File.exists?(userdics["other"])
162
+ elsif userdics && userdics.has_key?("other") && File.exist?(userdics["other"])
163
163
  tag = WebStat::Tag.new("#{title} #{content}", userdic: userdics["other"])
164
164
  else
165
165
  tag = WebStat::Tag.new("#{title} #{content}", userdic: WebStat::Configure.get["userdic"])
@@ -1,3 +1,3 @@
1
1
  module WebStat
2
- VERSION = "0.5.1"
3
- end
2
+ VERSION = "0.6.0"
3
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  require 'rspec/expectations'
2
2
  require "bundler/setup"
3
- require 'pry'
4
- require 'pry-byebug'
5
3
  require "web_stat"
6
4
 
7
5
  require 'webmock'
@@ -44,12 +42,12 @@ module WebStatTestHelper
44
42
  File.open(file).read
45
43
  end
46
44
  end
47
-
45
+
48
46
  # Get html of fixture by name
49
47
  def html(name)
50
48
  File.open(File.join(File.dirname(__FILE__), "fixtures", "htmls", "#{name}")).read
51
49
  end
52
-
50
+
53
51
  # Get htmls of fixture
54
52
  def scheme_and_files
55
53
  Dir.glob(File.join(File.dirname(__FILE__), "fixtures", "htmls", "*.html")).map do |file|
@@ -103,9 +101,9 @@ WebMock.stub_request(:get, "https://cdn.newsdict.jp/assets/newsdict-5d8601394c3f
103
101
  status: 200,
104
102
  body: File.new(File.join(File.dirname(__FILE__), "fixtures", "images", "newsdict-5d8601394c3f4eea2d7161ab92ab327ac7099e22214c853327011b3a71859b8e.png")),
105
103
  headers: {content_type: 'application/html; charset=utf-8'})
106
-
104
+
107
105
  WebMock.stub_request(:get, "https://newsdict.blog/last_modified_at")
108
106
  .to_return(
109
107
  status: 200,
110
108
  body: "ok",
111
- headers: {content_type: 'application/html; charset=utf-8', date: "Tue, 05 Apr 2016 07:43:08 GMT", "Last-Modified": "Tue, 05 Apr 2020 07:43:08 JST"})
109
+ headers: {content_type: 'application/html; charset=utf-8', date: "Tue, 05 Apr 2016 07:43:08 GMT", "Last-Modified": "Tue, 05 Apr 2020 07:43:08 JST"})
data/web_stat.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "web_stat"
8
8
  spec.version = WebStat::VERSION
9
9
  spec.authors = ["yusuke abe"]
10
- spec.email = ["yube@newsdict.jp"]
10
+ spec.email = ["yube@slidict.io"]
11
11
  spec.summary = "Get the status of the web pages."
12
12
  spec.description = <<-EOS.strip.gsub(/\s+/, ' ')
13
13
  Fetch the web pages and stat.
@@ -19,23 +19,23 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ["lib"]
22
-
22
+
23
23
  spec.add_runtime_dependency "bundler", ">= 2.0.2"
24
- spec.add_runtime_dependency "nokogiri", ">= 1.10.4"
25
- spec.add_runtime_dependency "mechanize", ">= 2.7.7"
24
+ spec.add_runtime_dependency "nokogiri", ">= 1.16.2"
25
+ spec.add_runtime_dependency "mechanize", ">= 2.10.0"
26
26
  spec.add_runtime_dependency "ruby-readability", ">= 0.7"
27
- spec.add_runtime_dependency "natto", ">= 1.1.2"
28
- spec.add_runtime_dependency "sanitize", ">= 5.0.0"
29
- spec.add_runtime_dependency "cld", ">= 0.8.0"
30
- spec.add_runtime_dependency "selenium-webdriver", "= 3.142.7"
27
+ spec.add_runtime_dependency "natto", ">= 1.2.0"
28
+ spec.add_runtime_dependency "sanitize", ">= 6.1.0"
29
+ spec.add_runtime_dependency "cld", ">= 0.13.0"
30
+ spec.add_runtime_dependency "selenium-webdriver", ">= 4.18.1"
31
31
  spec.add_runtime_dependency "pdf-reader", "2.4.0"
32
- spec.add_runtime_dependency "webrick", ">= 1.7.0"
33
- spec.add_runtime_dependency "rexml", ">= 3.2.4"
34
- spec.add_runtime_dependency "google-api-client", ">= 0.53.0"
32
+ spec.add_runtime_dependency "webrick", ">= 1.8.1"
33
+ spec.add_runtime_dependency "rexml", ">= 3.2.6"
34
+ spec.add_runtime_dependency "google-api-client", ">= 0.53.0"
35
35
 
36
- spec.add_development_dependency "rake", ">= 10.0"
37
- spec.add_development_dependency "rspec", ">= 3.0"
38
- spec.add_development_dependency "pry", ">= 0.13.1"
39
- spec.add_development_dependency "webmock", ">= 3.8.3"
40
- spec.add_development_dependency "pry-byebug", "3.9.0"
36
+ spec.add_development_dependency "rake", ">= 13.1.0"
37
+ spec.add_development_dependency "rspec", ">= 3.13.0"
38
+ spec.add_development_dependency "pry", ">= 0.14.2"
39
+ spec.add_development_dependency "webmock", ">= 3.23.0"
40
+ spec.add_development_dependency "pry-byebug", "3.10.1"
41
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_stat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yusuke abe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-22 00:00:00.000000000 Z
11
+ date: 2024-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.10.4
33
+ version: 1.16.2
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.10.4
40
+ version: 1.16.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mechanize
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 2.7.7
47
+ version: 2.10.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 2.7.7
54
+ version: 2.10.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ruby-readability
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.1.2
75
+ version: 1.2.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 1.1.2
82
+ version: 1.2.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: sanitize
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 5.0.0
89
+ version: 6.1.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 5.0.0
96
+ version: 6.1.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: cld
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 0.8.0
103
+ version: 0.13.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 0.8.0
110
+ version: 0.13.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: selenium-webdriver
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 3.142.7
117
+ version: 4.18.1
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 3.142.7
124
+ version: 4.18.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: pdf-reader
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,28 +142,28 @@ dependencies:
142
142
  requirements:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: 1.7.0
145
+ version: 1.8.1
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 1.7.0
152
+ version: 1.8.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rexml
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 3.2.4
159
+ version: 3.2.6
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: 3.2.4
166
+ version: 3.2.6
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: google-api-client
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,78 +184,80 @@ dependencies:
184
184
  requirements:
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: '10.0'
187
+ version: 13.1.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
- version: '10.0'
194
+ version: 13.1.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rspec
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - ">="
200
200
  - !ruby/object:Gem::Version
201
- version: '3.0'
201
+ version: 3.13.0
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - ">="
207
207
  - !ruby/object:Gem::Version
208
- version: '3.0'
208
+ version: 3.13.0
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: pry
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
- version: 0.13.1
215
+ version: 0.14.2
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - ">="
221
221
  - !ruby/object:Gem::Version
222
- version: 0.13.1
222
+ version: 0.14.2
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: webmock
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - ">="
228
228
  - !ruby/object:Gem::Version
229
- version: 3.8.3
229
+ version: 3.23.0
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
- version: 3.8.3
236
+ version: 3.23.0
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: pry-byebug
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - '='
242
242
  - !ruby/object:Gem::Version
243
- version: 3.9.0
243
+ version: 3.10.1
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - '='
249
249
  - !ruby/object:Gem::Version
250
- version: 3.9.0
250
+ version: 3.10.1
251
251
  description: Fetch the web pages and stat.
252
252
  email:
253
- - yube@newsdict.jp
253
+ - yube@slidict.io
254
254
  executables:
255
255
  - fetch_as_url
256
256
  extensions: []
257
257
  extra_rdoc_files: []
258
258
  files:
259
+ - ".github/workflows/gem-push.yml"
260
+ - ".github/workflows/ruby.yml"
259
261
  - ".gitignore"
260
262
  - ".rspec"
261
263
  - ".ruby-version"
@@ -316,7 +318,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
318
  - !ruby/object:Gem::Version
317
319
  version: '0'
318
320
  requirements: []
319
- rubygems_version: 3.2.3
321
+ rubygems_version: 3.4.1
320
322
  signing_key:
321
323
  specification_version: 4
322
324
  summary: Get the status of the web pages.