bad_words 0.1.3 → 0.1.4
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/bad_words.gemspec +1 -1
- data/lib/bad_words.rb +26 -11
- data/test/bad_words_test.rb +16 -0
- metadata +4 -4
data/bad_words.gemspec
CHANGED
data/lib/bad_words.rb
CHANGED
@@ -2,30 +2,45 @@ require 'yaml'
|
|
2
2
|
|
3
3
|
module BadWords
|
4
4
|
|
5
|
-
#Str : String
|
5
|
+
#Str : String
|
6
6
|
#Nivel 1 : clean bad words.
|
7
7
|
#Nivel 2 : clean block words {exemplo name of concurrence, name of group or products of group}
|
8
8
|
#Nivel 3 : use all filters
|
9
9
|
def self.make_clean(str, nivel)
|
10
|
-
words_define =
|
11
|
-
load_words
|
12
|
-
if nivel == 1 || nivel == 3
|
13
|
-
words_define << @words['bad_words'] << " "
|
14
|
-
end
|
15
|
-
if nivel == 2 || nivel == 3
|
16
|
-
words_define << @words['block_words']
|
17
|
-
end
|
10
|
+
words_define = load_words(nivel)
|
18
11
|
clean_string(str, words_define.split(' '))
|
19
12
|
end
|
20
13
|
|
14
|
+
#Str : String
|
15
|
+
#Nivel 1 : verify bad words.
|
16
|
+
#Nivel 2 : verify block words {exemplo name of concurrence, name of group or products of group}
|
17
|
+
#Nivel 3 : use all filters
|
18
|
+
def self.make_verify(str, nivel)
|
19
|
+
words_define = load_words(nivel)
|
20
|
+
verify_string(str, words_define.split(' '))
|
21
|
+
end
|
22
|
+
|
21
23
|
def self.clean_string(str, bad_words)
|
22
24
|
str_broken = str.downcase.split(' ')
|
23
25
|
bad_words.any? { |bw| str_broken.include?(bw) }
|
24
26
|
(str_broken - bad_words).join(' ')
|
25
|
-
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.verify_string(str, bad_words)
|
30
|
+
str_broken = str.downcase.split(' ')
|
31
|
+
str_broken.size() != (str_broken - bad_words).size()
|
32
|
+
end
|
26
33
|
|
27
|
-
def self.load_words
|
34
|
+
def self.load_words(nivel)
|
28
35
|
@words = YAML.load_file("./config/words.yml")
|
36
|
+
words_define = ""
|
37
|
+
if nivel == 1 || nivel == 3
|
38
|
+
words_define << @words['bad_words'] << " "
|
39
|
+
end
|
40
|
+
if nivel == 2 || nivel == 3
|
41
|
+
words_define << @words['block_words']
|
42
|
+
end
|
43
|
+
words_define
|
29
44
|
end
|
30
45
|
|
31
46
|
end
|
data/test/bad_words_test.rb
CHANGED
@@ -14,4 +14,20 @@ class BadWordsTest < Test::Unit::TestCase
|
|
14
14
|
def test_make_clean_nivel3
|
15
15
|
assert_equal "good", BadWords.make_clean("CARALHO good iG", 3)
|
16
16
|
end
|
17
|
+
|
18
|
+
def test_make_verify_nivel1
|
19
|
+
assert_equal true, BadWords.make_verify("CARALHO LEGAL", 1)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_make_verify_nivel2
|
23
|
+
assert_equal true, BadWords.make_verify("SITE iG", 2)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_make_verify_nivel3
|
27
|
+
assert_equal true, BadWords.make_verify("CARALHO good iG", 3)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_make_verify
|
31
|
+
assert_equal false, BadWords.make_verify("good", 3)
|
32
|
+
end
|
17
33
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bad_words
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alessandro Neri
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-09 00:00:00 -03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|