From 6af68a77b9178c8110d2e8594637a7e9566cee01 Mon Sep 17 00:00:00 2001 From: Adam Proctor Date: Wed, 11 Jan 2012 16:31:07 -0500 Subject: [PATCH 1/3] grabbed extra dirty words from https://github.com/ealdent/profanity_filter/commit/33d956b20d36541f8c0aea4838dcff2b67160707 --- config/dictionary.yml | 281 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 272 insertions(+), 9 deletions(-) diff --git a/config/dictionary.yml b/config/dictionary.yml index 95963b5..f4c603b 100644 --- a/config/dictionary.yml +++ b/config/dictionary.yml @@ -1,37 +1,103 @@ # the filter currently checks for words that are 3 or more characters. --- +4r5e: *r5* +5h1t: 5h*t +5hit: 5h*t +a55: "*55" +a_s_s: "*_s_s" +anal: "*n*l" +anus: "*n*s" +ar5e: "*r5*" +arrse: "*rrs*" +arse: "*rs*" +ass-fucker: "*ss-f*ck*r" ass: "*ss" asses: "*ss*s" +assfucker: "*ssf*ck*r" +assfukka: "*ssf*kk*" asshole: "*ssh*l*" assholes: "*ssh*l*s" +asswhole: "*sswh*l*" +b!tch: b!tch +b00bs: b**bs +b17ch: b*7ch +b1tch: b*tch +ballbag: b*llb*g +balls: b*lls +ballsack: b*lls*ck bastard: b*st*rd beastial: b**st**l beastiality: b**st**l*ty beastility: b**st*l*ty +bellend: b*ll*nd bestial: b*st**l bestiality: b*st**l*ty +bi+ch: b*+ch +biatch: b**tch bitch: b*tch bitcher: b*tch*r bitchers: b*tch*rs bitches: b*tch*s bitchin: b*tch*n bitching: b*tch*ng +bloody: bl**dy blowjob: bl*wj*b blowjobs: bl*wj*bs +boiolas: b***l*s +bollock: b*ll*ck +bollok: b*ll*k +boner: b*n*r +boob: b**b +boobs: b**bs +booobs: b***bs +boooobs: b****bs +booooobs: b*****bs +booooooobs: b*******bs +breasts: br**sts +buceta: b*c*t* +bugger: b*gg*r bullshit: b*llsh*t +bum: b*m +butt: b*tt +butthole: b*tth*l* +buttmuch: b*ttm*ch +buttplug: b*ttpl*g +c0ck: c*ck +c0cksucker: c*cks*ck*r +cawk: c*wk +chink: ch*nk +cipa: c*p* +cl1t: cl*t clit: cl*t +clitoris: cl*t*r*s +clits: cl*ts +cnut: cn*t +cock-sucker: c*ck-s*ck*r cock: c*ck +cockface: c*ckf*c* +cockhead: c*ckh**d +cockmunch: c*ckm*nch +cockmuncher: c*ckm*nch*r cocks: c*cks cocksuck: c*cks*ck cocksucked: c*cks*ck*d cocksucker: c*cks*ck*r cocksucking: c*cks*ck*ng cocksucks: c*cks*cks +cocksuka: c*cks*k* +cocksukka: c*cks*kk* +cok: c*k +cokmuncher: c*km*nch*r +coksucka: c*ks*ck* +coon: c**n +cox: c*x +crap: cr*p cum: c*m cummer: c*mm*r cumming: c*mm*ng cums: c*ms cumshot: c*msh*t +cunilingus: c*n*l*ng*s cunillingus: c*n*ll*ng*s cunnilingus: c*nn*l*ng*s cunt: c*nt @@ -39,38 +105,66 @@ cuntlick: c*ntl*ck cuntlicker: c*ntl*ck*r cuntlicking: c*ntl*ck*ng cunts: c*nts +cyalis: cy*l*s cyberfuc: cyb*rf*c cyberfuck: cyb*rf*ck cyberfucked: cyb*rf*ck*d cyberfucker: cyb*rf*ck*r cyberfuckers: cyb*rf*ck*rs cyberfucking: cyb*rf*ck*ng +d1ck: d*ck damn: d*mn +dick: d*ck +dickhead: d*ckh**d dildo: d*ld* dildos: d*ld*s -dick: d*ck dink: d*nk dinks: d*nks +dirsa: d*rs* +dlck: d*ck +dog-fucker: d*g-f*ck*r +doggin: d*gg*n +dogging: d*gg*ng +donkeyribber: d*nk*yr*bb*r +doosh: d**sh +duche: d*ch* +dyke: dyk* ejaculate: "*j*c*l*t*" ejaculated: "*j*c*l*t*d" ejaculates: "*j*c*l*t*s" ejaculating: "*j*c*l*t*ng" ejaculatings: "*j*c*l*t*ngs" ejaculation: "*j*c*l*t**n" +ejakulate: "*j*k*l*t*" +f4nny: f*nny +f_u_c_k: f_*_c_k fag: f*g fagging: f*gg*ng +faggitt: f*gg*tt faggot: f*gg*t faggs: f*ggs fagot: f*g*t fagots: f*g*ts fags: f*gs +fanny: f*nny +fannyflaps: f*nnyfl*ps +fannyfucker: f*nnyf*ck*r +fanyy: f*nyy fart: f*rt farted: f*rt*d farting: f*rt*ng fartings: f*rt*ngs farts: f*rts farty: f*rty +fatass: f*t*ss +fcuk: fc*k +fcuker: fc*k*r +fcuking: fc*k*ng +feck: f*ck +fecker: f*ck*r felatio: f*l*t** +felching: f*lch*ng +fellate: f*ll*t* fellatio: f*ll*t** fingerfuck: f*ng*rf*ck fingerfucked: f*ng*rf*ck*d @@ -85,30 +179,71 @@ fistfuckers: f*stf*ck*rs fistfucking: f*stf*ck*ng fistfuckings: f*stf*ck*ngs fistfucks: f*stf*cks +flange: fl*ng* +fook: f**k +fooker: f**k*r fuck: f*ck +fucka: f*ck* fucked: f*ck*d fucker: f*ck*r fuckers: f*ck*rs +fuckhead: f*ckh**d +fuckheads: f*ckh**ds fuckin: f*ck*n fucking: f*ck*ng fuckings: f*ck*ngs +fuckingshitmotherfucker: f*ck*ngsh*tm*th*rf*ck*r fuckme: f*ckm* fucks: f*cks +fuckwhit: f*ckwh*t +fuckwit: f*ckw*t +fudgepacker: f*dg*p*ck*r fuk: f*k +fuker: f*k*r +fukker: f*kk*r +fukkin: f*kk*n fuks: f*ks +fukwhit: f*kwh*t +fukwit: f*kw*t +fux0r: f*x*r +fux: f*x gangbang: g*ngb*ng gangbanged: g*ngb*ng*d gangbangs: g*ngb*ngs +gaylord: g*yl*rd gaysex: g*ys*x +goatse: g**ts* +god-dam: g*d-d*m +god-damned: g*d-d*mn*d goddamn: g*dd*mn +goddamned: g*dd*mn*d hardcoresex: h*rdc*r*s*x hell: h*ll +heshe: h*sh* +hoar: h**r +hoare: h**r* +hoer: h**r +homo: h*m* +hore: h*r* horniest: h*rn**st horny: h*rny hotsex: h*ts*x +jack-off: j*ck-*ff +jackoff: j*ck*ff +jap: j*p +jerk-off: j*rk-*ff jism: j*sm jiz: j*z jizm: j*zm +jizz: j*zz +kawk: k*wk +knob: kn*b +knobead: kn*b**d +knobed: kn*b*d +knobend: kn*b*nd +knobhead: kn*bh**d +knobjocky: kn*bj*cky +knobjokey: kn*bj*k*y kock: k*ck kondum: k*nd*m kondums: k*nd*ms @@ -118,8 +253,29 @@ kummer: k*mm*r kumming: k*mm*ng kums: k*ms kunilingus: k*n*l*ng*s +l3i+ch: l**+ch +l3itch: l**tch +labia: l*b** +lmfao: lmf** lust: l*st lusting: l*st*ng +m0f0: m*f* +m0fo: m*f* +m45terbate: m*5t*rb*t* +ma5terb8: m*5t*rb* +ma5terbate: m*5t*rb*t* +masochist: m*s*ch*st +master-bate: m*st*r-b*t* +masterb8: m*st*rb* +masterbat*: m*st*rb*t* +masterbat3: m*st*rb*t* +masterbate: m*st*rb*t* +masterbation: m*st*rb*t**n +masterbations: m*st*rb*t**ns +masturbate: m*st*rb*t* +mo-fo: m*-f* +mof0: m*f* +mofo: m*f* mothafuck: m*th*f*ck mothafucka: m*th*f*ck* mothafuckas: m*th*f*ck*s @@ -138,15 +294,43 @@ motherfuckers: m*th*rf*ck*rs motherfuckin: m*th*rf*ck*n motherfucking: m*th*rf*ck*ng motherfuckings: m*th*rf*ck*ngs +motherfuckka: m*th*rf*ckk* motherfucks: m*th*rf*cks +muff: m*ff +mutha: m*th* +muthafecker: m*th*f*ck*r +muthafuckker: m*th*f*ckk*r +muther: m*th*r +mutherfucker: m*th*rf*ck*r +n1gga: n*gg* +n1gger: n*gg*r +nazi: n*z* niger: n*gg*r +nigg3r: n*gg*r +nigg4h: n*gg*h +nigga: n*gg* +niggah: n*gg*h +niggas: n*gg*s +niggaz: n*gg*z nigger: n*gg*r niggers: n*gg*rs +nob: n*b +nobhead: n*bh**d +nobjocky: n*bj*cky +nobjokey: n*bj*k*y +numbnuts: n*mbn*ts +nutsack: n*ts*ck orgasim: "*rg*s*m" orgasims: "*rg*s*ms" orgasm: "*rg*sm" orgasms: "*rg*sms" +p0rn: p*rn +pawn: p*wn +pecker: p*ck*r +penis: p*n*s +penisfucker: p*n*sf*ck*r phonesex: ph*n*s*x +phuck: ph*ck phuk: ph*k phuked: ph*k*d phuking: ph*k*ng @@ -154,35 +338,70 @@ phukked: ph*kk*d phukking: ph*kk*ng phuks: ph*ks phuq: ph*q +pigfucker: p*gf*ck*r +pimpis: p*mp*s pis: p*ss +pises: p*ss*s +pisin: p*ss*n +pising: p*ss*ng +pisof: p*ss*ff piss: p*ss -pisser: p*ss*r pissed: p*ss*d pisser: p*ss*r pissers: p*ss*rs -pises: p*ss*s pisses: p*ss*s -pisin: p*ss*n +pissflaps: p*ssfl*ps pissin: p*ss*n -pising: p*ss*ng pissing: p*ss*ng -pisof: p*ss*ff pissoff: p*ss*ff +poop: p**p porn: p*rn porno: p*rn* pornography: p*rn*gr*phy pornos: p*rn*s prick: pr*ck pricks: pr*cks -pussies: p*ss**s +pron: pr*n +pube: p*b* pusies: p*ss**s +pusse: p*ss* +pussi: p*ss* +pussies: p*ss**s pussy: p*ssy -pusy: p*ssy pussys: p*ssys +pusy: p*ssy pusys: p*ssys +rectum: r*ct*m +retard: r*t*rd +rimjaw: r*mj*w +rimming: r*mm*ng +s.o.b.: s.*.b. +s_h_i_t: s_h_*_t +sadist: s*d*st +schlong: schl*ng +screwing: scr*w*ng +scroat: scr**t +scrote: scr*t* +scrotum: scr*t*m +semen: s*m*n +sex: s*x +sh!+: sh*+ +sh!t: sh*t +sh1t: sh*t +shag: sh*g +shagger: sh*gg*r +shaggin: sh*gg*n +shagging: sh*gg*ng +shemale: sh*m*l* +shi+: sh*+ shit: sh*t +shitdick: sh*td*ck +shite: sh*t* shited: sh*t*d +shitey: sh*t*y +shitfuck: sh*tf*ck shitfull: sh*tf*ll +shithead: sh*th**d shiting: sh*t*ng shitings: sh*t*ngs shits: sh*ts @@ -193,8 +412,52 @@ shitting: sh*tt*ng shittings: sh*tt*ngs shitty: sh*tty shity: sh*tty +skank: sk*nk slut: sl*t sluts: sl*ts +smegma: sm*gm* smut: sm*t +snatch: sn*tch +son-of-a-bitch: s*n-*f-*-b*tch +spac: sp*c spunk: sp*nk -twat: tw*t \ No newline at end of file +t1tt1e5: t*tt**5 +t1tties: t*tt**s +teets: t**ts +teez: t**z +testical: t*st*c*l +testicle: t*st*cl* +tit: t*t +titfuck: t*tf*ck +tits: t*ts +titt: t*tt +tittie5: t*tt**5 +tittiefucker: t*tt**f*ck*r +titties: t*tt**s +tittyfuck: t*ttyf*ck +tittywank: t*ttyw*nk +titwank: t*tw*nk +tosser: t*ss*r +turd: t*rd +tw4t: tw*t +twat: tw*t +twathead: tw*th**d +twatty: tw*tty +twunt: tw*nt +twunter: tw*nt*r +v14gra: v**gr* +v1gra: v*gr* +vagina: v*g*n* +viagra: v**gr* +vulva: v*lv* +w00se: w**s* +wang: w*ng +wank: w*nk +wanker: w*nk*r +wanky: w*nky +whoar: wh**r +whore: wh*r* +willies: w*ll**s +willy: w*lly +xrated: xr*t*d +xxx: xxx From f3759a576f9a678818411e1908386a27f2f7445f Mon Sep 17 00:00:00 2001 From: Adam Proctor Date: Wed, 11 Jan 2012 17:35:22 -0500 Subject: [PATCH 2/3] fixed new dictionary numeric variables, added test --- config/dictionary.yml | 3 --- test/profanity_filter_test.rb | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/config/dictionary.yml b/config/dictionary.yml index f4c603b..6b2f7b1 100644 --- a/config/dictionary.yml +++ b/config/dictionary.yml @@ -1,8 +1,5 @@ # the filter currently checks for words that are 3 or more characters. --- -4r5e: *r5* -5h1t: 5h*t -5hit: 5h*t a55: "*55" a_s_s: "*_s_s" anal: "*n*l" diff --git a/test/profanity_filter_test.rb b/test/profanity_filter_test.rb index c9f621d..ed4dda2 100644 --- a/test/profanity_filter_test.rb +++ b/test/profanity_filter_test.rb @@ -48,6 +48,11 @@ def test_knows_when_text_contains_profanity def test_knows_nil_is_not_profane assert !ProfanityFilter::Base.profane?(nil) end + + #Issue #7 https://github.com/intridea/profanity_filter/issues/7 + def test_basic_profanity_filter_catches_racism + assert ProfanityFilter::Base.profane?('nigger') + end end class DictionaryProfanityFilterTest < Test::Unit::TestCase From 941e063a1fbd8d1df009813d1b3b715522928065 Mon Sep 17 00:00:00 2001 From: Adam Proctor Date: Fri, 3 Feb 2012 15:59:12 -0500 Subject: [PATCH 3/3] profanity update --- config/dictionary.yml | 2 -- profanity_filter.gemspec | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/config/dictionary.yml b/config/dictionary.yml index 6b2f7b1..62c0c92 100644 --- a/config/dictionary.yml +++ b/config/dictionary.yml @@ -215,7 +215,6 @@ god-damned: g*d-d*mn*d goddamn: g*dd*mn goddamned: g*dd*mn*d hardcoresex: h*rdc*r*s*x -hell: h*ll heshe: h*sh* hoar: h**r hoare: h**r* @@ -253,7 +252,6 @@ kunilingus: k*n*l*ng*s l3i+ch: l**+ch l3itch: l**tch labia: l*b** -lmfao: lmf** lust: l*st lusting: l*st*ng m0f0: m*f* diff --git a/profanity_filter.gemspec b/profanity_filter.gemspec index d71f4f5..f899269 100644 --- a/profanity_filter.gemspec +++ b/profanity_filter.gemspec @@ -5,7 +5,7 @@ Gem::Specification.new do |s| s.name = %q{profanity_filter} - s.version = "0.1.1" + s.version = "0.1.1.uken.3" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = [%q{Adam Bair}]