linguine 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
File without changes
@@ -0,0 +1,77 @@
1
+ anal
2
+ anus
3
+ arse
4
+ ass
5
+ ballsack
6
+ balls
7
+ bastard
8
+ bitch
9
+ biatch
10
+ bloody
11
+ blowjob
12
+ blow job
13
+ bollock
14
+ bollok
15
+ boner
16
+ boob
17
+ bugger
18
+ bum
19
+ butt
20
+ buttplug
21
+ clitoris
22
+ cock
23
+ coon
24
+ crap
25
+ cunt
26
+ damn
27
+ dick
28
+ dildo
29
+ dyke
30
+ fag
31
+ feck
32
+ fellate
33
+ fellatio
34
+ felching
35
+ fuck
36
+ f u c k
37
+ fudgepacker
38
+ fudge packer
39
+ flange
40
+ Goddamn
41
+ God damn
42
+ hell
43
+ homo
44
+ jerk
45
+ jizz
46
+ knobend
47
+ knob end
48
+ labia
49
+ lmao
50
+ lmfao
51
+ muff
52
+ nigger
53
+ nigga
54
+ omg
55
+ penis
56
+ piss
57
+ poop
58
+ prick
59
+ pube
60
+ pussy
61
+ queer
62
+ scrotum
63
+ sex
64
+ shit
65
+ s hit
66
+ sh1t
67
+ slut
68
+ smegma
69
+ spunk
70
+ tit
71
+ tosser
72
+ turd
73
+ twat
74
+ vagina
75
+ wank
76
+ whore
77
+ wtf
data/lib/linguine.rb CHANGED
@@ -1,33 +1,26 @@
1
1
  class Linguine
2
2
 
3
- attr_reader :terms, :madlibs, :common_words
4
-
5
- def initialize(method, text)
3
+ @@common_words = []
4
+ @@swear_words = []
5
+
6
+ def initialize(text, method = :fuzzy)
6
7
  @method = method
7
8
  @text = text
8
9
  @terms = []
9
10
  @madlibs = text
10
- @common_words = []
11
-
12
- read_common_words
11
+
12
+ if @@common_words.empty?
13
+ read_common_words
14
+ end
13
15
 
14
- collect_terms
15
- collect_madlibs
16
- end
17
-
18
- private
19
-
20
- def read_common_words
21
- File.open('common_words_en.txt', 'r') do |f|
22
- while line = f.gets
23
- @common_words << line.gsub("\n", '')
24
- end
16
+ if @@swear_words.empty?
17
+ read_swear_words
25
18
  end
26
19
  end
27
20
 
28
- def collect_terms
21
+ def terms
29
22
  @text.split(' ').uniq.each do |word|
30
- if !@common_words.include?(word)
23
+ if !@@common_words.include?(word)
31
24
  @terms << {
32
25
  word: word,
33
26
  score: Linguine::Scores.scrabble_score(word)
@@ -38,8 +31,22 @@ class Linguine
38
31
  @terms.sort_by{|t| t[:score]}.reverse
39
32
  end
40
33
 
41
- def collect_madlibs
42
- @madlibs = @madlibs.downcase.split(' ').uniq.sort_by{rand}.join(' ').capitalize
34
+ private
35
+
36
+ def read_common_words
37
+ File.open('config/common_words_en.txt', 'r') do |f|
38
+ while line = f.gets
39
+ @@common_words << line.gsub("\n", '')
40
+ end
41
+ end
42
+ end
43
+
44
+ def read_swear_words
45
+ File.open('config/swear_words_en.txt', 'r') do |f|
46
+ while line = f.gets
47
+ @@swear_words << line.gsub("\n", '')
48
+ end
49
+ end
43
50
  end
44
51
 
45
52
  end
Binary file
data/linguine.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "linguine"
6
- s.version = '0.0.4'
6
+ s.version = '0.0.5'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Daniel Owen van Dommelen"]
9
9
  s.email = ["bunny.rabbit@igotish.com"]
@@ -3,12 +3,7 @@ require 'spec_helper'
3
3
  describe Linguine do
4
4
 
5
5
  it 'should initialize' do
6
- @linguine = Linguine.new(:rough, 'This is my text. There are many like it, but this one is mine.')
6
+ @linguine = Linguine.new('This is my text. There are many like it, but this one is mine.', :fuzzy)
7
7
  end
8
-
9
- it 'should have a list of common words' do
10
- @linguine = Linguine.new(:rough, 'This is my text. There are many like it, but this one is mine.')
11
- @linguine.common_words.should_not be_empty
12
- end
13
-
8
+
14
9
  end
data/spec/terms_spec.rb CHANGED
@@ -5,25 +5,29 @@ describe Linguine do
5
5
  context 'collect terms' do
6
6
 
7
7
  it 'should return a value' do
8
- @linguine = Linguine.new(:rough, 'This is my text. There are many like it, but this one is mine.')
8
+ @linguine = Linguine.new('This is my text. There are many like it, but this one is mine.', :fuzzy)
9
9
  @linguine.terms.should_not be_empty
10
10
  end
11
11
 
12
12
  it 'should return a sorted list of terms' do
13
- @linguine = Linguine.new(:rough, 'This is my text. There are many like it, but this one is mine.')
14
- @linguine.terms.first.should == {word: 'This', score: 7}
13
+ @linguine = Linguine.new('This is my text. There are many like it, but this one is mine.', :fuzzy)
14
+ @linguine.terms.first.should == {word: 'text.', score: 11}
15
15
  end
16
16
 
17
17
  it 'should return a unique list of terms' do
18
- @linguine = Linguine.new(:rough, 'This is my text. There are many like it, but this one is mine.')
18
+ @linguine = Linguine.new('This is my text. There are many like it, but this one is mine.', :fuzzy)
19
19
  @linguine.terms.should == @linguine.terms.uniq
20
20
  end
21
21
 
22
- it 'should no add common words to the terms' do
23
- @linguine = Linguine.new(:rough, 'war')
24
- puts @linguine.terms
22
+ it 'should not add common words to the terms' do
23
+ @linguine = Linguine.new('war', :fuzzy)
25
24
  @linguine.terms.should be_empty
26
25
  end
26
+
27
+ it 'should add non common words to the terms' do
28
+ @linguine = Linguine.new('war famine', :fuzzy)
29
+ @linguine.terms.should == [{word: 'famine', score: 11}]
30
+ end
27
31
 
28
32
  end
29
33
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linguine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-23 00:00:00.000000000Z
12
+ date: 2012-09-26 00:00:00.000000000Z
13
13
  dependencies: []
14
14
  description: ''
15
15
  email:
@@ -21,12 +21,13 @@ files:
21
21
  - Gemfile
22
22
  - Gemfile.lock
23
23
  - README.md
24
- - common_words_en.txt
24
+ - config/common_words_en.txt
25
+ - config/swear_words_en.txt
25
26
  - lib/linguine.rb
26
27
  - lib/linguine/scores.rb
28
+ - linguine-0.0.4.gem
27
29
  - linguine.gemspec
28
30
  - spec/linguine_spec.rb
29
- - spec/madlibs_spec.rb
30
31
  - spec/spec_helper.rb
31
32
  - spec/terms_spec.rb
32
33
  homepage: http://rubygems.org/gems/linguine
@@ -55,6 +56,5 @@ specification_version: 3
55
56
  summary: ''
56
57
  test_files:
57
58
  - spec/linguine_spec.rb
58
- - spec/madlibs_spec.rb
59
59
  - spec/spec_helper.rb
60
60
  - spec/terms_spec.rb
data/spec/madlibs_spec.rb DELETED
@@ -1,20 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Linguine do
4
-
5
- context 'madlibs' do
6
-
7
- it 'should return a shuffled version' do
8
- text = 'This is my text. There are many like it, but this one is mine.'
9
- @linguine = Linguine.new(:rough, text)
10
- @linguine.madlibs.should_not == text
11
- end
12
-
13
- it 'should capitalize the sentence' do
14
- @linguine = Linguine.new(:rough, 'This is my text. There are many like it, but this one is mine.')
15
- @linguine.madlibs[0].should == @linguine.madlibs[0].capitalize
16
- end
17
-
18
- end
19
-
20
- end