highscore 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/History.txt +5 -0
- data/README.md +36 -38
- data/lib/highscore/content.rb +1 -0
- data/lib/highscore/keywords.rb +1 -1
- data/test/highscore/test_content.rb +8 -0
- data/version.txt +1 -1
- metadata +4 -5
- data/highscore.gemspec +0 -34
data/.gitignore
CHANGED
data/History.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
== 0.4.1 / 2012-02-06
|
2
|
+
|
3
|
+
* fixed handling of keywords that are actually Fixnums
|
4
|
+
* fixed a typo in the README (thanks to snyff)
|
5
|
+
|
1
6
|
== 0.4.0 / 2012-02-04
|
2
7
|
|
3
8
|
* monkey-patched String to have a keywords method on it that takes the same arguments as Highscore::Content.new
|
data/README.md
CHANGED
@@ -14,61 +14,59 @@ Features
|
|
14
14
|
Examples
|
15
15
|
--------
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
```ruby
|
18
|
+
text = Highscore::Content.new "foo bar"
|
19
|
+
text.configure do
|
20
|
+
set :multiplier, 2
|
21
|
+
set :upper_case, 3
|
22
|
+
set :long_words, 2
|
23
|
+
set :long_words_threshold, 15
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
-
|
26
|
+
# get all keywords
|
27
|
+
text.keywords.rank => Array
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
# get the top 50 keywords
|
30
|
+
text.keywords.top(50).each do |keyword|
|
31
|
+
keyword.text # => keyword text
|
32
|
+
keyword.weight # => rank weight (float)
|
33
|
+
end
|
33
34
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
# you could simply just use a string
|
36
|
+
text = "foo bar".keywords(blacklist) do
|
37
|
+
set :multiplier, 10
|
38
|
+
end
|
38
39
|
|
39
|
-
|
40
|
+
text.keywords
|
41
|
+
```
|
40
42
|
|
41
43
|
|
42
44
|
Using a custom blacklist to ignore keywords
|
43
45
|
-------------------------------------------
|
44
46
|
|
45
|
-
|
46
|
-
|
47
|
-
|
47
|
+
```ruby
|
48
|
+
# setting single words
|
49
|
+
blacklist = Highscore::Blacklist.new
|
50
|
+
blacklist << 'foo'
|
48
51
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
+
# load a string/array
|
53
|
+
blacklist = Highscore::Blacklist.load "a string"
|
54
|
+
blacklist = Highscore::Blacklist.load %w{an array}
|
52
55
|
|
53
|
-
|
54
|
-
|
56
|
+
# loading from a file (separated by whitespace)
|
57
|
+
blacklist = Highscore::Blacklist.load_file "blacklist.txt"
|
55
58
|
|
56
|
-
|
57
|
-
|
59
|
+
# loading the default blacklist (falls back automatically if not explicit given)
|
60
|
+
blacklist = Highscore::Blacklist.load_default_file
|
58
61
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
Requirements
|
64
|
-
------------
|
65
|
-
|
66
|
-
(none)
|
62
|
+
# inject the blacklist into the content class
|
63
|
+
content = Highscore::Content.new "a string", blacklist
|
64
|
+
```
|
67
65
|
|
68
66
|
Install
|
69
67
|
-------
|
70
68
|
|
71
|
-
* sudo gem install highscore
|
69
|
+
* `[sudo] gem install highscore`
|
72
70
|
|
73
71
|
Author
|
74
72
|
------
|
data/lib/highscore/content.rb
CHANGED
data/lib/highscore/keywords.rb
CHANGED
@@ -10,7 +10,7 @@ module Highscore
|
|
10
10
|
|
11
11
|
# find keywords in a piece of content
|
12
12
|
def self.find_keywords content, blacklist
|
13
|
-
keywords = content.scan(/\w+/)
|
13
|
+
keywords = content.to_s.scan(/\w+/)
|
14
14
|
keywords.delete_if do |x|
|
15
15
|
x.match(/^[\d]+(\.[\d]+){0,1}$/) or x.length <= 2
|
16
16
|
end
|
@@ -22,4 +22,12 @@ class TestContent < Test::Unit::TestCase
|
|
22
22
|
content = Highscore::Content.new content
|
23
23
|
assert_equal 2, content.keywords.length
|
24
24
|
end
|
25
|
+
|
26
|
+
# https://github.com/domnikl/highscore/issues/7
|
27
|
+
def test_keywords_fixnum
|
28
|
+
content = '522 abc 232'
|
29
|
+
|
30
|
+
content = Highscore::Content.new content
|
31
|
+
assert_equal 1, content.keywords.length
|
32
|
+
end
|
25
33
|
end
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.1
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: highscore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bones
|
16
|
-
requirement: &
|
16
|
+
requirement: &70092474871020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 3.7.3
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70092474871020
|
25
25
|
description: Find and rank keywords in long texts.
|
26
26
|
email: liebler.dominik@googlemail.com
|
27
27
|
executables:
|
@@ -38,7 +38,6 @@ files:
|
|
38
38
|
- README.md
|
39
39
|
- Rakefile
|
40
40
|
- bin/highscore
|
41
|
-
- highscore.gemspec
|
42
41
|
- lib/blacklist.txt
|
43
42
|
- lib/highscore.rb
|
44
43
|
- lib/highscore/blacklist.rb
|
data/highscore.gemspec
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = "highscore"
|
5
|
-
s.version = "0.3.0"
|
6
|
-
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["Dominik Liebler"]
|
9
|
-
s.date = "2012-01-21"
|
10
|
-
s.description = "Rank keywords in long texts."
|
11
|
-
s.email = "liebler.dominik@googlemail.com"
|
12
|
-
s.executables = ["highscore"]
|
13
|
-
s.extra_rdoc_files = ["History.txt", "bin/highscore"]
|
14
|
-
s.files = [".gitignore", "History.txt", "README.md", "Rakefile", "bin/highscore", "lib/highscore.rb", "lib/highscore/content.rb", "lib/highscore/keyword.rb", "lib/highscore/keywords.rb", "test/highscore/test_content.rb", "test/highscore/test_keyword.rb", "test/highscore/test_keywords.rb", "test/test_highscore.rb", "version.txt"]
|
15
|
-
s.homepage = "http://thewebdev.de"
|
16
|
-
s.rdoc_options = ["--main", "README.md"]
|
17
|
-
s.require_paths = ["lib"]
|
18
|
-
s.rubyforge_project = "highscore"
|
19
|
-
s.rubygems_version = "1.8.11"
|
20
|
-
s.summary = "Rank keywords in long texts."
|
21
|
-
s.test_files = ["test/highscore/test_content.rb", "test/highscore/test_keyword.rb", "test/highscore/test_keywords.rb", "test/test_highscore.rb"]
|
22
|
-
|
23
|
-
if s.respond_to? :specification_version then
|
24
|
-
s.specification_version = 3
|
25
|
-
|
26
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
27
|
-
s.add_development_dependency(%q<bones>, [">= 3.7.3"])
|
28
|
-
else
|
29
|
-
s.add_dependency(%q<bones>, [">= 3.7.3"])
|
30
|
-
end
|
31
|
-
else
|
32
|
-
s.add_dependency(%q<bones>, [">= 3.7.3"])
|
33
|
-
end
|
34
|
-
end
|