cleanerupper 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|