linnaeus 1.1.0 → 1.2.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 +4 -4
- data/.ruby-version +1 -1
- data/Gemfile.lock +37 -33
- data/VERSION +1 -1
- data/lib/linnaeus/classifier.rb +2 -0
- data/lib/linnaeus/persistence.rb +15 -11
- data/linnaeus.gemspec +5 -4
- data/spec/linnaeus_persistence_spec.rb +13 -8
- data/spec/linnaeus_stopwords_spec.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: df43732df7d9d0ef05621e4b61689ff5caca13c9
|
|
4
|
+
data.tar.gz: da7169077289b7edea978906dd0918549a339c6a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 39629861a50d32557e78191fb804cfa51d1051b122c1d32cb0729a7317c724514c47f0101e0fcb53d2459f5ee21bb06c630295aec77f06cd4261083c398f8b27
|
|
7
|
+
data.tar.gz: 3b364ee8fbecc54a9e589e4902c63132dee0ab940ec70f0ca5f399b97317e7c8f699526d6b6a697b1b8a85afaa89cde3bc61fa0c25ad86cb0a73b04605cde04b
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.0.0-
|
|
1
|
+
2.0.0-p353
|
data/Gemfile.lock
CHANGED
|
@@ -3,49 +3,52 @@ GEM
|
|
|
3
3
|
specs:
|
|
4
4
|
addressable (2.3.5)
|
|
5
5
|
builder (3.2.2)
|
|
6
|
+
descendants_tracker (0.0.3)
|
|
6
7
|
diff-lcs (1.1.3)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
docile (1.1.3)
|
|
9
|
+
faraday (0.9.0)
|
|
10
|
+
multipart-post (>= 1.2, < 3)
|
|
11
|
+
git (1.2.6)
|
|
12
|
+
github_api (0.11.3)
|
|
13
|
+
addressable (~> 2.3)
|
|
14
|
+
descendants_tracker (~> 0.0.1)
|
|
15
|
+
faraday (~> 0.8, < 0.10)
|
|
13
16
|
hashie (>= 1.2)
|
|
14
|
-
multi_json (
|
|
15
|
-
nokogiri (~> 1.
|
|
17
|
+
multi_json (>= 1.7.5, < 2.0)
|
|
18
|
+
nokogiri (~> 1.6.0)
|
|
16
19
|
oauth2
|
|
17
20
|
hashie (2.0.5)
|
|
18
|
-
highline (1.6.
|
|
19
|
-
|
|
20
|
-
jeweler (1.8.6)
|
|
21
|
+
highline (1.6.21)
|
|
22
|
+
jeweler (2.0.1)
|
|
21
23
|
builder
|
|
22
|
-
bundler (
|
|
24
|
+
bundler (>= 1.0)
|
|
23
25
|
git (>= 1.2.5)
|
|
24
|
-
github_api
|
|
26
|
+
github_api
|
|
25
27
|
highline (>= 1.6.15)
|
|
26
|
-
nokogiri (
|
|
28
|
+
nokogiri (>= 1.5.10)
|
|
27
29
|
rake
|
|
28
30
|
rdoc
|
|
29
|
-
json (1.8.
|
|
30
|
-
jwt (0.1.
|
|
31
|
+
json (1.8.1)
|
|
32
|
+
jwt (0.1.11)
|
|
31
33
|
multi_json (>= 1.5)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
mini_portile (0.5.2)
|
|
35
|
+
multi_json (1.9.0)
|
|
36
|
+
multi_xml (0.5.5)
|
|
37
|
+
multipart-post (2.0.0)
|
|
38
|
+
nokogiri (1.6.1)
|
|
39
|
+
mini_portile (~> 0.5.0)
|
|
40
|
+
oauth2 (0.9.3)
|
|
41
|
+
faraday (>= 0.8, < 0.10)
|
|
42
|
+
jwt (~> 0.1.8)
|
|
43
|
+
multi_json (~> 1.3)
|
|
41
44
|
multi_xml (~> 0.5)
|
|
42
45
|
rack (~> 1.2)
|
|
43
46
|
rack (1.5.2)
|
|
44
|
-
rake (10.1.
|
|
47
|
+
rake (10.1.1)
|
|
45
48
|
rdoc (3.12.2)
|
|
46
49
|
json (~> 1.4)
|
|
47
|
-
redcarpet (3.
|
|
48
|
-
redis (3.0.
|
|
50
|
+
redcarpet (3.1.1)
|
|
51
|
+
redis (3.0.7)
|
|
49
52
|
rspec (2.11.0)
|
|
50
53
|
rspec-core (~> 2.11.0)
|
|
51
54
|
rspec-expectations (~> 2.11.0)
|
|
@@ -54,12 +57,13 @@ GEM
|
|
|
54
57
|
rspec-expectations (2.11.3)
|
|
55
58
|
diff-lcs (~> 1.1.3)
|
|
56
59
|
rspec-mocks (2.11.3)
|
|
57
|
-
simplecov (0.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
simplecov (0.8.2)
|
|
61
|
+
docile (~> 1.1.0)
|
|
62
|
+
multi_json
|
|
63
|
+
simplecov-html (~> 0.8.0)
|
|
64
|
+
simplecov-html (0.8.0)
|
|
61
65
|
stemmer (1.0.1)
|
|
62
|
-
yard (0.8.
|
|
66
|
+
yard (0.8.7.3)
|
|
63
67
|
|
|
64
68
|
PLATFORMS
|
|
65
69
|
ruby
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.2.0
|
data/lib/linnaeus/classifier.rb
CHANGED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
# Set to true to skip porter stemming.
|
|
14
14
|
# encoding::
|
|
15
15
|
# Force text to use this character set. UTF-8 by default.
|
|
16
|
+
# redis_connection::
|
|
17
|
+
# An instantiated Redis connection, allowing you to reuse an existing Redis connection.
|
|
16
18
|
# redis_host::
|
|
17
19
|
# Passed to persistence class constructor. Defaults to "127.0.0.1"
|
|
18
20
|
# redis_port::
|
data/lib/linnaeus/persistence.rb
CHANGED
|
@@ -18,17 +18,21 @@ class Linnaeus::Persistence < Linnaeus
|
|
|
18
18
|
|
|
19
19
|
@scope = options[:scope]
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
if options[:redis_connection]
|
|
22
|
+
@redis = options[:redis_connection]
|
|
23
|
+
else
|
|
24
|
+
@redis = Redis.new(
|
|
25
|
+
host: options[:redis_host],
|
|
26
|
+
port: options[:redis_port],
|
|
27
|
+
db: options[:redis_db],
|
|
28
|
+
scheme: options[:redis_scheme],
|
|
29
|
+
path: options[:redis_path],
|
|
30
|
+
timeout: options[:redis_timeout],
|
|
31
|
+
password: options[:redis_password],
|
|
32
|
+
id: options[:redis_id],
|
|
33
|
+
tcp_keepalive: options[:redis_tcp_keepalive]
|
|
34
|
+
)
|
|
35
|
+
end
|
|
32
36
|
|
|
33
37
|
self
|
|
34
38
|
end
|
data/linnaeus.gemspec
CHANGED
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
+
# stub: linnaeus 1.2.0 ruby lib
|
|
5
6
|
|
|
6
7
|
Gem::Specification.new do |s|
|
|
7
8
|
s.name = "linnaeus"
|
|
8
|
-
s.version = "1.
|
|
9
|
+
s.version = "1.2.0"
|
|
9
10
|
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib"]
|
|
11
13
|
s.authors = ["djcp"]
|
|
12
|
-
s.date = "
|
|
14
|
+
s.date = "2014-03-18"
|
|
13
15
|
s.description = "Linnaeus provides a redis-backed Bayesian classifier. Words are stemmed, stopwords are stopped, and redis is used to allow for persistent and concurrent training and classification."
|
|
14
16
|
s.email = "dan@collispuro.net"
|
|
15
17
|
s.extra_rdoc_files = [
|
|
@@ -43,8 +45,7 @@ Gem::Specification.new do |s|
|
|
|
43
45
|
]
|
|
44
46
|
s.homepage = "http://github.com/djcp/linnaeus"
|
|
45
47
|
s.licenses = ["MIT"]
|
|
46
|
-
s.
|
|
47
|
-
s.rubygems_version = "2.0.0"
|
|
48
|
+
s.rubygems_version = "2.2.1"
|
|
48
49
|
s.summary = "Another redis-backed Bayesian classifier"
|
|
49
50
|
|
|
50
51
|
if s.respond_to? :specification_version then
|
|
@@ -6,10 +6,15 @@ describe Linnaeus::Persistence do
|
|
|
6
6
|
lp.clear_training_data
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
+
it "should accept an existing redis connection" do
|
|
10
|
+
lp = Linnaeus::Persistence.new(redis_connection: Redis.new)
|
|
11
|
+
lp.redis.should_not be_nil
|
|
12
|
+
end
|
|
13
|
+
|
|
9
14
|
it 'sets keys properly with defaults' do
|
|
10
15
|
lp2 = get_linnaeus_persistence
|
|
11
16
|
train_a_document_in('foobar')
|
|
12
|
-
lp2.redis.keys('*').should
|
|
17
|
+
lp2.redis.keys('*').should match_array ['Linnaeus:category', 'Linnaeus:cat:foobar']
|
|
13
18
|
end
|
|
14
19
|
|
|
15
20
|
context "custom scopes" do
|
|
@@ -19,7 +24,7 @@ describe Linnaeus::Persistence do
|
|
|
19
24
|
|
|
20
25
|
train_a_document_in('foobar', scope: 'new-scope')
|
|
21
26
|
|
|
22
|
-
lp2.redis.keys('*').
|
|
27
|
+
lp2.redis.keys('*').should match_array [
|
|
23
28
|
'Linnaeus:new-scope:cat:foobar', 'Linnaeus:new-scope:category'
|
|
24
29
|
]
|
|
25
30
|
end
|
|
@@ -33,14 +38,14 @@ describe Linnaeus::Persistence do
|
|
|
33
38
|
|
|
34
39
|
train_a_document_in('foobar', scope: 'new-scope')
|
|
35
40
|
|
|
36
|
-
lp.redis.keys.
|
|
41
|
+
lp.redis.keys.should match_array [
|
|
37
42
|
"Linnaeus:cat:foobar", "Linnaeus:category",
|
|
38
43
|
"Linnaeus:new-scope:cat:foobar", "Linnaeus:new-scope:category"
|
|
39
44
|
]
|
|
40
45
|
|
|
41
46
|
lp2.clear_training_data
|
|
42
47
|
|
|
43
|
-
lp.redis.keys.
|
|
48
|
+
lp.redis.keys.should match_array [
|
|
44
49
|
"Linnaeus:cat:foobar", "Linnaeus:category"
|
|
45
50
|
]
|
|
46
51
|
end
|
|
@@ -52,8 +57,8 @@ describe Linnaeus::Persistence do
|
|
|
52
57
|
lp2 = get_linnaeus_persistence(scope: 'new-scope')
|
|
53
58
|
add_categories lp2, ['slack' , 'frop']
|
|
54
59
|
|
|
55
|
-
lp2.get_categories.
|
|
56
|
-
lp.get_categories.
|
|
60
|
+
lp2.get_categories.should match_array ['frop', 'slack']
|
|
61
|
+
lp.get_categories.should match_array ['bar','baz','foo']
|
|
57
62
|
end
|
|
58
63
|
end
|
|
59
64
|
|
|
@@ -68,14 +73,14 @@ describe Linnaeus::Persistence do
|
|
|
68
73
|
it 'stores categories successfully' do
|
|
69
74
|
lp = get_linnaeus_persistence
|
|
70
75
|
add_categories lp
|
|
71
|
-
lp.get_categories.
|
|
76
|
+
lp.get_categories.should match_array ['bar','baz','foo']
|
|
72
77
|
end
|
|
73
78
|
|
|
74
79
|
it 'can remove categories' do
|
|
75
80
|
lp = get_linnaeus_persistence
|
|
76
81
|
add_categories lp
|
|
77
82
|
lp.remove_category 'bar'
|
|
78
|
-
lp.get_categories.
|
|
83
|
+
lp.get_categories.should match_array ['baz','foo']
|
|
79
84
|
end
|
|
80
85
|
|
|
81
86
|
it '#get_words_with_count_for_category' do
|
|
@@ -14,7 +14,7 @@ describe Linnaeus::Stopwords do
|
|
|
14
14
|
end
|
|
15
15
|
it 'can have stopwords overridden' do
|
|
16
16
|
subject.stopwords = ['foo','bar']
|
|
17
|
-
subject.to_a.should
|
|
17
|
+
subject.to_a.should match_array ['foo','bar']
|
|
18
18
|
subject.to_set.should eq ['foo','bar'].to_set
|
|
19
19
|
end
|
|
20
20
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: linnaeus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- djcp
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2014-03-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: redis
|
|
@@ -189,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
189
189
|
version: '0'
|
|
190
190
|
requirements: []
|
|
191
191
|
rubyforge_project:
|
|
192
|
-
rubygems_version: 2.
|
|
192
|
+
rubygems_version: 2.2.1
|
|
193
193
|
signing_key:
|
|
194
194
|
specification_version: 4
|
|
195
195
|
summary: Another redis-backed Bayesian classifier
|