cleanerupper 0.1.1 → 0.2.0
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/README.markdown +40 -14
- data/cleanerupper.gemspec +3 -3
- data/lib/cleanerupper.rb +27 -26
- data/pkg/cleanerupper-0.1.1.gem +0 -0
- data/rails/init.rb +2 -2
- data/test/cleanerupper_test.rb +27 -2
- data/test/debug.log +343 -11
- data/test/schema.rb +42 -36
- data/test/test_helper.rb +2 -2
- metadata +5 -5
- data/cleanerupper.sqlite3.db +0 -0
data/README.markdown
CHANGED
@@ -15,12 +15,12 @@ application called `dictionary.yml`. This file is structured as so:
|
|
15
15
|
be
|
16
16
|
cleaned
|
17
17
|
|
18
|
-
A default dictionary is included with this project, but only contains some test data for you to get started. These words can be accessed via the `Cleaner::
|
18
|
+
A default dictionary is included with this project, but only contains some test data for you to get started. These words can be accessed via the `Cleaner::Data` object, which has several attributes:
|
19
19
|
|
20
|
-
Cleaner::
|
21
|
-
Cleaner::
|
22
|
-
Cleaner::
|
23
|
-
Cleaner::
|
20
|
+
Cleaner::Data.dictionaries => Hash of dictionary arrays from your file
|
21
|
+
Cleaner::Data.replacement_chars => Array of characters to use for the `replace` method
|
22
|
+
Cleaner::Data.file => Filepath of the used dictionary file
|
23
|
+
Cleaner::Data.cleaner_methods => List of cleaner methods included in this release
|
24
24
|
|
25
25
|
It works by providing a new method to all of your ActiveRecord based objects called `clean`
|
26
26
|
|
@@ -30,10 +30,11 @@ It works by providing a new method to all of your ActiveRecord based objects ca
|
|
30
30
|
|
31
31
|
This method takes an array of columns to be cleaned by cleanerupper, followed by two options:
|
32
32
|
|
33
|
-
:with
|
34
|
-
:
|
33
|
+
:with => Specifies which method to clean with
|
34
|
+
:dictionary => Specifies which dictionary should be used for this cleaning
|
35
|
+
:callback => Specifies a callback to call if disallowed data is found
|
35
36
|
|
36
|
-
Three
|
37
|
+
Three methods have been provided for cleaning convenience, which are:
|
37
38
|
|
38
39
|
:scramble => keeps all characters, but scrambles the word
|
39
40
|
:remove => removes the word completely
|
@@ -44,15 +45,27 @@ If no method is defined, `:scramble` will be used. You can also define your own
|
|
44
45
|
class Widget < ActiveRecord::Base
|
45
46
|
clean :body, :with => :custom
|
46
47
|
|
47
|
-
def custom(found)
|
48
|
-
Cleaner::
|
48
|
+
def custom(found, dict)
|
49
|
+
Cleaner::Data.dictionaries[dict].each do |word|
|
49
50
|
found.gsub!(word, "CUSTOM") if found.include?(word)
|
50
51
|
end
|
51
52
|
return found
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
55
|
-
In the example above, we make use of the word dictionary to check our column for bad words.
|
56
|
+
In the example above, we make use of the `word` dictionary to check our column for bad words, as it is the default. You can define a custom dictionary by creating a new top level key in your `dictionary.yml` file, like so:
|
57
|
+
|
58
|
+
words:
|
59
|
+
foo
|
60
|
+
bar
|
61
|
+
custom:
|
62
|
+
baz
|
63
|
+
|
64
|
+
You can access these dictionaries by using the `Cleaner::Data.dictionaries[:key]` object, where `:key` is the key of your dictionary as defined by your config file. You can specify that any cleaning method use a specific dictionary by adding a `:dictionary` paramater:
|
65
|
+
|
66
|
+
class Widget < ActiveRecord::Base
|
67
|
+
clean :body, :with => :replace, :dictionary => :custom
|
68
|
+
end
|
56
69
|
|
57
70
|
You can also define a callback. This callback will only be called if bad data was found in any of
|
58
71
|
the columns. If the callback returns falls, the save will fail (this works the same way as a `before_save`).
|
@@ -66,9 +79,7 @@ the columns. If the callback returns falls, the save will fail (this works the
|
|
66
79
|
end
|
67
80
|
end
|
68
81
|
|
69
|
-
|
70
|
-
Examples
|
71
|
-
=======
|
82
|
+
# Examples #
|
72
83
|
|
73
84
|
# Clean different columns with different methods
|
74
85
|
class Widget < ActiveRecord::Base
|
@@ -101,5 +112,20 @@ Examples
|
|
101
112
|
end
|
102
113
|
end
|
103
114
|
|
115
|
+
# Custom dictionary
|
116
|
+
class Widget < ActiveRecord::Base
|
117
|
+
clean :body, :title, :with => :replace, :dictionary => :animals
|
118
|
+
end
|
119
|
+
|
120
|
+
# Disclaimer #
|
121
|
+
This code is still under development, and as such, minor revisions may break compatibility with earlier versions of
|
122
|
+
the gem/plugin. Please keep this in mind when using CleanerUpper.
|
123
|
+
|
124
|
+
# What's Next? #
|
125
|
+
* Change the custom cleaning code to be more user friendly
|
126
|
+
* Optimize dictionary loops
|
127
|
+
* Increase test coverage
|
128
|
+
* Remove test dependency on the rails environment
|
129
|
+
|
104
130
|
# Copyright and Licensing #
|
105
131
|
Copyright (c) 2010 Mike Trpcic (Fluid Media Inc.), released under the MIT license
|
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.
|
8
|
+
s.version = "0.2.0"
|
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-16}
|
13
13
|
s.email = %q{mike@fluidmedia.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"README.markdown"
|
@@ -17,13 +17,13 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.files = [
|
18
18
|
"./README.markdown",
|
19
19
|
"./cleanerupper.gemspec",
|
20
|
-
"./cleanerupper.sqlite3.db",
|
21
20
|
"./dictionary.yml",
|
22
21
|
"./init.rb",
|
23
22
|
"./install.rb",
|
24
23
|
"./lib/cleanerupper.rb",
|
25
24
|
"./pkg/cleanerupper-0.0.0.gem",
|
26
25
|
"./pkg/cleanerupper-0.1.0.gem",
|
26
|
+
"./pkg/cleanerupper-0.1.1.gem",
|
27
27
|
"./rails/init.rb",
|
28
28
|
"./tasks/cleanerupper_tasks.rake",
|
29
29
|
"./test/cleanerupper_test.rb",
|
data/lib/cleanerupper.rb
CHANGED
@@ -9,12 +9,12 @@
|
|
9
9
|
|
10
10
|
module Cleaner
|
11
11
|
extend self
|
12
|
-
|
13
12
|
#The Dictionary class contains all words that are used by the Cleaner. It also contains other
|
14
13
|
#integral components, such as the replacement characters for the `replace` method.
|
15
|
-
class
|
16
|
-
cattr_accessor :file, :
|
17
|
-
|
14
|
+
class Data
|
15
|
+
cattr_accessor :file, :replacement_chars, :cleaner_methods, :dictionaries
|
16
|
+
|
17
|
+
@@dictionaries = {}
|
18
18
|
#Use the default dictionary if one wasn't defined by the user
|
19
19
|
if File.exists?(File.join(RAILS_ROOT, '/config/dictionary.yml'))
|
20
20
|
@@file = File.join(RAILS_ROOT, '/config/dictionary.yml')
|
@@ -23,16 +23,16 @@ module Cleaner
|
|
23
23
|
else
|
24
24
|
@@file = nil
|
25
25
|
end
|
26
|
-
|
27
26
|
@@cleaner_methods = [:scramble, :replace, :remove]
|
28
27
|
@@replacement_chars = ['*', '@', '!', '$', '%', '&']
|
29
28
|
unless(@@file.nil?)
|
30
|
-
|
29
|
+
data = YAML.load_file(@@file)
|
31
30
|
else
|
32
|
-
|
33
|
-
|
31
|
+
data = {}
|
32
|
+
end
|
33
|
+
data.each do |k, v|
|
34
|
+
@@dictionaries[k.to_sym] = v.split(" ")
|
34
35
|
end
|
35
|
-
@@words = @@words["words"].blank? ? [] : @@words["words"].split(" ")
|
36
36
|
end
|
37
37
|
|
38
38
|
module ActiveRecord
|
@@ -41,16 +41,16 @@ module Cleaner
|
|
41
41
|
end
|
42
42
|
|
43
43
|
#Append the following methods to the ActiveRecord::Base class
|
44
|
-
def bind(method,
|
44
|
+
def bind(column, method, dictionary, callback = nil)
|
45
45
|
#debugger
|
46
46
|
old_value = read_attribute(column)
|
47
47
|
to_save = true
|
48
48
|
|
49
49
|
unless old_value.nil?
|
50
|
-
if Cleaner::
|
51
|
-
new_value = Cleaner.send(method.to_sym, old_value.dup)
|
50
|
+
if Cleaner::Data.cleaner_methods.include?(method.to_sym)
|
51
|
+
new_value = Cleaner.send(method.to_sym, old_value.dup, dictionary)
|
52
52
|
else
|
53
|
-
new_value = self.send(method, old_value.dup)
|
53
|
+
new_value = self.send(method, old_value.dup, dictionary)
|
54
54
|
end
|
55
55
|
unless new_value == old_value
|
56
56
|
to_save = callback.nil? ? true : self.send(callback) == false ? false : true
|
@@ -66,12 +66,13 @@ module Cleaner
|
|
66
66
|
#These are methods that can be called in the same manner that
|
67
67
|
#before_save filters are called
|
68
68
|
def clean(*args)
|
69
|
-
|
70
|
-
|
71
|
-
with =
|
72
|
-
callback =
|
73
|
-
|
74
|
-
|
69
|
+
params = args[-1].is_a?(Hash) ? args[-1] : {}
|
70
|
+
attributes = args[0..-1] if params
|
71
|
+
with = params.has_key?(:with) ? params[:with] : :scramble
|
72
|
+
callback = params.has_key?(:callback) ? params[:callback] : nil
|
73
|
+
dictionary = params.has_key?(:dictionary) ? params[:dictionary] : :words
|
74
|
+
attributes.each do |attribute|
|
75
|
+
before_save {|m| m.bind(attribute, with, dictionary, callback)}
|
75
76
|
end
|
76
77
|
end
|
77
78
|
end
|
@@ -79,8 +80,8 @@ module Cleaner
|
|
79
80
|
#Define all your actual manipulation methods here:
|
80
81
|
|
81
82
|
#This method scrambles data by rearranging the letters.
|
82
|
-
def scramble(value)
|
83
|
-
Cleaner::
|
83
|
+
def scramble(value, dict)
|
84
|
+
Cleaner::Data.dictionaries[dict].each do |word|
|
84
85
|
value.to_s.gsub!(/#{word}/, word.split(//).shuffle.join(''))
|
85
86
|
end
|
86
87
|
value
|
@@ -88,8 +89,8 @@ module Cleaner
|
|
88
89
|
|
89
90
|
#This method removes selected words from the string and replaces them
|
90
91
|
#with nothing
|
91
|
-
def remove(value)
|
92
|
-
Cleaner::
|
92
|
+
def remove(value, dict)
|
93
|
+
Cleaner::Data.dictionaries[dict].each do |word|
|
93
94
|
value.to_s.gsub!(/#{word}/, "")
|
94
95
|
end
|
95
96
|
value
|
@@ -97,9 +98,9 @@ module Cleaner
|
|
97
98
|
|
98
99
|
#This method removes selected words from the string and replaces them
|
99
100
|
#with 'swear' characters,such as '#$@!%&'
|
100
|
-
def replace(value)
|
101
|
-
Cleaner::
|
102
|
-
value.to_s.gsub!(/#{word}/, word.split(//).map{|c| c = Cleaner::
|
101
|
+
def replace(value, dict)
|
102
|
+
Cleaner::Data.dictionaries[dict].each do |word|
|
103
|
+
value.to_s.gsub!(/#{word}/, word.split(//).map{|c| c = Cleaner::Data.replacement_chars.shuffle[0]}.join(''))
|
103
104
|
end
|
104
105
|
value
|
105
106
|
end
|
Binary file
|
data/rails/init.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
require '
|
1
|
+
require 'active_record'
|
2
2
|
require 'cleanerupper'
|
3
|
-
ActiveRecord::Base.send(:include, Cleaner::ActiveRecord)
|
3
|
+
ActiveRecord::Base.send(:include, Cleaner::ActiveRecord)
|
data/test/cleanerupper_test.rb
CHANGED
@@ -1,31 +1,41 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
2
|
|
3
|
-
Cleaner::
|
3
|
+
Cleaner::Data.dictionaries = {
|
4
|
+
:words => ["scramble_test", "remove_test", "replace_test", "custom_test", "default_test"],
|
5
|
+
:animals => ["cat_test", "dog_test", "fish_test"]
|
6
|
+
}
|
7
|
+
|
4
8
|
class Widget < ActiveRecord::Base
|
9
|
+
set_table_name :widgets
|
5
10
|
clean :body
|
6
11
|
end
|
7
12
|
|
8
13
|
class ReplaceWidget < ActiveRecord::Base
|
14
|
+
set_table_name :widgets
|
9
15
|
clean :body, :with => :replace
|
10
16
|
end
|
11
17
|
|
12
18
|
class RemoveWidget < ActiveRecord::Base
|
19
|
+
set_table_name :widgets
|
13
20
|
clean :body, :title, :with => :remove
|
14
21
|
end
|
15
22
|
|
16
23
|
class ScrambleWidget < ActiveRecord::Base
|
24
|
+
set_table_name :widgets
|
17
25
|
clean :title, :with => :scramble
|
18
26
|
end
|
19
27
|
|
20
28
|
class CustomWidget < ActiveRecord::Base
|
29
|
+
set_table_name :widgets
|
21
30
|
clean :body, :title, :with => :custom_function
|
22
31
|
|
23
|
-
def custom_function(value)
|
32
|
+
def custom_function(value, dict)
|
24
33
|
return "Custom Value: #{value}"
|
25
34
|
end
|
26
35
|
end
|
27
36
|
|
28
37
|
class CallbackWidget < ActiveRecord::Base
|
38
|
+
set_table_name :widgets
|
29
39
|
clean :body, :with => :scramble, :callback => :callback_method
|
30
40
|
|
31
41
|
def callback_method
|
@@ -35,6 +45,7 @@ class CallbackWidget < ActiveRecord::Base
|
|
35
45
|
end
|
36
46
|
|
37
47
|
class FalseCallbackWidget < ActiveRecord::Base
|
48
|
+
set_table_name :widgets
|
38
49
|
clean :body, :with => :scramble, :callback => :callback_method
|
39
50
|
|
40
51
|
def callback_method
|
@@ -43,6 +54,11 @@ class FalseCallbackWidget < ActiveRecord::Base
|
|
43
54
|
end
|
44
55
|
end
|
45
56
|
|
57
|
+
class CustomDictWidget < ActiveRecord::Base
|
58
|
+
set_table_name :widgets
|
59
|
+
clean :body, :with => :scramble, :dictionary => :animals
|
60
|
+
end
|
61
|
+
|
46
62
|
class CleanerupperTest < Test::Unit::TestCase
|
47
63
|
|
48
64
|
def test_automatically_replace
|
@@ -114,4 +130,13 @@ class CleanerupperTest < Test::Unit::TestCase
|
|
114
130
|
assert w.title.split(//).sort == title.split(//).sort
|
115
131
|
end
|
116
132
|
|
133
|
+
def test_cleanerupper_custom_dictionary
|
134
|
+
body = "dog_test bird_test fish_test"
|
135
|
+
w = CustomDictWidget.new(:body => body.dup)
|
136
|
+
w.save
|
137
|
+
w = CustomDictWidget.find(w.id)
|
138
|
+
puts w.body
|
139
|
+
assert w.body != body
|
140
|
+
assert w.body.include?("bird_test")
|
141
|
+
end
|
117
142
|
end
|
data/test/debug.log
CHANGED
@@ -2339,51 +2339,383 @@
|
|
2339
2339
|
[4;35;1mCustomWidget Load (0.3ms)[0m [0mSELECT * FROM "custom_widgets" WHERE ("custom_widgets"."id" = 1) [0m
|
2340
2340
|
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper eetda_stuftl body', NULL, NULL)[0m
|
2341
2341
|
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 2) [0m
|
2342
|
-
[4;36;1mSQL (
|
2342
|
+
[4;36;1mSQL (1.9ms)[0m [0;1mselect sqlite_version(*)[0m
|
2343
2343
|
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2344
2344
|
FROM sqlite_master
|
2345
2345
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2346
2346
|
[0m
|
2347
|
-
[4;36;1mSQL (
|
2347
|
+
[4;36;1mSQL (39.1ms)[0m [0;1mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2348
2348
|
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2349
2349
|
FROM sqlite_master
|
2350
2350
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2351
2351
|
[0m
|
2352
|
-
[4;36;1mSQL (
|
2352
|
+
[4;36;1mSQL (28.4ms)[0m [0;1mCREATE TABLE "replace_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2353
2353
|
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2354
2354
|
FROM sqlite_master
|
2355
2355
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2356
2356
|
[0m
|
2357
|
-
[4;36;1mSQL (
|
2357
|
+
[4;36;1mSQL (40.1ms)[0m [0;1mCREATE TABLE "remove_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2358
2358
|
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2359
2359
|
FROM sqlite_master
|
2360
2360
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2361
2361
|
[0m
|
2362
|
-
[4;36;1mSQL (
|
2362
|
+
[4;36;1mSQL (3.9ms)[0m [0;1mCREATE TABLE "scramble_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2363
|
+
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2364
|
+
FROM sqlite_master
|
2365
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2366
|
+
[0m
|
2367
|
+
[4;36;1mSQL (28.9ms)[0m [0;1mCREATE TABLE "custom_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2368
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2369
|
+
FROM sqlite_master
|
2370
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2371
|
+
[0m
|
2372
|
+
[4;36;1mSQL (21.8ms)[0m [0;1mCREATE TABLE "callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2373
|
+
[4;35;1mSQL (0.5ms)[0m [0m SELECT name
|
2374
|
+
FROM sqlite_master
|
2375
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2376
|
+
[0m
|
2377
|
+
[4;36;1mSQL (9.9ms)[0m [0;1mCREATE TABLE "false_callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2363
2378
|
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2364
2379
|
FROM sqlite_master
|
2365
2380
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2366
2381
|
[0m
|
2367
|
-
[4;36;1mSQL (
|
2382
|
+
[4;36;1mSQL (68.9ms)[0m [0;1mCREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) [0m
|
2383
|
+
[4;35;1mSQL (32.8ms)[0m [0mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
2384
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2385
|
+
FROM sqlite_master
|
2386
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2387
|
+
[0m
|
2388
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2389
|
+
[4;36;1mSQL (50.1ms)[0m [0;1mINSERT INTO "schema_migrations" (version) VALUES ('1')[0m
|
2390
|
+
[4;35;1mRemoveWidget Create (0.3ms)[0m [0mINSERT INTO "remove_widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2391
|
+
[4;36;1mRemoveWidget Load (0.4ms)[0m [0;1mSELECT * FROM "remove_widgets" WHERE ("remove_widgets"."id" = 1) [0m
|
2392
|
+
[4;35;1mScrambleWidget Create (0.3ms)[0m [0mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper at_mssbrcleet test', NULL, NULL)[0m
|
2393
|
+
[4;36;1mScrambleWidget Load (0.3ms)[0m [0;1mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 1) [0m
|
2394
|
+
[4;35;1mCallbackWidget Create (0.3ms)[0m [0mINSERT INTO "callback_widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper ettscmst_ou body', NULL)[0m
|
2395
|
+
[4;36;1mCallbackWidget Load (0.3ms)[0m [0;1mSELECT * FROM "callback_widgets" WHERE ("callback_widgets"."id" = 1) [0m
|
2396
|
+
[4;35;1mScrambleWidget Create (0.3ms)[0m [0mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper attfdl_esetu body', NULL, NULL)[0m
|
2397
|
+
[4;36;1mScrambleWidget Load (0.2ms)[0m [0;1mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 2) [0m
|
2398
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2399
|
+
[4;35;1mSQL (0.7ms)[0m [0m SELECT name
|
2400
|
+
FROM sqlite_master
|
2401
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2402
|
+
[0m
|
2403
|
+
[4;36;1mSQL (32.7ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2404
|
+
[4;35;1mSQL (11.1ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2405
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2406
|
+
FROM sqlite_master
|
2407
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2408
|
+
[0m
|
2409
|
+
[4;35;1mSQL (2.7ms)[0m [0mDROP TABLE "replace_widgets"[0m
|
2410
|
+
[4;36;1mSQL (2.7ms)[0m [0;1mCREATE TABLE "replace_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2368
2411
|
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2369
2412
|
FROM sqlite_master
|
2370
2413
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2371
2414
|
[0m
|
2372
|
-
[4;36;1mSQL (
|
2415
|
+
[4;36;1mSQL (135.7ms)[0m [0;1mDROP TABLE "remove_widgets"[0m
|
2416
|
+
[4;35;1mSQL (4.6ms)[0m [0mCREATE TABLE "remove_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2417
|
+
[4;36;1mSQL (0.6ms)[0m [0;1m SELECT name
|
2418
|
+
FROM sqlite_master
|
2419
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2420
|
+
[0m
|
2421
|
+
[4;35;1mSQL (4.4ms)[0m [0mDROP TABLE "scramble_widgets"[0m
|
2422
|
+
[4;36;1mSQL (3.7ms)[0m [0;1mCREATE TABLE "scramble_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2423
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2424
|
+
FROM sqlite_master
|
2425
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2426
|
+
[0m
|
2427
|
+
[4;36;1mSQL (11.5ms)[0m [0;1mDROP TABLE "custom_widgets"[0m
|
2428
|
+
[4;35;1mSQL (2.9ms)[0m [0mCREATE TABLE "custom_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2429
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2430
|
+
FROM sqlite_master
|
2431
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2432
|
+
[0m
|
2433
|
+
[4;35;1mSQL (35.8ms)[0m [0mDROP TABLE "callback_widgets"[0m
|
2434
|
+
[4;36;1mSQL (16.5ms)[0m [0;1mCREATE TABLE "callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2373
2435
|
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2374
2436
|
FROM sqlite_master
|
2375
2437
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2376
2438
|
[0m
|
2377
|
-
[4;36;1mSQL (
|
2439
|
+
[4;36;1mSQL (84.9ms)[0m [0;1mDROP TABLE "false_callback_widgets"[0m
|
2440
|
+
[4;35;1mSQL (44.1ms)[0m [0mCREATE TABLE "false_callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2441
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2442
|
+
FROM sqlite_master
|
2443
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2444
|
+
[0m
|
2445
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2446
|
+
[4;36;1mRemoveWidget Create (0.4ms)[0m [0;1mINSERT INTO "remove_widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2447
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "remove_widgets" WHERE ("remove_widgets"."id" = 1) [0m
|
2448
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper tcleseb_trsam test', NULL, NULL)[0m
|
2449
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 1) [0m
|
2450
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "callback_widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper ssu_ttctmoe body', NULL)[0m
|
2451
|
+
[4;35;1mCallbackWidget Load (0.2ms)[0m [0mSELECT * FROM "callback_widgets" WHERE ("callback_widgets"."id" = 1) [0m
|
2452
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper teelutdat_fs body', NULL, NULL)[0m
|
2453
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 2) [0m
|
2454
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2455
|
+
[4;35;1mSQL (0.6ms)[0m [0m SELECT name
|
2456
|
+
FROM sqlite_master
|
2457
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2458
|
+
[0m
|
2459
|
+
[4;36;1mSQL (38.1ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2460
|
+
[4;35;1mSQL (3.6ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2461
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2462
|
+
FROM sqlite_master
|
2463
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2464
|
+
[0m
|
2465
|
+
[4;35;1mSQL (2.5ms)[0m [0mDROP TABLE "replace_widgets"[0m
|
2466
|
+
[4;36;1mSQL (2.5ms)[0m [0;1mCREATE TABLE "replace_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2378
2467
|
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2379
2468
|
FROM sqlite_master
|
2380
2469
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2381
2470
|
[0m
|
2382
|
-
[4;36;1mSQL (
|
2383
|
-
[4;35;1mSQL (
|
2471
|
+
[4;36;1mSQL (2.5ms)[0m [0;1mDROP TABLE "remove_widgets"[0m
|
2472
|
+
[4;35;1mSQL (43.2ms)[0m [0mCREATE TABLE "remove_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2473
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2474
|
+
FROM sqlite_master
|
2475
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2476
|
+
[0m
|
2477
|
+
[4;35;1mSQL (3.3ms)[0m [0mDROP TABLE "scramble_widgets"[0m
|
2478
|
+
[4;36;1mSQL (34.2ms)[0m [0;1mCREATE TABLE "scramble_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2479
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2480
|
+
FROM sqlite_master
|
2481
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2482
|
+
[0m
|
2483
|
+
[4;36;1mSQL (20.3ms)[0m [0;1mDROP TABLE "custom_widgets"[0m
|
2484
|
+
[4;35;1mSQL (45.3ms)[0m [0mCREATE TABLE "custom_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2485
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2486
|
+
FROM sqlite_master
|
2487
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2488
|
+
[0m
|
2489
|
+
[4;35;1mSQL (14.0ms)[0m [0mDROP TABLE "callback_widgets"[0m
|
2490
|
+
[4;36;1mSQL (26.0ms)[0m [0;1mCREATE TABLE "callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2491
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2492
|
+
FROM sqlite_master
|
2493
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2494
|
+
[0m
|
2495
|
+
[4;36;1mSQL (2.7ms)[0m [0;1mDROP TABLE "false_callback_widgets"[0m
|
2496
|
+
[4;35;1mSQL (2.9ms)[0m [0mCREATE TABLE "false_callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2497
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2498
|
+
FROM sqlite_master
|
2499
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2500
|
+
[0m
|
2501
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2502
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "remove_widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2503
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "remove_widgets" WHERE ("remove_widgets"."id" = 1) [0m
|
2504
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "replace_widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper !*&!!!$@&@$& test', NULL)[0m
|
2505
|
+
[4;35;1mReplaceWidget Load (0.3ms)[0m [0mSELECT * FROM "replace_widgets" WHERE ("replace_widgets"."id" = 1) [0m
|
2506
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper bectsst_leram test', NULL, NULL)[0m
|
2507
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 1) [0m
|
2508
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "callback_widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper utsmcet_tso body', NULL)[0m
|
2509
|
+
[4;35;1mCallbackWidget Load (0.4ms)[0m [0mSELECT * FROM "callback_widgets" WHERE ("callback_widgets"."id" = 1) [0m
|
2510
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper leea_ufsttdt body', NULL, NULL)[0m
|
2511
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 2) [0m
|
2512
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2513
|
+
[4;35;1mSQL (0.6ms)[0m [0m SELECT name
|
2514
|
+
FROM sqlite_master
|
2515
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2516
|
+
[0m
|
2517
|
+
[4;36;1mSQL (56.4ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2518
|
+
[4;35;1mSQL (22.5ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2519
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2520
|
+
FROM sqlite_master
|
2521
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2522
|
+
[0m
|
2523
|
+
[4;35;1mSQL (3.2ms)[0m [0mDROP TABLE "replace_widgets"[0m
|
2524
|
+
[4;36;1mSQL (3.5ms)[0m [0;1mCREATE TABLE "replace_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2525
|
+
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2526
|
+
FROM sqlite_master
|
2527
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2528
|
+
[0m
|
2529
|
+
[4;36;1mSQL (35.9ms)[0m [0;1mDROP TABLE "remove_widgets"[0m
|
2530
|
+
[4;35;1mSQL (15.7ms)[0m [0mCREATE TABLE "remove_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2531
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2532
|
+
FROM sqlite_master
|
2533
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2534
|
+
[0m
|
2535
|
+
[4;35;1mSQL (2.7ms)[0m [0mDROP TABLE "scramble_widgets"[0m
|
2536
|
+
[4;36;1mSQL (2.7ms)[0m [0;1mCREATE TABLE "scramble_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2537
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2538
|
+
FROM sqlite_master
|
2539
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2540
|
+
[0m
|
2541
|
+
[4;36;1mSQL (2.3ms)[0m [0;1mDROP TABLE "custom_widgets"[0m
|
2542
|
+
[4;35;1mSQL (43.0ms)[0m [0mCREATE TABLE "custom_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2543
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2544
|
+
FROM sqlite_master
|
2545
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2546
|
+
[0m
|
2547
|
+
[4;35;1mSQL (2.7ms)[0m [0mDROP TABLE "callback_widgets"[0m
|
2548
|
+
[4;36;1mSQL (2.4ms)[0m [0;1mCREATE TABLE "callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2549
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2550
|
+
FROM sqlite_master
|
2551
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2552
|
+
[0m
|
2553
|
+
[4;36;1mSQL (24.4ms)[0m [0;1mDROP TABLE "false_callback_widgets"[0m
|
2554
|
+
[4;35;1mSQL (2.3ms)[0m [0mCREATE TABLE "false_callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2555
|
+
[4;36;1mSQL (0.5ms)[0m [0;1mselect sqlite_version(*)[0m
|
2556
|
+
[4;35;1mSQL (0.6ms)[0m [0m SELECT name
|
2557
|
+
FROM sqlite_master
|
2558
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2559
|
+
[0m
|
2560
|
+
[4;36;1mSQL (48.9ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2561
|
+
[4;35;1mSQL (26.3ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2562
|
+
[4;36;1mSQL (0.4ms)[0m [0;1m SELECT name
|
2563
|
+
FROM sqlite_master
|
2564
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2565
|
+
[0m
|
2566
|
+
[4;35;1mSQL (2.6ms)[0m [0mDROP TABLE "replace_widgets"[0m
|
2567
|
+
[4;36;1mSQL (2.7ms)[0m [0;1mCREATE TABLE "replace_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2568
|
+
[4;35;1mSQL (0.2ms)[0m [0m SELECT name
|
2569
|
+
FROM sqlite_master
|
2570
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2571
|
+
[0m
|
2572
|
+
[4;36;1mSQL (2.6ms)[0m [0;1mDROP TABLE "remove_widgets"[0m
|
2573
|
+
[4;35;1mSQL (2.8ms)[0m [0mCREATE TABLE "remove_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2574
|
+
[4;36;1mSQL (0.2ms)[0m [0;1m SELECT name
|
2575
|
+
FROM sqlite_master
|
2576
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2577
|
+
[0m
|
2578
|
+
[4;35;1mSQL (2.7ms)[0m [0mDROP TABLE "scramble_widgets"[0m
|
2579
|
+
[4;36;1mSQL (24.6ms)[0m [0;1mCREATE TABLE "scramble_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2580
|
+
[4;35;1mSQL (0.4ms)[0m [0m SELECT name
|
2581
|
+
FROM sqlite_master
|
2582
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2583
|
+
[0m
|
2584
|
+
[4;36;1mSQL (2.8ms)[0m [0;1mDROP TABLE "custom_widgets"[0m
|
2585
|
+
[4;35;1mSQL (2.8ms)[0m [0mCREATE TABLE "custom_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2586
|
+
[4;36;1mSQL (0.4ms)[0m [0;1m SELECT name
|
2587
|
+
FROM sqlite_master
|
2588
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2589
|
+
[0m
|
2590
|
+
[4;35;1mSQL (54.3ms)[0m [0mDROP TABLE "callback_widgets"[0m
|
2591
|
+
[4;36;1mSQL (26.5ms)[0m [0;1mCREATE TABLE "callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2592
|
+
[4;35;1mSQL (0.3ms)[0m [0m SELECT name
|
2593
|
+
FROM sqlite_master
|
2594
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2595
|
+
[0m
|
2596
|
+
[4;36;1mSQL (2.7ms)[0m [0;1mDROP TABLE "false_callback_widgets"[0m
|
2597
|
+
[4;35;1mSQL (39.4ms)[0m [0mCREATE TABLE "false_callback_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2598
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2599
|
+
FROM sqlite_master
|
2600
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2601
|
+
[0m
|
2602
|
+
[4;35;1mSQL (37.4ms)[0m [0mCREATE TABLE "custom_dict_widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2603
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2604
|
+
FROM sqlite_master
|
2605
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2606
|
+
[0m
|
2607
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2608
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "remove_widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2609
|
+
[4;35;1mRemoveWidget Load (0.4ms)[0m [0mSELECT * FROM "remove_widgets" WHERE ("remove_widgets"."id" = 1) [0m
|
2610
|
+
[4;36;1mReplaceWidget Create (0.3ms)[0m [0;1mINSERT INTO "replace_widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper *&$&!%!%*&*@ test', NULL)[0m
|
2611
|
+
[4;35;1mReplaceWidget Load (0.3ms)[0m [0mSELECT * FROM "replace_widgets" WHERE ("replace_widgets"."id" = 1) [0m
|
2612
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper c_tbselmretas test', NULL, NULL)[0m
|
2613
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 1) [0m
|
2614
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "callback_widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper ett_soscumt body', NULL)[0m
|
2615
|
+
[4;35;1mCallbackWidget Load (0.3ms)[0m [0mSELECT * FROM "callback_widgets" WHERE ("callback_widgets"."id" = 1) [0m
|
2616
|
+
[4;36;1mCustomDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'dtgseto_ bird_test tft_ihsse', NULL)[0m
|
2617
|
+
[4;35;1mCustomDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2618
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "scramble_widgets" ("title", "body", "author_name") VALUES('cleanerupper _ttuldteasef body', NULL, NULL)[0m
|
2619
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "scramble_widgets" WHERE ("scramble_widgets"."id" = 2) [0m
|
2620
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2621
|
+
[4;35;1mSQL (0.6ms)[0m [0m SELECT name
|
2622
|
+
FROM sqlite_master
|
2623
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2624
|
+
[0m
|
2625
|
+
[4;36;1mSQL (24.3ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2626
|
+
[4;35;1mSQL (3.1ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2627
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2628
|
+
FROM sqlite_master
|
2629
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2630
|
+
[0m
|
2631
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2632
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2633
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2634
|
+
[4;36;1mReplaceWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper @!$*@&!&$@!* test', NULL)[0m
|
2635
|
+
[4;35;1mReplaceWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2636
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper etsscemr_ltba test', NULL, NULL)[0m
|
2637
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2638
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper csume_stott body', NULL)[0m
|
2639
|
+
[4;35;1mCallbackWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2640
|
+
[4;36;1mCustomDictWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'tsog_det bird_test _fitshset', NULL)[0m
|
2641
|
+
[4;35;1mCustomDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2642
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper usetaefl_dtt body', NULL, NULL)[0m
|
2643
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2644
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2645
|
+
[4;35;1mSQL (0.7ms)[0m [0m SELECT name
|
2646
|
+
FROM sqlite_master
|
2647
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2648
|
+
[0m
|
2649
|
+
[4;36;1mSQL (22.0ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2650
|
+
[4;35;1mSQL (3.4ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2651
|
+
[4;36;1mSQL (0.4ms)[0m [0;1m SELECT name
|
2652
|
+
FROM sqlite_master
|
2653
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2654
|
+
[0m
|
2655
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2656
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2657
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2658
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper @&&!@!$@$@$@ test', NULL)[0m
|
2659
|
+
[4;35;1mReplaceWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2660
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper _atmteslscreb test', NULL, NULL)[0m
|
2661
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2662
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper osuestmtc_t body', NULL)[0m
|
2663
|
+
[4;35;1mCallbackWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2664
|
+
[4;36;1mCustomDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'dtog_set bird_test fitseths_', NULL)[0m
|
2665
|
+
[4;35;1mCustomDictWidget Load (0.5ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2666
|
+
[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
|
2667
|
+
[4;35;1mCustomWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2668
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper edsu_taefltt body', NULL, NULL)[0m
|
2669
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
2670
|
+
[4;36;1mSQL (0.5ms)[0m [0;1mselect sqlite_version(*)[0m
|
2671
|
+
[4;35;1mSQL (0.9ms)[0m [0m SELECT name
|
2672
|
+
FROM sqlite_master
|
2673
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2674
|
+
[0m
|
2675
|
+
[4;36;1mSQL (24.3ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2676
|
+
[4;35;1mSQL (2.7ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2677
|
+
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2678
|
+
FROM sqlite_master
|
2679
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2680
|
+
[0m
|
2681
|
+
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2682
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2683
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2684
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper %$*$!!!%$@!& test', NULL)[0m
|
2685
|
+
[4;35;1mReplaceWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2686
|
+
[4;36;1mScrambleWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper _seamtrseclbt test', NULL, NULL)[0m
|
2687
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2688
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper tstumtse_co body', NULL)[0m
|
2689
|
+
[4;35;1mCallbackWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2690
|
+
[4;36;1mCustomDictWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'd_etstgo bird_test ihtesfs_t', NULL)[0m
|
2691
|
+
[4;35;1mCustomDictWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2692
|
+
[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
|
2693
|
+
[4;35;1mCustomWidget Load (28.6ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
2694
|
+
[4;36;1mScrambleWidget Create (0.5ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper edusafttet_l body', NULL, NULL)[0m
|
2695
|
+
[4;35;1mScrambleWidget Load (0.5ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
2696
|
+
[4;36;1mSQL (0.4ms)[0m [0;1mselect sqlite_version(*)[0m
|
2697
|
+
[4;35;1mSQL (0.6ms)[0m [0m SELECT name
|
2698
|
+
FROM sqlite_master
|
2699
|
+
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2700
|
+
[0m
|
2701
|
+
[4;36;1mSQL (19.9ms)[0m [0;1mDROP TABLE "widgets"[0m
|
2702
|
+
[4;35;1mSQL (3.5ms)[0m [0mCREATE TABLE "widgets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(100), "body" varchar(255), "author_name" varchar(100)) [0m
|
2384
2703
|
[4;36;1mSQL (0.3ms)[0m [0;1m SELECT name
|
2385
2704
|
FROM sqlite_master
|
2386
2705
|
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
|
2387
2706
|
[0m
|
2388
2707
|
[4;35;1mSQL (0.1ms)[0m [0mSELECT version FROM "schema_migrations"[0m
|
2389
|
-
[4;36;
|
2708
|
+
[4;36;1mRemoveWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper test', 'cleanerupper test', NULL)[0m
|
2709
|
+
[4;35;1mRemoveWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 1) [0m
|
2710
|
+
[4;36;1mReplaceWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'cleanerupper !%*@*%*%&@$@ test', NULL)[0m
|
2711
|
+
[4;35;1mReplaceWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 2) [0m
|
2712
|
+
[4;36;1mScrambleWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('cleanerupper _cbemtartless test', NULL, NULL)[0m
|
2713
|
+
[4;35;1mScrambleWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 3) [0m
|
2714
|
+
[4;36;1mCallbackWidget Create (0.2ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('CALLBACK', 'cleanerupper mcsu_ottest body', NULL)[0m
|
2715
|
+
[4;35;1mCallbackWidget Load (0.3ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 4) [0m
|
2716
|
+
[4;36;1mCustomDictWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES(NULL, 'stetg_od bird_test hssttfei_', NULL)[0m
|
2717
|
+
[4;35;1mCustomDictWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 5) [0m
|
2718
|
+
[4;36;1mCustomWidget Create (0.3ms)[0m [0;1mINSERT INTO "widgets" ("title", "body", "author_name") VALUES('Custom Value: cleanerupper remove_test title', 'Custom Value: cleanerupper scramble_test body', NULL)[0m
|
2719
|
+
[4;35;1mCustomWidget Load (0.5ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 6) [0m
|
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
|
+
[4;35;1mScrambleWidget Load (0.2ms)[0m [0mSELECT * FROM "widgets" WHERE ("widgets"."id" = 7) [0m
|
data/test/schema.rb
CHANGED
@@ -5,39 +5,45 @@ ActiveRecord::Schema.define(:version => 1) do
|
|
5
5
|
t.column :author_name, :string, :limit => 100
|
6
6
|
end
|
7
7
|
|
8
|
-
create_table :replace_widgets, :force => true do |t|
|
9
|
-
t.column :title, :string, :limit => 100
|
10
|
-
t.column :body, :string
|
11
|
-
t.column :author_name, :string, :limit => 100
|
12
|
-
end
|
13
|
-
|
14
|
-
create_table :remove_widgets, :force => true do |t|
|
15
|
-
t.column :title, :string, :limit => 100
|
16
|
-
t.column :body, :string
|
17
|
-
t.column :author_name, :string, :limit => 100
|
18
|
-
end
|
19
|
-
|
20
|
-
create_table :scramble_widgets, :force => true do |t|
|
21
|
-
t.column :title, :string, :limit => 100
|
22
|
-
t.column :body, :string
|
23
|
-
t.column :author_name, :string, :limit => 100
|
24
|
-
end
|
25
|
-
|
26
|
-
create_table :custom_widgets, :force => true do |t|
|
27
|
-
t.column :title, :string, :limit => 100
|
28
|
-
t.column :body, :string
|
29
|
-
t.column :author_name, :string, :limit => 100
|
30
|
-
end
|
31
|
-
|
32
|
-
create_table :callback_widgets, :force => true do |t|
|
33
|
-
t.column :title, :string, :limit => 100
|
34
|
-
t.column :body, :string
|
35
|
-
t.column :author_name, :string, :limit => 100
|
36
|
-
end
|
37
|
-
|
38
|
-
create_table :false_callback_widgets, :force => true do |t|
|
39
|
-
t.column :title, :string, :limit => 100
|
40
|
-
t.column :body, :string
|
41
|
-
t.column :author_name, :string, :limit => 100
|
42
|
-
end
|
43
|
-
|
8
|
+
# create_table :replace_widgets, :force => true do |t|
|
9
|
+
# t.column :title, :string, :limit => 100
|
10
|
+
# t.column :body, :string
|
11
|
+
# t.column :author_name, :string, :limit => 100
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
# create_table :remove_widgets, :force => true do |t|
|
15
|
+
# t.column :title, :string, :limit => 100
|
16
|
+
# t.column :body, :string
|
17
|
+
# t.column :author_name, :string, :limit => 100
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# create_table :scramble_widgets, :force => true do |t|
|
21
|
+
# t.column :title, :string, :limit => 100
|
22
|
+
# t.column :body, :string
|
23
|
+
# t.column :author_name, :string, :limit => 100
|
24
|
+
# end
|
25
|
+
#
|
26
|
+
# create_table :custom_widgets, :force => true do |t|
|
27
|
+
# t.column :title, :string, :limit => 100
|
28
|
+
# t.column :body, :string
|
29
|
+
# t.column :author_name, :string, :limit => 100
|
30
|
+
# end
|
31
|
+
#
|
32
|
+
# create_table :callback_widgets, :force => true do |t|
|
33
|
+
# t.column :title, :string, :limit => 100
|
34
|
+
# t.column :body, :string
|
35
|
+
# t.column :author_name, :string, :limit => 100
|
36
|
+
# end
|
37
|
+
#
|
38
|
+
# create_table :false_callback_widgets, :force => true do |t|
|
39
|
+
# t.column :title, :string, :limit => 100
|
40
|
+
# t.column :body, :string
|
41
|
+
# t.column :author_name, :string, :limit => 100
|
42
|
+
# end
|
43
|
+
#
|
44
|
+
# create_table :custom_dict_widgets, :force => true do |t|
|
45
|
+
# t.column :title, :string, :limit => 100
|
46
|
+
# t.column :body, :string
|
47
|
+
# t.column :author_name, :string, :limit => 100
|
48
|
+
# end
|
49
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -3,7 +3,7 @@ require 'active_support'
|
|
3
3
|
require 'active_support/test_case'
|
4
4
|
|
5
5
|
if ENV['RAILS'].nil?
|
6
|
-
require File.expand_path(File.join(File.dirname(__FILE__), '../../../../config/environment.rb'))
|
6
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '../../../../config/environment.rb'))
|
7
7
|
else
|
8
8
|
# specific rails version targeted
|
9
9
|
# load activerecord and plugin manually
|
@@ -27,4 +27,4 @@ load(File.dirname(__FILE__) + "/schema.rb")
|
|
27
27
|
require File.expand_path(File.dirname(__FILE__) + "/../lib/cleanerupper.rb")
|
28
28
|
ENV["RAILS_ENV"] = "test"
|
29
29
|
require File.expand_path(File.dirname(__FILE__) + "/../../../../config/environment")
|
30
|
-
require 'test_help'
|
30
|
+
require 'test_help'
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
7
|
+
- 2
|
8
|
+
- 0
|
9
|
+
version: 0.2.0
|
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-16 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -29,13 +29,13 @@ extra_rdoc_files:
|
|
29
29
|
files:
|
30
30
|
- ./README.markdown
|
31
31
|
- ./cleanerupper.gemspec
|
32
|
-
- ./cleanerupper.sqlite3.db
|
33
32
|
- ./dictionary.yml
|
34
33
|
- ./init.rb
|
35
34
|
- ./install.rb
|
36
35
|
- ./lib/cleanerupper.rb
|
37
36
|
- ./pkg/cleanerupper-0.0.0.gem
|
38
37
|
- ./pkg/cleanerupper-0.1.0.gem
|
38
|
+
- ./pkg/cleanerupper-0.1.1.gem
|
39
39
|
- ./rails/init.rb
|
40
40
|
- ./tasks/cleanerupper_tasks.rake
|
41
41
|
- ./test/cleanerupper_test.rb
|
data/cleanerupper.sqlite3.db
DELETED
Binary file
|