tb_banners 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.markdown +144 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/images/spud/admin/banners/banners.png +0 -0
  6. data/app/assets/images/spud/admin/banners/banners@2x.png +0 -0
  7. data/app/assets/javascripts/spud/admin/banners/application.js +2 -0
  8. data/app/assets/javascripts/spud/admin/banners/banner_sets.js +102 -0
  9. data/app/assets/javascripts/spud/admin/banners/banners.js +187 -0
  10. data/app/assets/stylesheets/spud/admin/banners/application.css +4 -0
  11. data/app/assets/stylesheets/spud/admin/banners/banner_sets.css +27 -0
  12. data/app/assets/stylesheets/spud/admin/banners/banners.css +36 -0
  13. data/app/controllers/spud/admin/banner_sets_controller.rb +68 -0
  14. data/app/controllers/spud/admin/banners_controller.rb +104 -0
  15. data/app/helpers/spud/admin/banner_sets_helper.rb +2 -0
  16. data/app/helpers/spud/admin/banners_helper.rb +2 -0
  17. data/app/helpers/spud_banners_helper.rb +38 -0
  18. data/app/models/spud_banner.rb +35 -0
  19. data/app/models/spud_banner_set.rb +30 -0
  20. data/app/observers/spud_banner_sweeper.rb +52 -0
  21. data/app/views/spud/admin/banner_sets/_banner_set.html.erb +8 -0
  22. data/app/views/spud/admin/banner_sets/_form.html.erb +38 -0
  23. data/app/views/spud/admin/banner_sets/create.html.erb +1 -0
  24. data/app/views/spud/admin/banner_sets/edit.html.erb +1 -0
  25. data/app/views/spud/admin/banner_sets/index.html.erb +12 -0
  26. data/app/views/spud/admin/banner_sets/new.html.erb +1 -0
  27. data/app/views/spud/admin/banner_sets/show.html.erb +11 -0
  28. data/app/views/spud/admin/banners/_banner.html.erb +7 -0
  29. data/app/views/spud/admin/banners/_form.html.erb +59 -0
  30. data/app/views/spud/admin/banners/edit.html.erb +1 -0
  31. data/app/views/spud/admin/banners/legacy.js.erb +5 -0
  32. data/app/views/spud/admin/banners/new.html.erb +1 -0
  33. data/app/views/spud/admin/banners/show.html.erb +1 -0
  34. data/config/routes.rb +14 -0
  35. data/db/migrate/20121116195139_create_spud_banners.rb +15 -0
  36. data/db/migrate/20121116195312_create_spud_banner_sets.rb +12 -0
  37. data/db/migrate/20130614132846_add_rich_text_to_spud_banners.rb +6 -0
  38. data/lib/spud_banners/configuration.rb +10 -0
  39. data/lib/spud_banners/engine.rb +25 -0
  40. data/lib/spud_banners/liquid_tags.rb +32 -0
  41. data/lib/spud_banners/version.rb +5 -0
  42. data/lib/tasks/spud_banners_tasks.rake +4 -0
  43. data/lib/tb_banners.rb +7 -0
  44. data/spec/controllers/spud/admin/banner_sets_controller_spec.rb +100 -0
  45. data/spec/dummy/README.rdoc +261 -0
  46. data/spec/dummy/Rakefile +7 -0
  47. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  48. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  49. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  50. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  51. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  52. data/spec/dummy/config/application.rb +59 -0
  53. data/spec/dummy/config/boot.rb +10 -0
  54. data/spec/dummy/config/database.yml +14 -0
  55. data/spec/dummy/config/environment.rb +5 -0
  56. data/spec/dummy/config/environments/development.rb +37 -0
  57. data/spec/dummy/config/environments/production.rb +67 -0
  58. data/spec/dummy/config/environments/test.rb +37 -0
  59. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  60. data/spec/dummy/config/initializers/inflections.rb +15 -0
  61. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  62. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  63. data/spec/dummy/config/initializers/session_store.rb +8 -0
  64. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  65. data/spec/dummy/config/locales/en.yml +5 -0
  66. data/spec/dummy/config/routes.rb +3 -0
  67. data/spec/dummy/config.ru +4 -0
  68. data/spec/dummy/db/migrate/20121127192246_create_spud_admin_permissions.spud_core.rb +12 -0
  69. data/spec/dummy/db/migrate/20121127192247_create_spud_users.spud_core.rb +30 -0
  70. data/spec/dummy/db/migrate/20121127192248_add_time_zone_to_spud_user.spud_core.rb +7 -0
  71. data/spec/dummy/db/migrate/20121127192249_add_scope_to_spud_admin_permissions.spud_core.rb +7 -0
  72. data/spec/dummy/db/migrate/20121127192250_create_spud_user_settings.spud_core.rb +12 -0
  73. data/spec/dummy/db/schema.rb +87 -0
  74. data/spec/dummy/log/development.log +72 -0
  75. data/spec/dummy/log/test.log +9059 -0
  76. data/spec/dummy/public/404.html +26 -0
  77. data/spec/dummy/public/422.html +26 -0
  78. data/spec/dummy/public/500.html +25 -0
  79. data/spec/dummy/public/favicon.ico +0 -0
  80. data/spec/dummy/script/rails +6 -0
  81. data/spec/spec_helper.rb +40 -0
  82. data/spec/support/authlogic_helper.rb +2 -0
  83. metadata +331 -0
@@ -0,0 +1,15 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # ActiveSupport::Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
11
+ #
12
+ # These inflection rules are supported but not enabled by default:
13
+ # ActiveSupport::Inflector.inflections do |inflect|
14
+ # inflect.acronym 'RESTful'
15
+ # end
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
5
+ # Mime::Type.register_alias "text/html", :iphone
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+ # Make sure the secret is at least 30 characters and all random,
6
+ # no regular words or you'll be exposed to dictionary attacks.
7
+ Dummy::Application.config.secret_token = 'dacbd8a483ea9645b13e97018089cbc9da8bf98f99a0be873cdb565d8f64c066974f37cbe7e8b4fedaadd057bce78d1d9326b0768120d2a693de8165df286693'
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
4
+
5
+ # Use the database for sessions instead of the cookie-based default,
6
+ # which shouldn't be used to store highly confidential information
7
+ # (create the session table with "rails generate session_migration")
8
+ # Dummy::Application.config.session_store :active_record_store
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+ #
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json]
9
+ end
10
+
11
+ # Disable root element in JSON by default.
12
+ ActiveSupport.on_load(:active_record) do
13
+ self.include_root_in_json = false
14
+ end
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+
3
+ end
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Dummy::Application
@@ -0,0 +1,12 @@
1
+ # This migration comes from spud_core (originally 20111214161011)
2
+ class CreateSpudAdminPermissions < ActiveRecord::Migration
3
+ def change
4
+ create_table :spud_admin_permissions do |t|
5
+ t.integer :user_id
6
+ t.string :name
7
+ t.boolean :access
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,30 @@
1
+ # This migration comes from spud_core (originally 20111214161146)
2
+ class CreateSpudUsers < ActiveRecord::Migration
3
+ def change
4
+ create_table :spud_users do |t|
5
+
6
+ t.string :first_name
7
+ t.string :last_name
8
+ t.boolean :super_admin
9
+ t.string :login, :null => false # optional, you can use email instead, or both
10
+ t.string :email, :null => false # optional, you can use login instead, or both
11
+ t.string :crypted_password, :null => false # optional, see below
12
+ t.string :password_salt, :null => false # optional, but highly recommended
13
+ t.string :persistence_token, :null => false # required
14
+ t.string :single_access_token, :null => false # optional, see Authlogic::Session::Params
15
+ t.string :perishable_token, :null => false # optional, see Authlogic::Session::Perishability
16
+
17
+ # Magic columns, just like ActiveRecord's created_at and updated_at. These are automatically maintained by Authlogic if they are present.
18
+ t.integer :login_count, :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns
19
+ t.integer :failed_login_count, :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns
20
+ t.datetime :last_request_at # optional, see Authlogic::Session::MagicColumns
21
+ t.datetime :current_login_at # optional, see Authlogic::Session::MagicColumns
22
+ t.datetime :last_login_at # optional, see Authlogic::Session::MagicColumns
23
+ t.string :current_login_ip # optional, see Authlogic::Session::MagicColumns
24
+ t.string :last_login_ip # optional, see Authlogic::Session::MagicColumns
25
+ t.timestamps
26
+ end
27
+ add_index :spud_users,:login
28
+ add_index :spud_users,:email
29
+ end
30
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spud_core (originally 20120327124229)
2
+ class AddTimeZoneToSpudUser < ActiveRecord::Migration
3
+ def change
4
+ add_column :spud_users, :time_zone, :string
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from spud_core (originally 20120328235431)
2
+ class AddScopeToSpudAdminPermissions < ActiveRecord::Migration
3
+ def change
4
+ add_column :spud_admin_permissions, :scope, :string
5
+
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ # This migration comes from spud_core (originally 20120329174000)
2
+ class CreateSpudUserSettings < ActiveRecord::Migration
3
+ def change
4
+ create_table :spud_user_settings do |t|
5
+ t.integer :spud_user_id
6
+ t.string :key
7
+ t.string :value
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,87 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 20121127192250) do
15
+
16
+ create_table "spud_admin_permissions", :force => true do |t|
17
+ t.integer "user_id"
18
+ t.string "name"
19
+ t.boolean "access"
20
+ t.datetime "created_at", :null => false
21
+ t.datetime "updated_at", :null => false
22
+ t.string "scope"
23
+ end
24
+
25
+ create_table "spud_banner_sets", :force => true do |t|
26
+ t.string "name", :null => false
27
+ t.integer "width", :null => false
28
+ t.integer "height", :null => false
29
+ t.boolean "cropped", :default => true
30
+ t.datetime "created_at", :null => false
31
+ t.datetime "updated_at", :null => false
32
+ end
33
+
34
+ add_index "spud_banner_sets", ["name"], :name => "index_spud_banner_sets_on_name", :unique => true
35
+
36
+ create_table "spud_banners", :force => true do |t|
37
+ t.integer "spud_banner_set_id", :null => false
38
+ t.string "link_to"
39
+ t.string "link_target", :default => "_self"
40
+ t.string "title"
41
+ t.string "alt"
42
+ t.integer "sort_order", :default => 0
43
+ t.string "banner_file_name"
44
+ t.string "banner_content_type"
45
+ t.integer "banner_file_size"
46
+ t.datetime "banner_updated_at"
47
+ t.datetime "created_at", :null => false
48
+ t.datetime "updated_at", :null => false
49
+ end
50
+
51
+ add_index "spud_banners", ["spud_banner_set_id"], :name => "index_spud_banners_on_spud_banner_set_id"
52
+
53
+ create_table "spud_user_settings", :force => true do |t|
54
+ t.integer "spud_user_id"
55
+ t.string "key"
56
+ t.string "value"
57
+ t.datetime "created_at", :null => false
58
+ t.datetime "updated_at", :null => false
59
+ end
60
+
61
+ create_table "spud_users", :force => true do |t|
62
+ t.string "first_name"
63
+ t.string "last_name"
64
+ t.boolean "super_admin"
65
+ t.string "login", :null => false
66
+ t.string "email", :null => false
67
+ t.string "crypted_password", :null => false
68
+ t.string "password_salt", :null => false
69
+ t.string "persistence_token", :null => false
70
+ t.string "single_access_token", :null => false
71
+ t.string "perishable_token", :null => false
72
+ t.integer "login_count", :default => 0, :null => false
73
+ t.integer "failed_login_count", :default => 0, :null => false
74
+ t.datetime "last_request_at"
75
+ t.datetime "current_login_at"
76
+ t.datetime "last_login_at"
77
+ t.string "current_login_ip"
78
+ t.string "last_login_ip"
79
+ t.datetime "created_at", :null => false
80
+ t.datetime "updated_at", :null => false
81
+ t.string "time_zone"
82
+ end
83
+
84
+ add_index "spud_users", ["email"], :name => "index_spud_users_on_email"
85
+ add_index "spud_users", ["login"], :name => "index_spud_users_on_login"
86
+
87
+ end
@@ -0,0 +1,72 @@
1
+ Connecting to database specified by database.yml
2
+  (35.6ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB
3
+  (26.2ms) CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`)
4
+  (2.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` 
5
+ Migrating to CreateSpudBanners (20121116195139)
6
+  (15.6ms) CREATE TABLE `spud_banners` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `spud_banner_set_id` int(11) NOT NULL, `link_to` varchar(255), `link_target` varchar(255), `title` varchar(255), `alt` varchar(255), `sort_order` int(11) DEFAULT 0, `banner_file_name` varchar(255), `banner_content_type` varchar(255), `banner_file_size` int(11), `banner_updated_at` datetime, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
7
+  (14.2ms) CREATE INDEX `index_spud_banners_on_spud_banner_set_id` ON `spud_banners` (`spud_banner_set_id`)
8
+  (0.4ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121116195139')
9
+ Migrating to CreateSpudBannerSets (20121116195312)
10
+  (14.5ms) CREATE TABLE `spud_banner_sets` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `name` varchar(255) NOT NULL, `width` int(11) NOT NULL, `height` int(11) NOT NULL, `cropped` tinyint(1) DEFAULT 1, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
11
+  (9.1ms) CREATE UNIQUE INDEX `index_spud_banner_sets_on_name` ON `spud_banner_sets` (`name`)
12
+  (0.3ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121116195312')
13
+  (0.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations`
14
+ Connecting to database specified by database.yml
15
+  (1.7ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` 
16
+  (2.2ms) DROP DATABASE IF EXISTS `spud_banners_test`
17
+  (0.4ms) CREATE DATABASE `spud_banners_test` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`
18
+  (13.1ms) CREATE TABLE `spud_banner_sets` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `name` varchar(255) NOT NULL, `width` int(11) NOT NULL, `height` int(11) NOT NULL, `cropped` tinyint(1) DEFAULT 1, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
19
+  (14.6ms) CREATE UNIQUE INDEX `index_spud_banner_sets_on_name` ON `spud_banner_sets` (`name`)
20
+  (9.7ms) CREATE TABLE `spud_banners` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `spud_banner_set_id` int(11) NOT NULL, `link_to` varchar(255), `link_target` varchar(255), `title` varchar(255), `alt` varchar(255), `sort_order` int(11) DEFAULT 0, `banner_file_name` varchar(255), `banner_content_type` varchar(255), `banner_file_size` int(11), `banner_updated_at` datetime, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
21
+  (13.6ms) CREATE INDEX `index_spud_banners_on_spud_banner_set_id` ON `spud_banners` (`spud_banner_set_id`)
22
+  (8.7ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB
23
+  (13.8ms) CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`)
24
+  (0.1ms) SELECT version FROM `schema_migrations`
25
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121116195312')
26
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121116195139')
27
+ Connecting to database specified by database.yml
28
+ Connecting to database specified by database.yml
29
+  (1.7ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` 
30
+ Migrating to CreateSpudBanners (20121116195139)
31
+ Migrating to CreateSpudBannerSets (20121116195312)
32
+ Migrating to CreateSpudAdminPermissions (20121127192246)
33
+  (16.9ms) CREATE TABLE `spud_admin_permissions` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `user_id` int(11), `name` varchar(255), `access` tinyint(1), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
34
+  (0.5ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121127192246')
35
+ Migrating to CreateSpudUsers (20121127192247)
36
+  (16.0ms) CREATE TABLE `spud_users` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `first_name` varchar(255), `last_name` varchar(255), `super_admin` tinyint(1), `login` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `crypted_password` varchar(255) NOT NULL, `password_salt` varchar(255) NOT NULL, `persistence_token` varchar(255) NOT NULL, `single_access_token` varchar(255) NOT NULL, `perishable_token` varchar(255) NOT NULL, `login_count` int(11) DEFAULT 0 NOT NULL, `failed_login_count` int(11) DEFAULT 0 NOT NULL, `last_request_at` datetime, `current_login_at` datetime, `last_login_at` datetime, `current_login_ip` varchar(255), `last_login_ip` varchar(255), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
37
+  (10.5ms) CREATE INDEX `index_spud_users_on_login` ON `spud_users` (`login`)
38
+  (14.1ms) CREATE INDEX `index_spud_users_on_email` ON `spud_users` (`email`)
39
+  (0.5ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121127192247')
40
+ Migrating to AddTimeZoneToSpudUser (20121127192248)
41
+  (12.6ms) ALTER TABLE `spud_users` ADD `time_zone` varchar(255)
42
+  (0.3ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121127192248')
43
+ Migrating to AddScopeToSpudAdminPermissions (20121127192249)
44
+  (16.9ms) ALTER TABLE `spud_admin_permissions` ADD `scope` varchar(255)
45
+  (0.4ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121127192249')
46
+ Migrating to CreateSpudUserSettings (20121127192250)
47
+  (13.1ms) CREATE TABLE `spud_user_settings` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `spud_user_id` int(11), `key` varchar(255), `value` varchar(255), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
48
+  (0.4ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20121127192250')
49
+  (0.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations`
50
+ Connecting to database specified by database.yml
51
+  (2.0ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` 
52
+  (1.9ms) DROP DATABASE IF EXISTS `spud_banners_test`
53
+  (0.3ms) CREATE DATABASE `spud_banners_test` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`
54
+  (17.7ms) CREATE TABLE `spud_admin_permissions` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `user_id` int(11), `name` varchar(255), `access` tinyint(1), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, `scope` varchar(255)) ENGINE=InnoDB
55
+  (16.1ms) CREATE TABLE `spud_banner_sets` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `name` varchar(255) NOT NULL, `width` int(11) NOT NULL, `height` int(11) NOT NULL, `cropped` tinyint(1) DEFAULT 1, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
56
+  (14.6ms) CREATE UNIQUE INDEX `index_spud_banner_sets_on_name` ON `spud_banner_sets` (`name`)
57
+  (12.2ms) CREATE TABLE `spud_banners` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `spud_banner_set_id` int(11) NOT NULL, `link_to` varchar(255), `link_target` varchar(255), `title` varchar(255), `alt` varchar(255), `sort_order` int(11) DEFAULT 0, `banner_file_name` varchar(255), `banner_content_type` varchar(255), `banner_file_size` int(11), `banner_updated_at` datetime, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
58
+  (18.0ms) CREATE INDEX `index_spud_banners_on_spud_banner_set_id` ON `spud_banners` (`spud_banner_set_id`)
59
+  (13.3ms) CREATE TABLE `spud_user_settings` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `spud_user_id` int(11), `key` varchar(255), `value` varchar(255), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
60
+  (14.6ms) CREATE TABLE `spud_users` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `first_name` varchar(255), `last_name` varchar(255), `super_admin` tinyint(1), `login` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `crypted_password` varchar(255) NOT NULL, `password_salt` varchar(255) NOT NULL, `persistence_token` varchar(255) NOT NULL, `single_access_token` varchar(255) NOT NULL, `perishable_token` varchar(255) NOT NULL, `login_count` int(11) DEFAULT 0 NOT NULL, `failed_login_count` int(11) DEFAULT 0 NOT NULL, `last_request_at` datetime, `current_login_at` datetime, `last_login_at` datetime, `current_login_ip` varchar(255), `last_login_ip` varchar(255), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, `time_zone` varchar(255)) ENGINE=InnoDB
61
+  (15.8ms) CREATE INDEX `index_spud_users_on_email` ON `spud_users` (`email`)
62
+  (16.3ms) CREATE INDEX `index_spud_users_on_login` ON `spud_users` (`login`)
63
+  (14.5ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB
64
+  (59.9ms) CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`)
65
+  (0.2ms) SELECT version FROM `schema_migrations`
66
+  (0.4ms) INSERT INTO `schema_migrations` (version) VALUES ('20121127192250')
67
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121127192246')
68
+  (0.6ms) INSERT INTO `schema_migrations` (version) VALUES ('20121127192247')
69
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121127192248')
70
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121127192249')
71
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121116195139')
72
+  (0.3ms) INSERT INTO `schema_migrations` (version) VALUES ('20121116195312')