web_stat 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32719f5aa7aaf38f9d6e212887f52f3d385793fbaf98fdeb5954fd63d3b0ff20
4
- data.tar.gz: 914b39a8161b77c3dd63ce4692dc11ac6a3e2f1545af4aaf00de61131179e478
3
+ metadata.gz: daa2f034827920f7dbdfac48830325f67cf9e95a9b724b12e643342f9b2aa170
4
+ data.tar.gz: 4a036530d8181f787522f884f5059eb321acc1ed142e6062ca3e442773d05c41
5
5
  SHA512:
6
- metadata.gz: 0b19fdc14ff8a6ec8b63460f3dcdc4888a62603a82cc01842014a4022986eb8955d2a84e6a114c08485eb5a9ac9e4351c6e89e380dcaf41f08b8f434f76a0312
7
- data.tar.gz: 5a635066609e61f6e0aa22806a29ce5427f8e15cbc47c5be714fdeab2d9b67d5a882c9ca1f6c36a1c8c95b8219c3acaf8d665b16fbc089d505eee4c0c04b55c4
6
+ metadata.gz: 95cfc5fa7d23d6ed5bfa1f4375143acfd814a56623df73687b37cd18545fad1bbb0aa0112a231f3164459dd8dc64980c70680c15aee47a5053e3bdabb1e4c2aa
7
+ data.tar.gz: 5024406dbe28de59e72b8d3cc0ccac411cc8ebcd5b74d8f40b2c861b802f3de0eaab6b4a29f3c67ed98498f159346570fc3c395cd7b8686c92c374e6d4eb4d67
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- web_stat (0.1.11)
5
- bundler (~> 2.0.2)
4
+ web_stat (0.1.12)
5
+ bundler (>= 2.0.2)
6
6
  final_redirect_url (~> 0.1.0)
7
7
  mechanize (~> 2.7)
8
8
  natto (~> 1.1.2)
@@ -99,4 +99,4 @@ DEPENDENCIES
99
99
  webmock (~> 3.6.0)
100
100
 
101
101
  BUNDLED WITH
102
- 2.0.2
102
+ 2.1.2
data/lib/web_stat/tag.rb CHANGED
@@ -3,20 +3,31 @@ module WebStat
3
3
  class Tag
4
4
  attr_accessor :natto_mecab, :article
5
5
 
6
- def initialize(article)
7
- @natto_mecab = Natto::MeCab.new
6
+ def initialize(article, userdic: nil)
7
+ @natto_mecab = Natto::MeCab.new(userdic: userdic)
8
8
  @article = article
9
9
  end
10
10
 
11
- def nouns
11
+ # Keyword extraction
12
+ # @param part_of_speech ex) 名詞, 固有名詞 etc... only Japanese
13
+ def nouns(part_of_speech: "固有名詞")
12
14
  words = Hash.new
13
15
  @natto_mecab.parse(@article) do |n|
14
- if n.feature =~ /固有名詞/ && !n.surface.empty?
16
+ features = n.feature.split(",")
17
+ if include_recursive?(features, Array(part_of_speech))
15
18
  words[n.surface] = 1 unless words[n.surface]
16
19
  words[n.surface] += 1
17
20
  end
18
21
  end
19
22
  words.keys
20
23
  end
24
+
25
+ private
26
+ # A array include? B array.
27
+ # @param target A array
28
+ # @param list B array
29
+ def include_recursive?(target, list)
30
+ list.map { |v|target.include?(v) }.all?
31
+ end
21
32
  end
22
33
  end
@@ -1,3 +1,3 @@
1
1
  module WebStat
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.12"
3
3
  end
data/web_stat.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_runtime_dependency "bundler", "~> 2.0.2"
23
+ spec.add_runtime_dependency "bundler", ">= 2.0.2"
24
24
  spec.add_runtime_dependency "nokogiri", ">= 1.10.4"
25
25
  spec.add_runtime_dependency "mechanize", "~> 2.7"
26
26
  spec.add_runtime_dependency "ruby-readability", "~> 0.7"
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_stat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - yusuke abe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-22 00:00:00.000000000 Z
11
+ date: 2019-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.0.2
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
26
  version: 2.0.2
27
27
  - !ruby/object:Gem::Dependency
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  requirements: []
224
- rubygems_version: 3.0.3
224
+ rubygems_version: 3.0.6
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: Get the status of the web pages.