weeler 0.0.4 → 1.0.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.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.rspec +1 -1
  4. data/.travis.yml +7 -2
  5. data/CHANGELOG.md +149 -1
  6. data/LICENSE.txt +2 -2
  7. data/README.md +83 -1
  8. data/app/.DS_Store +0 -0
  9. data/app/assets/javascripts/weeler/init.js.coffee +13 -2
  10. data/app/assets/javascripts/weeler/lib/notify.js +18 -0
  11. data/app/assets/javascripts/weeler/lib/sortable.js +9 -0
  12. data/app/assets/stylesheets/weeler/init.css.erb +2 -1
  13. data/app/assets/stylesheets/weeler/style.css.scss +22 -0
  14. data/app/controllers/concerns/weeler/section_seo.rb +16 -0
  15. data/app/controllers/weeler/administration_controller.rb +11 -0
  16. data/app/controllers/weeler/application_controller.rb +5 -0
  17. data/app/controllers/weeler/base_controller.rb +16 -12
  18. data/app/controllers/weeler/configuration_controller.rb +9 -0
  19. data/app/controllers/weeler/content_controller.rb +12 -0
  20. data/app/controllers/weeler/home_controller.rb +5 -2
  21. data/app/controllers/weeler/seo_items_controller.rb +24 -0
  22. data/app/controllers/weeler/settings_controller.rb +21 -0
  23. data/app/controllers/weeler/static_sections_controller.rb +19 -0
  24. data/app/controllers/weeler/translations_controller.rb +36 -18
  25. data/app/models/concerns/weeler/seoable.rb +61 -0
  26. data/app/models/concerns/weeler/sluger.rb +32 -0
  27. data/app/models/settings.rb +2 -0
  28. data/app/models/weeler/seo.rb +9 -0
  29. data/app/views/kaminari/{_first_page.html.erb → weeler/_first_page.html.erb} +1 -1
  30. data/app/views/kaminari/{_gap.html.erb → weeler/_gap.html.erb} +1 -1
  31. data/app/views/kaminari/{_last_page.html.erb → weeler/_last_page.html.erb} +1 -1
  32. data/app/views/kaminari/{_next_page.html.erb → weeler/_next_page.html.erb} +1 -1
  33. data/app/views/kaminari/{_page.html.erb → weeler/_page.html.erb} +0 -0
  34. data/app/views/kaminari/{_paginator.html.erb → weeler/_paginator.html.erb} +1 -1
  35. data/app/views/kaminari/{_prev_page.html.erb → weeler/_prev_page.html.erb} +1 -1
  36. data/app/views/layouts/weeler/base.html.haml +22 -0
  37. data/{lib/generators/weeler/templates/views/weeler/example/index.html.erb → app/views/weeler/administration/_filter.html.haml} +0 -0
  38. data/app/views/weeler/administration/_header_row.html.haml +5 -0
  39. data/app/views/weeler/administration/_row.html.haml +5 -0
  40. data/app/views/weeler/administration/_side_navbar.html.haml +8 -0
  41. data/app/views/weeler/administration/index.html.haml +17 -0
  42. data/app/views/weeler/administration/welcome.html.haml +5 -0
  43. data/app/views/weeler/base/_flash.html.haml +3 -0
  44. data/app/views/weeler/base/_footer.html.haml +2 -0
  45. data/app/views/weeler/base/_header_navbar.html.haml +19 -0
  46. data/app/views/weeler/base/_side_navbar.html.haml +2 -0
  47. data/app/views/weeler/configuration/_side_navbar.html.haml +12 -0
  48. data/app/views/weeler/configuration/index.html.haml +3 -0
  49. data/app/views/weeler/content/_error_messages.html.haml +5 -0
  50. data/app/views/weeler/content/_form.html.haml +6 -0
  51. data/app/views/weeler/content/_list.html.haml +23 -0
  52. data/app/views/weeler/content/_object_seo.html.haml +31 -0
  53. data/app/views/weeler/content/_side_navbar.html.haml +17 -0
  54. data/app/views/weeler/content/_sortable_list.html.haml +24 -0
  55. data/app/views/weeler/content/edit.html.haml +2 -0
  56. data/app/views/weeler/content/index.html.haml +10 -0
  57. data/app/views/weeler/content/new.html.haml +2 -0
  58. data/app/views/weeler/content/welcome.html.haml +3 -0
  59. data/app/views/weeler/home/_side_navbar.html.haml +8 -0
  60. data/app/views/weeler/home/about.html.haml +15 -0
  61. data/app/views/weeler/home/index.html.haml +3 -0
  62. data/app/views/weeler/seo_items/edit.html.haml +28 -0
  63. data/app/views/weeler/seo_items/index.html.haml +15 -0
  64. data/app/views/weeler/settings/index.html.haml +19 -0
  65. data/app/views/weeler/static_sections/show.html.haml +26 -0
  66. data/app/views/weeler/translations/_form.html.haml +27 -0
  67. data/app/views/weeler/translations/_translation.html.haml +11 -0
  68. data/app/views/weeler/translations/edit.html.haml +14 -0
  69. data/app/views/weeler/translations/index.html.haml +76 -0
  70. data/app/views/weeler/translations/new.html.haml +13 -0
  71. data/lib/.DS_Store +0 -0
  72. data/lib/generators/weeler/.DS_Store +0 -0
  73. data/lib/generators/weeler/install_generator.rb +30 -26
  74. data/lib/generators/weeler/templates/assets/javascripts/weeler/app/index.js +2 -0
  75. data/lib/generators/weeler/templates/assets/stylesheets/weeler/app/index.css +4 -0
  76. data/lib/generators/weeler/templates/controllers/weeler/application_controller.rb +6 -0
  77. data/lib/generators/weeler/templates/initializers/weeler.rb +30 -2
  78. data/lib/generators/weeler/templates/migrations/create_weeler_seos.rb +14 -0
  79. data/lib/generators/weeler/templates/migrations/create_weeler_settings.rb +17 -0
  80. data/lib/generators/weeler/templates/migrations/translate_weeler_seos.rb +15 -0
  81. data/lib/generators/weeler/templates/views/weeler/.keep +0 -0
  82. data/lib/i18n/backend/weeler.rb +102 -22
  83. data/lib/i18n/backend/weeler/dedupe.rb +31 -0
  84. data/lib/i18n/backend/weeler/exporter.rb +67 -5
  85. data/lib/i18n/backend/weeler/html_checker.rb +41 -0
  86. data/lib/i18n/backend/weeler/importer.rb +30 -13
  87. data/lib/i18n/backend/weeler/translation.rb +12 -7
  88. data/lib/i18n/humanize_missing_translations.rb +1 -0
  89. data/lib/i18n/weeler.rb +8 -2
  90. data/lib/tasks/weeler.rake +8 -0
  91. data/lib/weeler.rb +80 -7
  92. data/lib/weeler/.DS_Store +0 -0
  93. data/lib/weeler/action_controller/acts/restful.rb +185 -0
  94. data/lib/weeler/action_dispatch/routing/mapper.rb +87 -0
  95. data/lib/weeler/action_view/helpers/form_helper.rb +13 -0
  96. data/lib/weeler/action_view/helpers/image_form_helper.rb +84 -0
  97. data/lib/weeler/action_view/helpers/translation_helper.rb +15 -0
  98. data/lib/weeler/deprecator.rb +9 -0
  99. data/lib/weeler/engine.rb +18 -4
  100. data/lib/weeler/version.rb +7 -1
  101. data/rspec.html +426 -147
  102. data/spec/.DS_Store +0 -0
  103. data/spec/controllers/translations_controller_spec.rb +76 -5
  104. data/spec/dummy/app/controllers/weeler/posts_controller.rb +3 -7
  105. data/spec/dummy/app/models/post.rb +17 -0
  106. data/spec/dummy/app/models/translation.rb +2 -0
  107. data/spec/dummy/config/locales/en.yml +4 -1
  108. data/spec/dummy/config/routes.rb +3 -3
  109. data/spec/dummy/db/development.sqlite3 +0 -0
  110. data/spec/dummy/db/migrate/20140123083704_create_weeler_seos.rb +14 -0
  111. data/spec/dummy/db/migrate/20140123083705_create_weeler_settings.rb +17 -0
  112. data/spec/dummy/db/migrate/{20131015144900_create_weeler_translations.rb → 20140123083706_create_weeler_translations.rb} +0 -0
  113. data/spec/dummy/db/migrate/20140123083707_translate_weeler_seos.rb +15 -0
  114. data/spec/dummy/db/migrate/20140718103237_create_posts.rb +12 -0
  115. data/spec/dummy/db/migrate/20140726151210_create_translations.rb +12 -0
  116. data/spec/dummy/db/schema.rb +59 -1
  117. data/spec/dummy/db/test.sqlite3 +0 -0
  118. data/spec/dummy/log/development.log +221 -0
  119. data/spec/factories/dummy_posts.rb +6 -0
  120. data/spec/fixtures/.DS_Store +0 -0
  121. data/spec/routing/routes_spec.rb +4 -4
  122. data/spec/spec_helper.rb +14 -3
  123. data/spec/weeler/action_controller/acts/restful_spec.rb +155 -0
  124. data/spec/weeler/action_view/helpers/form_helper_spec.rb +26 -0
  125. data/spec/weeler/action_view/helpers/translation_helper_spec.rb +16 -0
  126. data/spec/weeler/i18n/backend/weeler/dedupe_spec.rb +21 -0
  127. data/spec/weeler/i18n/backend/weeler/exporter_spec.rb +2 -4
  128. data/spec/weeler/i18n/backend/weeler/importer_spec.rb +5 -2
  129. data/spec/weeler/i18n/backend/weeler_spec.rb +121 -23
  130. data/weeler.gemspec +15 -7
  131. metadata +207 -85
  132. data/.DS_Store +0 -0
  133. data/app/assets/stylesheets/weeler/vendor/bootstrap.css +0 -6086
  134. data/app/views/layouts/weeler/base.html.erb +0 -40
  135. data/app/views/weeler/home/about.html.erb +0 -16
  136. data/app/views/weeler/home/index.html.erb +0 -4
  137. data/app/views/weeler/shared/_flash.html.erb +0 -17
  138. data/app/views/weeler/shared/_footer.html.erb +0 -3
  139. data/app/views/weeler/shared/_header_navbar.html.erb +0 -18
  140. data/app/views/weeler/shared/_side_navbar.html.erb +0 -14
  141. data/app/views/weeler/translations/_form.html.erb +0 -43
  142. data/app/views/weeler/translations/_translation.html.erb +0 -11
  143. data/app/views/weeler/translations/edit.html.erb +0 -19
  144. data/app/views/weeler/translations/index.html.erb +0 -103
  145. data/app/views/weeler/translations/new.html.erb +0 -19
  146. data/lib/generators/weeler/templates/controllers/weeler/example_controller.rb.example +0 -7
  147. data/lib/i18n/backend/weeler/exporter/active_record.rb +0 -37
  148. data/lib/i18n/backend/weeler/exporter/active_record_relation.rb +0 -38
  149. data/lib/i18n/backend/weeler/store_procs.rb +0 -39
  150. data/lib/weeler/route_mapper.rb +0 -41
  151. data/spec/dummy/db/production.sqlite3 +0 -0
  152. data/spec/dummy/log/test.log +0 -88454
data/spec/.DS_Store CHANGED
Binary file
@@ -29,18 +29,89 @@ describe Weeler::TranslationsController do
29
29
 
30
30
  expect(I18n.t("title", locale: :en)).to eq("This is weeler")
31
31
  end
32
+
33
+ it "doesnt create a duplicate key" do
34
+ I18n::Backend::Weeler::Translation.delete_all
35
+
36
+ post :create, i18n_backend_weeler_translation: {locale: "en", key: "no.dup.title", value: "This is weeler"}
37
+ expect(I18n.t("no.dup.title", locale: :en)).to eq("This is weeler")
38
+
39
+ post :create, i18n_backend_weeler_translation: {locale: "en", key: "no.dup.title", value: "This is weeler"}
40
+ expect(response).to render_template(:edit)
41
+ end
42
+ end
43
+
44
+ describe "PUT #update" do
45
+ it "update translation in DB" do
46
+ I18n::Backend::Weeler::Translation.delete_all
47
+ translation = FactoryGirl.create(:translation, key: 'foo.updated', value: nil)
48
+
49
+ put "update", id: translation.id, i18n_backend_weeler_translation: {value: "Updated weeler!"}
50
+ expect(I18n.t("foo.updated", locale: :en)).to eq("Updated weeler!")
51
+ end
52
+
53
+ it "dont updates if key is empty" do
54
+ I18n::Backend::Weeler::Translation.delete_all
55
+ translation = FactoryGirl.create(:translation, key: 'foo.updated', value: nil)
56
+
57
+ put "update", id: translation.id, i18n_backend_weeler_translation: {value: "Updated weeler!", key: nil}
58
+ expect(response).to render_template(:edit)
59
+ end
32
60
  end
33
61
 
34
- describe "#update" do
62
+ describe "GET #new" do
63
+ it "retern new translation form" do
64
+ get "new"
65
+ expect(response).to render_template(:new)
66
+ end
35
67
  end
36
68
 
37
- describe "#destroy" do
69
+ describe "GET #edit" do
70
+ it "retern edit translation form" do
71
+ translation = FactoryGirl.create(:translation, key: 'foo.updated', value: nil)
72
+ get "edit", id: translation.id
73
+ expect(response).to render_template(:edit)
74
+ end
38
75
  end
39
76
 
40
- describe "#import" do
77
+ describe "DELETE #destroy" do
78
+ it "destroys translation" do
79
+ translation = FactoryGirl.create(:translation, key: 'foo.removing', value: "Bla bla")
80
+ delete "destroy", id: translation.id
81
+
82
+ expect(I18n.t("foo.removing", locale: :en)).to eq("Removing") # Returns empty key
83
+ end
84
+ end
85
+
86
+ describe "POST #import" do
87
+ context "submiting a file" do
88
+ it "adds translation from files" do
89
+ I18n::Backend::Weeler::Translation.delete_all
90
+ Settings.i18n_updated_at = Time.now
91
+
92
+ expect(I18n.t("welcome.title", locale: :en)).to eq("Title") # Missing translation
93
+ post "import", file: fixture_file_upload(File.dirname(__FILE__) + '/../fixtures/test.xlsx', 'application/xlsx')
94
+ expect(I18n.t("welcome.title", locale: :en)).to eq("EN welcome")
95
+ end
96
+ end
97
+
98
+ context "no file" do
99
+ it "redirects back" do
100
+ post "import"
101
+ response.should redirect_to :weeler_translations
102
+ end
103
+
104
+ end
105
+
106
+
41
107
  end
42
108
 
43
- describe "#export" do
109
+ describe "GET #export" do
110
+ it "retursns translation file" do
111
+ get "export", format: :xlsx
112
+ expect(response.headers["Content-Type"]).to eq("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
113
+ expect(response.headers["Content-Disposition"]).to eq("attachment; filename=\"translations.xlsx\"")
114
+ end
44
115
  end
45
116
 
46
- end
117
+ end
@@ -1,7 +1,3 @@
1
- class Weeler::PostsController < Weeler::BaseController
2
-
3
- def index
4
- @posts = Post.all
5
- end
6
-
7
- end
1
+ class Weeler::PostsController < Weeler::ContentController
2
+ acts_as_restful Post, permit_attributes: [:title]
3
+ end
@@ -0,0 +1,17 @@
1
+ class Post < ActiveRecord::Base
2
+
3
+ has_many :translations
4
+ accepts_nested_attributes_for :translations, :allow_destroy => true
5
+
6
+ Image = Struct.new(:url) do
7
+ def url(type = nil)
8
+ type = "original" if type.blank?
9
+ "/images/#{type.to_s}.jpg"
10
+ end
11
+ end
12
+
13
+ def image
14
+ Image.new
15
+ end
16
+
17
+ end
@@ -0,0 +1,2 @@
1
+ class Translation < ActiveRecord::Base
2
+ end
@@ -20,4 +20,7 @@
20
20
  # available at http://guides.rubyonrails.org/i18n.html.
21
21
 
22
22
  en:
23
- hello: "Hello world"
23
+ hello: "Hello world"
24
+ weeler:
25
+ test:
26
+ cms_title: Weeler is cool
@@ -1,5 +1,5 @@
1
1
  Dummy::Application.routes.draw do
2
-
3
- mount Weeler::Engine => "/weeler-admin"
4
2
 
5
- end
3
+ mount Weeler::Engine => "/weeler-admin"
4
+ resources :anonymous # HACK
5
+ end
Binary file
@@ -0,0 +1,14 @@
1
+ class CreateWeelerSeos < ActiveRecord::Migration
2
+ def change
3
+ create_table :weeler_seos do |t|
4
+ t.string :title
5
+ t.text :description
6
+ t.text :keywords
7
+ t.string :section
8
+ t.references :seoable, index: true, polymorphic: true
9
+
10
+ t.timestamps
11
+ end
12
+ add_index :weeler_seos, :section
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ class CreateWeelerSettings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :settings do |t|
4
+ t.string :var, :null => false
5
+ t.text :value, :null => true
6
+ t.integer :thing_id, :null => true
7
+ t.string :thing_type, :limit => 30, :null => true
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :settings, [ :thing_type, :thing_id, :var ], :unique => true
12
+ end
13
+
14
+ def self.down
15
+ drop_table :settings
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ class TranslateWeelerSeos < ActiveRecord::Migration
2
+ def self.up
3
+ Weeler::Seo.create_translation_table!({
4
+ title: :string,
5
+ description: :text,
6
+ keywords: :text
7
+ }, {
8
+ :migrate_data => true
9
+ })
10
+ end
11
+
12
+ def self.down
13
+ Weeler::Seo.drop_translation_table! :migrate_data => true
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ class CreatePosts < ActiveRecord::Migration
2
+ def change
3
+ create_table :posts do |t|
4
+ t.string :title
5
+ t.text :body
6
+ t.integer :sequence, default: 0
7
+ t.integer :status, default: 0
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateTranslations < ActiveRecord::Migration
2
+ def change
3
+ create_table :translations do |t|
4
+ t.references :post, index: true
5
+ t.string :locale
6
+ t.string :title
7
+ t.text :body
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -11,7 +11,65 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20131015144900) do
14
+ ActiveRecord::Schema.define(version: 20140726151210) do
15
+
16
+ create_table "posts", force: true do |t|
17
+ t.string "title"
18
+ t.text "body"
19
+ t.integer "sequence", default: 0
20
+ t.integer "status", default: 0
21
+ t.datetime "created_at"
22
+ t.datetime "updated_at"
23
+ end
24
+
25
+ create_table "settings", force: true do |t|
26
+ t.string "var", null: false
27
+ t.text "value"
28
+ t.integer "thing_id"
29
+ t.string "thing_type", limit: 30
30
+ t.datetime "created_at"
31
+ t.datetime "updated_at"
32
+ end
33
+
34
+ add_index "settings", ["thing_type", "thing_id", "var"], name: "index_settings_on_thing_type_and_thing_id_and_var", unique: true
35
+
36
+ create_table "translations", force: true do |t|
37
+ t.integer "post_id"
38
+ t.string "locale"
39
+ t.string "title"
40
+ t.text "body"
41
+ t.datetime "created_at"
42
+ t.datetime "updated_at"
43
+ end
44
+
45
+ add_index "translations", ["post_id"], name: "index_translations_on_post_id"
46
+
47
+ create_table "weeler_seo_translations", force: true do |t|
48
+ t.integer "weeler_seo_id", null: false
49
+ t.string "locale", null: false
50
+ t.datetime "created_at"
51
+ t.datetime "updated_at"
52
+ t.string "title"
53
+ t.text "description"
54
+ t.text "keywords"
55
+ end
56
+
57
+ add_index "weeler_seo_translations", ["locale"], name: "index_weeler_seo_translations_on_locale"
58
+ add_index "weeler_seo_translations", ["weeler_seo_id"], name: "index_weeler_seo_translations_on_weeler_seo_id"
59
+
60
+ create_table "weeler_seos", force: true do |t|
61
+ t.string "title"
62
+ t.text "description"
63
+ t.text "keywords"
64
+ t.string "section"
65
+ t.integer "seoable_id"
66
+ t.string "seoable_type"
67
+ t.datetime "created_at"
68
+ t.datetime "updated_at"
69
+ end
70
+
71
+ add_index "weeler_seos", ["section"], name: "index_weeler_seos_on_section"
72
+ add_index "weeler_seos", ["seoable_id", "seoable_type"], name: "index_weeler_seos_on_seoable_id_and_seoable_type"
15
73
 
16
74
  create_table "weeler_translations", force: true do |t|
17
75
  t.string "locale"
Binary file
@@ -17,3 +17,224 @@ Migrating to CreateWeelerTranslations (20131015144900)
17
17
   (0.1ms) begin transaction
18
18
  SQL (4.6ms) INSERT INTO "weeler_translations" ("created_at", "interpolations", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?, ?) [["created_at", Thu, 17 Oct 2013 11:11:35 UTC +00:00], ["interpolations", "--- []\n"], ["key", "hello"], ["locale", "en"], ["updated_at", Thu, 17 Oct 2013 11:11:35 UTC +00:00], ["value", nil]]
19
19
   (1.4ms) commit transaction
20
+  (0.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
21
+  (0.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
22
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
23
+ Migrating to CreateWeelerSeos (20140123083704)
24
+  (0.1ms) begin transaction
25
+  (0.3ms) CREATE TABLE "weeler_seos" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "description" text, "keywords" text, "section" varchar(255), "seoable_id" integer, "seoable_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
26
+  (0.1ms) CREATE INDEX "index_weeler_seos_on_seoable_id_and_seoable_type" ON "weeler_seos" ("seoable_id", "seoable_type")
27
+  (0.1ms) CREATE INDEX "index_weeler_seos_on_section" ON "weeler_seos" ("section")
28
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083704"]]
29
+  (0.7ms) commit transaction
30
+ Migrating to CreateWeelerSettings (20140123083705)
31
+  (0.1ms) begin transaction
32
+  (0.3ms) CREATE TABLE "settings" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "var" varchar(255) NOT NULL, "value" text, "thing_id" integer, "thing_type" varchar(30), "created_at" datetime, "updated_at" datetime) 
33
+  (0.8ms) CREATE UNIQUE INDEX "index_settings_on_thing_type_and_thing_id_and_var" ON "settings" ("thing_type", "thing_id", "var")
34
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083705"]]
35
+  (0.7ms) commit transaction
36
+ Migrating to CreateWeelerTranslations (20140123083706)
37
+  (0.0ms) begin transaction
38
+  (0.2ms) CREATE TABLE "weeler_translations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "locale" varchar(255), "key" varchar(255), "value" text, "interpolations" text, "is_proc" boolean DEFAULT 'f', "created_at" datetime, "updated_at" datetime)
39
+  (0.1ms) CREATE INDEX "index_weeler_translations_on_locale" ON "weeler_translations" ("locale")
40
+  (0.1ms) CREATE INDEX "index_weeler_translations_on_key" ON "weeler_translations" ("key")
41
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083706"]]
42
+  (0.6ms) commit transaction
43
+ Migrating to TranslateWeelerSeos (20140123083707)
44
+  (0.1ms) begin transaction
45
+  (0.3ms) CREATE TABLE "weeler_seo_translations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "weeler_seo_id" integer NOT NULL, "locale" varchar(255) NOT NULL, "created_at" datetime, "updated_at" datetime)
46
+  (0.1ms) ALTER TABLE "weeler_seo_translations" ADD "title" varchar(255)
47
+  (0.1ms) ALTER TABLE "weeler_seo_translations" ADD "description" text
48
+  (0.1ms) ALTER TABLE "weeler_seo_translations" ADD "keywords" text
49
+ Weeler::Seo Load (0.1ms) SELECT "weeler_seos".* FROM "weeler_seos" ORDER BY "weeler_seos"."id" ASC LIMIT 1000
50
+  (0.1ms) CREATE INDEX "index_weeler_seo_translations_on_weeler_seo_id" ON "weeler_seo_translations" ("weeler_seo_id")
51
+  (0.1ms) CREATE INDEX "index_weeler_seo_translations_on_locale" ON "weeler_seo_translations" ("locale")
52
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083707"]]
53
+  (0.6ms) commit transaction
54
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
55
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
56
+ Migrating to CreatePosts (20140718103237)
57
+  (0.0ms) begin transaction
58
+  (0.4ms) CREATE TABLE "posts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "body" text, "created_at" datetime, "updated_at" datetime) 
59
+ SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140718103237"]]
60
+  (0.8ms) commit transaction
61
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
62
+  (0.1ms)  SELECT sql
63
+ FROM sqlite_master
64
+ WHERE name='index_settings_on_thing_type_and_thing_id_and_var' AND type='index'
65
+ UNION ALL
66
+ SELECT sql
67
+ FROM sqlite_temp_master
68
+ WHERE name='index_settings_on_thing_type_and_thing_id_and_var' AND type='index'
69
+ 
70
+  (0.1ms) SELECT sql
71
+ FROM sqlite_master
72
+ WHERE name='index_weeler_seo_translations_on_locale' AND type='index'
73
+ UNION ALL
74
+ SELECT sql
75
+ FROM sqlite_temp_master
76
+ WHERE name='index_weeler_seo_translations_on_locale' AND type='index'
77
+
78
+  (0.1ms)  SELECT sql
79
+ FROM sqlite_master
80
+ WHERE name='index_weeler_seo_translations_on_weeler_seo_id' AND type='index'
81
+ UNION ALL
82
+ SELECT sql
83
+ FROM sqlite_temp_master
84
+ WHERE name='index_weeler_seo_translations_on_weeler_seo_id' AND type='index'
85
+ 
86
+  (0.1ms) SELECT sql
87
+ FROM sqlite_master
88
+ WHERE name='index_weeler_seos_on_section' AND type='index'
89
+ UNION ALL
90
+ SELECT sql
91
+ FROM sqlite_temp_master
92
+ WHERE name='index_weeler_seos_on_section' AND type='index'
93
+
94
+  (0.1ms)  SELECT sql
95
+ FROM sqlite_master
96
+ WHERE name='index_weeler_seos_on_seoable_id_and_seoable_type' AND type='index'
97
+ UNION ALL
98
+ SELECT sql
99
+ FROM sqlite_temp_master
100
+ WHERE name='index_weeler_seos_on_seoable_id_and_seoable_type' AND type='index'
101
+ 
102
+  (0.1ms) SELECT sql
103
+ FROM sqlite_master
104
+ WHERE name='index_weeler_translations_on_key' AND type='index'
105
+ UNION ALL
106
+ SELECT sql
107
+ FROM sqlite_temp_master
108
+ WHERE name='index_weeler_translations_on_key' AND type='index'
109
+
110
+  (0.1ms)  SELECT sql
111
+ FROM sqlite_master
112
+ WHERE name='index_weeler_translations_on_locale' AND type='index'
113
+ UNION ALL
114
+ SELECT sql
115
+ FROM sqlite_temp_master
116
+ WHERE name='index_weeler_translations_on_locale' AND type='index'
117
+ 
118
+  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
119
+  (0.4ms) select sqlite_version(*)
120
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
121
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
122
+ Migrating to CreateWeelerSeos (20140123083704)
123
+  (0.1ms) begin transaction
124
+  (0.3ms) CREATE TABLE "weeler_seos" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "description" text, "keywords" text, "section" varchar(255), "seoable_id" integer, "seoable_type" varchar(255), "created_at" datetime, "updated_at" datetime)
125
+  (0.1ms) CREATE INDEX "index_weeler_seos_on_seoable_id_and_seoable_type" ON "weeler_seos" ("seoable_id", "seoable_type")
126
+  (0.1ms) SELECT sql
127
+ FROM sqlite_master
128
+ WHERE name='index_weeler_seos_on_seoable_id_and_seoable_type' AND type='index'
129
+ UNION ALL
130
+ SELECT sql
131
+ FROM sqlite_temp_master
132
+ WHERE name='index_weeler_seos_on_seoable_id_and_seoable_type' AND type='index'
133
+
134
+  (0.1ms) CREATE INDEX "index_weeler_seos_on_section" ON "weeler_seos" ("section")
135
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083704"]]
136
+  (0.5ms) commit transaction
137
+ Migrating to CreateWeelerSettings (20140123083705)
138
+  (0.0ms) begin transaction
139
+  (0.2ms) CREATE TABLE "settings" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "var" varchar(255) NOT NULL, "value" text, "thing_id" integer, "thing_type" varchar(30), "created_at" datetime, "updated_at" datetime) 
140
+  (0.8ms) CREATE UNIQUE INDEX "index_settings_on_thing_type_and_thing_id_and_var" ON "settings" ("thing_type", "thing_id", "var")
141
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083705"]]
142
+  (0.6ms) commit transaction
143
+ Migrating to CreateWeelerTranslations (20140123083706)
144
+  (0.0ms) begin transaction
145
+  (0.2ms) CREATE TABLE "weeler_translations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "locale" varchar(255), "key" varchar(255), "value" text, "interpolations" text, "is_proc" boolean DEFAULT 'f', "created_at" datetime, "updated_at" datetime)
146
+  (0.1ms) CREATE INDEX "index_weeler_translations_on_locale" ON "weeler_translations" ("locale")
147
+  (0.1ms) SELECT sql
148
+ FROM sqlite_master
149
+ WHERE name='index_weeler_translations_on_locale' AND type='index'
150
+ UNION ALL
151
+ SELECT sql
152
+ FROM sqlite_temp_master
153
+ WHERE name='index_weeler_translations_on_locale' AND type='index'
154
+
155
+  (0.1ms) CREATE INDEX "index_weeler_translations_on_key" ON "weeler_translations" ("key")
156
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083706"]]
157
+  (0.5ms) commit transaction
158
+ Migrating to TranslateWeelerSeos (20140123083707)
159
+  (0.0ms) begin transaction
160
+  (0.3ms) CREATE TABLE "weeler_seo_translations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "weeler_seo_id" integer NOT NULL, "locale" varchar(255) NOT NULL, "created_at" datetime, "updated_at" datetime) 
161
+  (0.1ms) ALTER TABLE "weeler_seo_translations" ADD "title" varchar(255)
162
+  (0.1ms) ALTER TABLE "weeler_seo_translations" ADD "description" text
163
+  (0.1ms) ALTER TABLE "weeler_seo_translations" ADD "keywords" text
164
+ Weeler::Seo Load (0.1ms) SELECT "weeler_seos".* FROM "weeler_seos" ORDER BY "weeler_seos"."id" ASC LIMIT 1000
165
+  (0.1ms) CREATE INDEX "index_weeler_seo_translations_on_weeler_seo_id" ON "weeler_seo_translations" ("weeler_seo_id")
166
+  (0.1ms)  SELECT sql
167
+ FROM sqlite_master
168
+ WHERE name='index_weeler_seo_translations_on_weeler_seo_id' AND type='index'
169
+ UNION ALL
170
+ SELECT sql
171
+ FROM sqlite_temp_master
172
+ WHERE name='index_weeler_seo_translations_on_weeler_seo_id' AND type='index'
173
+ 
174
+  (0.1ms) CREATE INDEX "index_weeler_seo_translations_on_locale" ON "weeler_seo_translations" ("locale")
175
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140123083707"]]
176
+  (0.5ms) commit transaction
177
+ Migrating to CreatePosts (20140718103237)
178
+  (0.1ms) begin transaction
179
+  (0.3ms) CREATE TABLE "posts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "body" text, "sequence" integer DEFAULT 0, "status" integer DEFAULT 0, "created_at" datetime, "updated_at" datetime)
180
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140718103237"]]
181
+  (0.5ms) commit transaction
182
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
183
+  (0.1ms) SELECT sql
184
+ FROM sqlite_master
185
+ WHERE name='index_settings_on_thing_type_and_thing_id_and_var' AND type='index'
186
+ UNION ALL
187
+ SELECT sql
188
+ FROM sqlite_temp_master
189
+ WHERE name='index_settings_on_thing_type_and_thing_id_and_var' AND type='index'
190
+
191
+  (0.1ms)  SELECT sql
192
+ FROM sqlite_master
193
+ WHERE name='index_weeler_seo_translations_on_locale' AND type='index'
194
+ UNION ALL
195
+ SELECT sql
196
+ FROM sqlite_temp_master
197
+ WHERE name='index_weeler_seo_translations_on_locale' AND type='index'
198
+ 
199
+  (0.1ms) SELECT sql
200
+ FROM sqlite_master
201
+ WHERE name='index_weeler_seo_translations_on_weeler_seo_id' AND type='index'
202
+ UNION ALL
203
+ SELECT sql
204
+ FROM sqlite_temp_master
205
+ WHERE name='index_weeler_seo_translations_on_weeler_seo_id' AND type='index'
206
+
207
+  (0.1ms)  SELECT sql
208
+ FROM sqlite_master
209
+ WHERE name='index_weeler_seos_on_section' AND type='index'
210
+ UNION ALL
211
+ SELECT sql
212
+ FROM sqlite_temp_master
213
+ WHERE name='index_weeler_seos_on_section' AND type='index'
214
+ 
215
+  (0.1ms) SELECT sql
216
+ FROM sqlite_master
217
+ WHERE name='index_weeler_seos_on_seoable_id_and_seoable_type' AND type='index'
218
+ UNION ALL
219
+ SELECT sql
220
+ FROM sqlite_temp_master
221
+ WHERE name='index_weeler_seos_on_seoable_id_and_seoable_type' AND type='index'
222
+
223
+  (0.1ms)  SELECT sql
224
+ FROM sqlite_master
225
+ WHERE name='index_weeler_translations_on_key' AND type='index'
226
+ UNION ALL
227
+ SELECT sql
228
+ FROM sqlite_temp_master
229
+ WHERE name='index_weeler_translations_on_key' AND type='index'
230
+ 
231
+  (0.1ms) SELECT sql
232
+ FROM sqlite_master
233
+ WHERE name='index_weeler_translations_on_locale' AND type='index'
234
+ UNION ALL
235
+ SELECT sql
236
+ FROM sqlite_temp_master
237
+ WHERE name='index_weeler_translations_on_locale' AND type='index'
238
+
239
+ Post Load (0.2ms) SELECT "posts".* FROM "posts" ORDER BY "posts"."id" DESC LIMIT 1
240
+ Post Load (0.2ms) SELECT "posts".* FROM "posts" ORDER BY "posts"."id" DESC LIMIT 1