cleanerupper 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/cleanerupper.gemspec +3 -2
- data/lib/cleanerupper.rb +4 -4
- data/pkg/cleanerupper-0.2.0.gem +0 -0
- data/test/cleanerupper_test.rb +18 -2
- data/test/debug.log +81 -0
- metadata +4 -3
data/cleanerupper.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cleanerupper}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mike Trpcic"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-20}
|
13
13
|
s.email = %q{mike@fluidmedia.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"README.markdown"
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"./pkg/cleanerupper-0.0.0.gem",
|
25
25
|
"./pkg/cleanerupper-0.1.0.gem",
|
26
26
|
"./pkg/cleanerupper-0.1.1.gem",
|
27
|
+
"./pkg/cleanerupper-0.2.0.gem",
|
27
28
|
"./rails/init.rb",
|
28
29
|
"./tasks/cleanerupper_tasks.rake",
|
29
30
|
"./test/cleanerupper_test.rb",
|
data/lib/cleanerupper.rb
CHANGED
@@ -42,7 +42,7 @@ module Cleaner
|
|
42
42
|
|
43
43
|
#Append the following methods to the ActiveRecord::Base class
|
44
44
|
def bind(column, method, dictionary, callback = nil)
|
45
|
-
|
45
|
+
dictionary = [dictionary].flatten.map{|d| Cleaner::Data.dictionaries[d]}.flatten.uniq
|
46
46
|
old_value = read_attribute(column)
|
47
47
|
to_save = true
|
48
48
|
|
@@ -81,7 +81,7 @@ module Cleaner
|
|
81
81
|
|
82
82
|
#This method scrambles data by rearranging the letters.
|
83
83
|
def scramble(value, dict)
|
84
|
-
|
84
|
+
dict.each do |word|
|
85
85
|
value.to_s.gsub!(/#{word}/, word.split(//).shuffle.join(''))
|
86
86
|
end
|
87
87
|
value
|
@@ -90,7 +90,7 @@ module Cleaner
|
|
90
90
|
#This method removes selected words from the string and replaces them
|
91
91
|
#with nothing
|
92
92
|
def remove(value, dict)
|
93
|
-
|
93
|
+
dict.each do |word|
|
94
94
|
value.to_s.gsub!(/#{word}/, "")
|
95
95
|
end
|
96
96
|
value
|
@@ -99,7 +99,7 @@ module Cleaner
|
|
99
99
|
#This method removes selected words from the string and replaces them
|
100
100
|
#with 'swear' characters,such as '#$@!%&'
|
101
101
|
def replace(value, dict)
|
102
|
-
|
102
|
+
dict.each do |word|
|
103
103
|
value.to_s.gsub!(/#{word}/, word.split(//).map{|c| c = Cleaner::Data.replacement_chars.shuffle[0]}.join(''))
|
104
104
|
end
|
105
105
|
value
|
Binary file
|
data/test/cleanerupper_test.rb
CHANGED
@@ -2,7 +2,8 @@ require File.join(File.dirname(__FILE__), 'test_helper')
|
|
2
2
|
|
3
3
|
Cleaner::Data.dictionaries = {
|
4
4
|
:words => ["scramble_test", "remove_test", "replace_test", "custom_test", "default_test"],
|
5
|
-
:animals => ["cat_test", "dog_test", "fish_test"]
|
5
|
+
:animals => ["cat_test", "dog_test", "fish_test"],
|
6
|
+
:furniture => ["bed_test", "chair_test"]
|
6
7
|
}
|
7
8
|
|
8
9
|
class Widget < ActiveRecord::Base
|
@@ -59,6 +60,11 @@ class CustomDictWidget < ActiveRecord::Base
|
|
59
60
|
clean :body, :with => :scramble, :dictionary => :animals
|
60
61
|
end
|
61
62
|
|
63
|
+
class MultiDictWidget < ActiveRecord::Base
|
64
|
+
set_table_name :widgets
|
65
|
+
clean :body, :with => :scramble, :dictionary => [:animals, :furniture]
|
66
|
+
end
|
67
|
+
|
62
68
|
class CleanerupperTest < Test::Unit::TestCase
|
63
69
|
|
64
70
|
def test_automatically_replace
|
@@ -135,8 +141,18 @@ class CleanerupperTest < Test::Unit::TestCase
|
|
135
141
|
w = CustomDictWidget.new(:body => body.dup)
|
136
142
|
w.save
|
137
143
|
w = CustomDictWidget.find(w.id)
|
138
|
-
puts w.body
|
139
144
|
assert w.body != body
|
140
145
|
assert w.body.include?("bird_test")
|
141
146
|
end
|
147
|
+
|
148
|
+
def test_multiple_dictionaries
|
149
|
+
body = "dog_test regular_test bed_test"
|
150
|
+
w = MultiDictWidget.new(:body => body.dup)
|
151
|
+
w.save
|
152
|
+
w = MultiDictWidget.find(w.id)
|
153
|
+
assert w.body != body
|
154
|
+
assert w.body.include?("regular_test")
|
155
|
+
assert !w.body.include?("dog_test")
|
156
|
+
assert !w.body.include?("bed_test")
|
157
|
+
end
|
142
158
|
end
|
data/test/debug.log
CHANGED
@@ -2719,3 +2719,84 @@
|
|
2719
2719
|
[4;35;1mCustomWidget Load (0.5ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2720
2720
|
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper tteusletfd_a body', NULL, NULL)[0m
|
2721
2721
|
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
2722
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2723
|
+
[4;35;1mSQL (0.8ms)[0m [0m SELECT name
|
2724
|
+
FROM sqlite_master
|
2725
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2726
|
+
[0m
|
2727
|
+
[4;36;1mSQL (73.8ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2728
|
+
[4;35;1mSQL (2.9ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2729
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2730
|
+
FROM sqlite_master
|
2731
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2732
|
+
[0m
|
2733
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2734
|
+
[4;36;1mRemoveWidget Create (0.4ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2735
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2736
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper *%&*@*$@!%%! test', NULL)[0m
|
2737
|
+
[4;35;1mReplaceWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2738
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper lcs_artetbesm test', NULL, NULL)[0m
|
2739
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2740
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper msuotet_cts body', NULL)[0m
|
2741
|
+
[4;35;1mCallbackWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2742
|
+
[4;36;1mCustomDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'gtdte_os bird_test fehittss_', NULL)[0m
|
2743
|
+
[4;35;1mCustomDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2744
|
+
[4;36;1mCustomWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('Custom Value: cleanerupper remove_test title', 'Custom Value: cleanerupper scramble_test body', NULL)[0m
|
2745
|
+
[4;35;1mCustomWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2746
|
+
[4;36;1mScrambleWidget Create (0.1ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper lte_tafetdsu body', NULL, NULL)[0m
|
2747
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
2748
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2749
|
+
[4;35;1mSQL (0.7ms)[0m [0m SELECT name
|
2750
|
+
FROM sqlite_master
|
2751
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2752
|
+
[0m
|
2753
|
+
[4;36;1mSQL (41.0ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2754
|
+
[4;35;1mSQL (4.1ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2755
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2756
|
+
FROM sqlite_master
|
2757
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2758
|
+
[0m
|
2759
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2760
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2761
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2762
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper $@!&*%%@!*!% test', NULL)[0m
|
2763
|
+
[4;35;1mReplaceWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2764
|
+
[4;36;1mScrambleWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper reteml_scbast test', NULL, NULL)[0m
|
2765
|
+
[4;35;1mScrambleWidget Load (0.4ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2766
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper tsocste_tum body', NULL)[0m
|
2767
|
+
[4;35;1mCallbackWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2768
|
+
[4;36;1mCustomDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'tst_oged bird_test si_hfetst', NULL)[0m
|
2769
|
+
[4;35;1mCustomDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2770
|
+
[4;36;1mCustomWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('Custom Value: cleanerupper remove_test title', 'Custom Value: cleanerupper scramble_test body', NULL)[0m
|
2771
|
+
[4;35;1mCustomWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2772
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper etatl_sedfut body', NULL, NULL)[0m
|
2773
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
2774
|
+
[4;36;1mMultiDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'tetdos_g regular_test ebted_st', NULL)[0m
|
2775
|
+
[4;36;1mSQL (0.7ms)[0m [0;1mselect sqlite_version(*)[0m
|
2776
|
+
[4;35;1mSQL (0.8ms)[0m [0m SELECT name
|
2777
|
+
FROM sqlite_master
|
2778
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2779
|
+
[0m
|
2780
|
+
[4;36;1mSQL (71.9ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2781
|
+
[4;35;1mSQL (3.2ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2782
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2783
|
+
FROM sqlite_master
|
2784
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2785
|
+
[0m
|
2786
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2787
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2788
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2789
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper !&%@$%!!*@*@ test', NULL)[0m
|
2790
|
+
[4;35;1mReplaceWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2791
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper lascbe_tetmrs test', NULL, NULL)[0m
|
2792
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2793
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper tm_setcstuo body', NULL)[0m
|
2794
|
+
[4;35;1mCallbackWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2795
|
+
[4;36;1mCustomDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, '_tedsogt bird_test eifths_st', NULL)[0m
|
2796
|
+
[4;35;1mCustomDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2797
|
+
[4;36;1mCustomWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('Custom Value: cleanerupper remove_test title', 'Custom Value: cleanerupper scramble_test body', NULL)[0m
|
2798
|
+
[4;35;1mCustomWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2799
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper tdtaflt_suee body', NULL, NULL)[0m
|
2800
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
2801
|
+
[4;36;1mMultiDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'stdotge_ regular_test tb_edtse', NULL)[0m
|
2802
|
+
[4;35;1mMultiDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 8) [0m
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 1
|
9
|
+
version: 0.2.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Mike Trpcic
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-20 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -36,6 +36,7 @@ files:
|
|
36
36
|
- ./pkg/cleanerupper-0.0.0.gem
|
37
37
|
- ./pkg/cleanerupper-0.1.0.gem
|
38
38
|
- ./pkg/cleanerupper-0.1.1.gem
|
39
|
+
- ./pkg/cleanerupper-0.2.0.gem
|
39
40
|
- ./rails/init.rb
|
40
41
|
- ./tasks/cleanerupper_tasks.rake
|
41
42
|
- ./test/cleanerupper_test.rb
|