green_midget 0.0.1 → 0.0.2
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.
- data/{lib/extensions → extensions}/green_midget_check.rb +0 -0
- data/{lib/extensions → extensions}/sample.rb +0 -0
- data/lib/green_midget.rb +1 -1
- data/lib/green_midget/base.rb +3 -3
- data/{db → lib/green_midget/db}/migrate/create_green_midget_records.rb +0 -0
- data/lib/green_midget/extensions/classifier.rb +11 -0
- data/lib/green_midget/extensions/sample.rb +25 -0
- data/lib/green_midget/green_midget.rb +1 -1
- data/lib/green_midget/models/countable.rb +2 -1
- data/lib/green_midget/version.rb +1 -1
- data/lib/tasks/green_midget.rake +26 -22
- data/spec/tester.rb +1 -1
- metadata +12 -10
|
File without changes
|
|
File without changes
|
data/lib/green_midget.rb
CHANGED
|
@@ -7,7 +7,7 @@ require 'green_midget/models/examples'
|
|
|
7
7
|
require 'green_midget/models/features'
|
|
8
8
|
require 'green_midget/models/green_midget_records'
|
|
9
9
|
require 'green_midget/models/words'
|
|
10
|
-
require 'extensions/
|
|
10
|
+
require 'green_midget/extensions/classifier'
|
|
11
11
|
|
|
12
12
|
if (classifier = Gem.searcher.find('green_midget'))
|
|
13
13
|
path = classifier.full_gem_path
|
data/lib/green_midget/base.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright (c) 2011, SoundCloud Ltd., Nikola Chochkov
|
|
2
|
-
|
|
3
|
-
require
|
|
4
|
-
|
|
2
|
+
%w(logger constants url_detection).each do |file|
|
|
3
|
+
require File.join(File.dirname(__FILE__), file)
|
|
4
|
+
end
|
|
5
5
|
|
|
6
6
|
module GreenMidget
|
|
7
7
|
class Base
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (c) 2011, SoundCloud Ltd., Nikola Chochkov
|
|
2
|
+
#
|
|
3
|
+
# This is a sample of how to define new features to be
|
|
4
|
+
# tracked by GreenMidget. Eg: define user features and check
|
|
5
|
+
# them on the message sender.
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
class Sample < GreenMidget::Base
|
|
9
|
+
attr_accessor :user
|
|
10
|
+
|
|
11
|
+
def initialize(text, user)
|
|
12
|
+
@text = text
|
|
13
|
+
@user = user
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def features
|
|
19
|
+
%w(regular_user) + super
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def regular_user?
|
|
23
|
+
# implement a method checking user type
|
|
24
|
+
end
|
|
25
|
+
end
|
data/lib/green_midget/version.rb
CHANGED
data/lib/tasks/green_midget.rake
CHANGED
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
# Copyright (c) 2011, SoundCloud Ltd., Nikola Chochkov
|
|
2
2
|
require 'fileutils'
|
|
3
3
|
require 'rake'
|
|
4
|
-
require
|
|
4
|
+
require 'green_midget/db/migrate/create_green_midget_records'
|
|
5
5
|
|
|
6
6
|
namespace :green_midget do
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
namespace :setup do
|
|
8
|
+
desc "prepare this project for a world without spam using ActiveRecord"
|
|
9
|
+
task :active_record => :environment do
|
|
10
|
+
include GreenMidget
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
keys = ["url_in_text", "email_in_text"].map do |feature|
|
|
16
|
-
[ Features[feature].record_key(ALTERNATIVE), Features[feature].record_key(NULL) ]
|
|
17
|
-
end.flatten
|
|
12
|
+
unless GreenMidgetRecords.table_exists?
|
|
13
|
+
CreateGreenMidgetRecords.up
|
|
14
|
+
end
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
keys = [ ALTERNATIVE, NULL ].map do |hypothesis|
|
|
17
|
+
[
|
|
18
|
+
"feature::url_in_text::#{hypothesis}_count",
|
|
19
|
+
"feature::email_in_text::#{hypothesis}_count",
|
|
20
|
+
"examples::any::#{hypothesis}_count",
|
|
21
|
+
"examples::url_in_text::#{hypothesis}_count",
|
|
22
|
+
"examples::email_in_text::#{hypothesis}_count",
|
|
23
|
+
]
|
|
24
|
+
end.flatten
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
puts '== Creating records ==='
|
|
27
|
+
keys.each { |key|
|
|
28
|
+
unless GreenMidgetRecords.find_by_key(key)
|
|
29
|
+
GreenMidgetRecords.create(key)
|
|
30
|
+
puts "-- Created #{key}"
|
|
31
|
+
end
|
|
32
|
+
}
|
|
33
|
+
puts '== Done ==='
|
|
34
|
+
end
|
|
31
35
|
end
|
|
32
36
|
end
|
data/spec/tester.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: green_midget
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -14,7 +14,7 @@ default_executable:
|
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activerecord
|
|
17
|
-
requirement: &
|
|
17
|
+
requirement: &2152860260 !ruby/object:Gem::Requirement
|
|
18
18
|
none: false
|
|
19
19
|
requirements:
|
|
20
20
|
- - ! '>='
|
|
@@ -22,10 +22,10 @@ dependencies:
|
|
|
22
22
|
version: '0'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *2152860260
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: rspec
|
|
28
|
-
requirement: &
|
|
28
|
+
requirement: &2152859840 !ruby/object:Gem::Requirement
|
|
29
29
|
none: false
|
|
30
30
|
requirements:
|
|
31
31
|
- - ! '>='
|
|
@@ -33,10 +33,10 @@ dependencies:
|
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
|
-
version_requirements: *
|
|
36
|
+
version_requirements: *2152859840
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: bundler
|
|
39
|
-
requirement: &
|
|
39
|
+
requirement: &2152859420 !ruby/object:Gem::Requirement
|
|
40
40
|
none: false
|
|
41
41
|
requirements:
|
|
42
42
|
- - ! '>='
|
|
@@ -44,7 +44,7 @@ dependencies:
|
|
|
44
44
|
version: '0'
|
|
45
45
|
type: :development
|
|
46
46
|
prerelease: false
|
|
47
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *2152859420
|
|
48
48
|
description: Naive Bayesian Classifier with customizable features
|
|
49
49
|
email:
|
|
50
50
|
- nikola@howkul.info
|
|
@@ -63,13 +63,15 @@ files:
|
|
|
63
63
|
- Rakefile
|
|
64
64
|
- benchmark/benchmark.rb
|
|
65
65
|
- benchmark/test.rb
|
|
66
|
-
-
|
|
66
|
+
- extensions/green_midget_check.rb
|
|
67
|
+
- extensions/sample.rb
|
|
67
68
|
- green_midget.gemspec
|
|
68
|
-
- lib/extensions/green_midget_check.rb
|
|
69
|
-
- lib/extensions/sample.rb
|
|
70
69
|
- lib/green_midget.rb
|
|
71
70
|
- lib/green_midget/base.rb
|
|
72
71
|
- lib/green_midget/constants.rb
|
|
72
|
+
- lib/green_midget/db/migrate/create_green_midget_records.rb
|
|
73
|
+
- lib/green_midget/extensions/classifier.rb
|
|
74
|
+
- lib/green_midget/extensions/sample.rb
|
|
73
75
|
- lib/green_midget/green_midget.rb
|
|
74
76
|
- lib/green_midget/logger.rb
|
|
75
77
|
- lib/green_midget/models/countable.rb
|