copycat 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,6 +20,7 @@ div#copycat {
20
20
  padding-top: 2em;
21
21
  }
22
22
  #copycat table {
23
+ width: 100%;
23
24
  border-bottom: 1px #CCC dotted;
24
25
  padding-bottom: 1em;
25
26
  }
@@ -48,4 +49,16 @@ div#copycat {
48
49
  color: green;
49
50
  font-weight: bold;
50
51
  }
51
-
52
+ #copycat div.copycat-edit-form {
53
+ width: 50%;
54
+ }
55
+ #copycat div.copycat-edit-form textarea {
56
+ font-size: 0.8em;
57
+ width: 99%;
58
+ margin-top: 1em;
59
+ }
60
+ #copycat div.copycat-edit-form input {
61
+ margin-top: 0.5em;
62
+ font-size: 1em;
63
+ float: right;
64
+ }
@@ -20,7 +20,6 @@ class CopycatTranslationsController < ApplicationController
20
20
  cct = CopycatTranslation.find_by_id(params["id"])
21
21
  cct.value = params["copycat_translation"]["value"]
22
22
  if cct.save
23
- #Copycat.clear_cache(params["copycat_translation"]["key"])
24
23
  @copycat_translations = CopycatTranslation.all
25
24
  redirect_to copycat_translations_path
26
25
  else
@@ -1,26 +1,57 @@
1
1
  class CopycatTranslation < ActiveRecord::Base
2
2
 
3
- validates :key, :presence => true, :uniqueness => true
4
-
5
- def self.import_yaml(yaml)
6
- hash = YAML.load(yaml)
7
- hash.each do |locale, data|
8
- next unless locale == "en" # not handling non-english languages yet.
9
- Copycat.hash_flatten(data).each do |key, value|
10
- c = find_or_initialize_by_key(key)
11
- c.value = value
12
- c.save
13
- #Copycat.clear_cache
3
+ validates :key, :presence => true
4
+ validates :locale, :presence => true
5
+
6
+ module Serialize
7
+
8
+ def import_yaml(yaml)
9
+ hash = YAML.load(yaml)
10
+ hash.each do |locale, data|
11
+ hash_flatten(data).each do |key, value|
12
+ c = where(key: key, locale: locale).first
13
+ c ||= new(key: key, locale: locale)
14
+ c.value = value
15
+ c.save
16
+ end
14
17
  end
15
18
  end
16
- end
17
19
 
18
- def self.export_yaml
19
- yaml_hash = {}
20
- all.each do |c|
21
- yaml_hash = Copycat.hash_fatten(yaml_hash, c.key.split("."), c.value)
20
+ def export_yaml
21
+ hash = {}
22
+ all.each do |c|
23
+ hash_fatten!(hash, [c.locale].concat(c.key.split(".")), c.value)
24
+ end
25
+ hash.to_yaml
26
+ end
27
+
28
+ # {"foo"=>{"a"=>"1", "b"=>"2"}} ----> {"foo.a"=>1, "foo.b"=>2}
29
+ def hash_flatten(hash)
30
+ result = {}
31
+ hash.each do |key, value|
32
+ if value.is_a? Hash
33
+ hash_flatten(value).each { |k,v| result["#{key}.#{k}"] = v }
34
+ else
35
+ result[key] = value
36
+ end
37
+ end
38
+ result
39
+ end
40
+
41
+ # ({"a"=>{"b"=>{"e"=>"f"}}}, ["a","b","c"], "d") ----> {"a"=>{"b"=>{"c"=>"d", "e"=>"f"}}}
42
+ def hash_fatten!(hash, keys, value)
43
+ if keys.length == 1
44
+ hash[keys.first] = value
45
+ else
46
+ head = keys.first
47
+ rest = keys[1..-1]
48
+ hash[head] ||= {}
49
+ hash_fatten!(hash[head], rest, value)
50
+ end
22
51
  end
23
- {"en" => yaml_hash}.to_yaml
52
+
24
53
  end
25
54
 
55
+ extend Serialize
56
+
26
57
  end
@@ -1,7 +1,9 @@
1
+ <div class="copycat-edit-form">
1
2
  <%= form_for @copycat_translation, :url => { :action => "update" }, :html => {:class => "copycat_translation"} do |f| %>
2
- <%= @copycat_translation.key %>
3
+ <span class="copycat-edit-form-key"><%= @copycat_translation.key %></span>
3
4
  <br>
4
5
  <%= f.text_area :value, :size => "60x12" %>
5
6
  <br>
6
7
  <%= f.submit "Update" %>
7
8
  <% end %>
9
+ </div>
@@ -7,7 +7,7 @@
7
7
  <% @copycat_translations.each do |t| %>
8
8
  <tr>
9
9
  <td class="key">
10
- <%= link_to t.key, edit_copycat_translation_path(t) %>
10
+ <%= link_to "#{t.locale}.#{t.key}", edit_copycat_translation_path(t) %>
11
11
  </td>
12
12
  <td class="value">
13
13
  <%= t.value %>
@@ -7,7 +7,9 @@
7
7
 
8
8
  <div class="section">
9
9
  <h2> How to use </h2>
10
- <p>The values you see here correspond to literal HTML copy text in different parts of the parent website. When you edit them, the text on the website will change. Use ctrl-f or command-f to search for text, then click the left hand side links to edit. </p>
10
+ <p>The values you see here correspond to copy text in different parts of the parent website. When you edit them, the text on the website will change. Use ctrl/command-f to search for text, then click the left hand side links to edit. </p>
11
+
12
+ <p>Values with keys ending in "_html" will be parsed as literal html, so you can insert tags. All other values are parsed as plain text.</p>
11
13
  </div>
12
14
 
13
15
  <div class="section">
@@ -21,10 +23,5 @@
21
23
  <p>If you're pretty happy with your copy and don't expect to need to update it live anymore, or just want a bit more security, you can download your copy as YAML and include it as part of the Ruby on Rails application underneath your main website. You can then remove Copycat from the application entirely, and the website will still run exactly as before--it interfaces with Ruby on Rails's built-in translation mechanisms in a very unobtrusive way.
22
24
  </div>
23
25
 
24
- <div class="section">
25
- <h2> About </h2>
26
- <p>Copycat is a product of <a href="http://www.vermonster.com">Vermonster LLC</a>. Thanks for using!</p>
27
- </div>
28
-
29
26
  </div>
30
27
 
@@ -1,12 +1,13 @@
1
1
  class CreateCopycatTranslations < ActiveRecord::Migration
2
2
  def up
3
3
  create_table :copycat_translations do |t|
4
+ t.string :locale
4
5
  t.string :key
5
6
  t.text :value
6
7
  t.timestamps
7
8
  end
8
9
  change_table :copycat_translations do |t|
9
- t.index :key
10
+ t.index [:locale, :key], :unique => true
10
11
  end
11
12
  end
12
13
 
data/lib/copycat.rb CHANGED
@@ -1,40 +1,19 @@
1
1
  require "copycat/engine"
2
2
 
3
- =begin
4
- from i18n gem, lib/i18n/backend/simple.rb
5
-
6
- # Looks up a translation from the translations hash. Returns nil if
7
- # eiher key is nil, or locale, scope or key do not exist as a key in the
8
- # nested translations hash. Splits keys or scopes containing dots
9
- # into multiple keys, i.e. <tt>currency.format</tt> is regarded the same as
10
- # <tt>%w(currency format)</tt>.
11
- def lookup(locale, key, scope = [], options = {})
12
- init_translations unless initialized?
13
- keys = I18n.normalize_keys(locale, key, scope, options[:separator])
14
-
15
- keys.inject(translations) do |result, _key|
16
- _key = _key.to_sym
17
- return nil unless result.is_a?(Hash) && result.has_key?(_key)
18
- result = result[_key]
19
- result = resolve(locale, _key, result, options.merge(:scope => nil)) if result.is_a?(Symbol)
20
- result
21
- end
22
- end
23
-
24
- =end
25
3
  module CopycatImplementation
4
+ # this method overrides part of the i18n gem, lib/i18n/backend/simple.rb
26
5
  def lookup(locale, key, scope = [], options = {})
27
6
  begin
28
- cct = CopycatTranslation.find_by_key(key)
7
+ cct = CopycatTranslation.where(locale: locale, key: key).first
29
8
  rescue ActiveRecord::StatementInvalid
30
- raise if CopycatTranslation.table_exists?
9
+ raise if CopycatTranslation.table_exists?
31
10
  #assert Rails is initializing for the purpose of running the copycat_translations migration
32
11
  super
33
12
  else
34
13
  return cct.value if cct
35
14
  value = super(locale, key, scope, options)
36
15
  if value.is_a?(String) || value.nil?
37
- CopycatTranslation.create(key: key, value: value)
16
+ CopycatTranslation.create(locale: locale, key: key, value: value)
38
17
  end
39
18
  value
40
19
  end
@@ -44,59 +23,3 @@ end
44
23
  class I18n::Backend::Simple
45
24
  include CopycatImplementation
46
25
  end
47
-
48
- module Copycat
49
-
50
- # {"foo"=>{"a"=>"1", "b"=>"2"}} ----> {"foo.a"=>1, "foo.b"=>2}
51
- def self.hash_flatten(hash)
52
- result = {}
53
- hash.each do |key, value|
54
- if value.is_a? Hash
55
- hash_flatten(value).each { |k,v| result["#{key}.#{k}"] = v }
56
- else
57
- result[key] = value
58
- end
59
- end
60
- result
61
- end
62
-
63
- # ({"a"=>{"b"=>{"e"=>"f"}}}, ["a","b","c"], "d") ----> {"a"=>{"b"=>{"c"=>"d", "e"=>"f"}}}
64
- def self.hash_fatten(hash, keys, value)
65
- if keys.length == 1
66
- raise "duplicate key" if hash[keys.first]
67
- hash[keys.first] = value
68
- else
69
- head = keys.first
70
- rest = keys[1..-1]
71
- hash[head] = hash_fatten(hash[head] || {}, rest, value)
72
- end
73
- hash
74
- end
75
-
76
-
77
- =begin
78
- def self.cache
79
- @cache ||= {}
80
- end
81
-
82
- def self.t(key)
83
- if cache[key]
84
- cache[key].html_safe
85
- else
86
- copybar = CopycatTranslation.where("key = '#{key}'").limit(1).first
87
- copybar = CopycatTranslation.create!(:key => key, :value => "Missing copy for #{key}") unless copybar
88
- cache[key] = copybar.value
89
- copybar.value.html_safe
90
- end
91
- end
92
-
93
- def self.clear_cache(key=nil)
94
- if key
95
- cache[key] = nil
96
- else
97
- @cache = {}
98
- end
99
- end
100
- =end
101
-
102
- end
@@ -1,3 +1,3 @@
1
1
  module Copycat
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,2 +1,2 @@
1
- COPYCAT_USERNAME = "ec1c2b9"
2
- COPYCAT_PASSWORD = "acca43c"
1
+ COPYCAT_USERNAME = "cb0ae97"
2
+ COPYCAT_PASSWORD = "301f624"
Binary file
@@ -2,12 +2,13 @@
2
2
  class CreateCopycatTranslations < ActiveRecord::Migration
3
3
  def up
4
4
  create_table :copycat_translations do |t|
5
+ t.string :locale
5
6
  t.string :key
6
7
  t.text :value
7
8
  t.timestamps
8
9
  end
9
10
  change_table :copycat_translations do |t|
10
- t.index :key
11
+ t.index [:locale, :key], :unique => true
11
12
  end
12
13
  end
13
14
 
@@ -11,15 +11,16 @@
11
11
  #
12
12
  # It's strongly recommended to check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(:version => 20120316153248) do
14
+ ActiveRecord::Schema.define(:version => 20120320143433) do
15
15
 
16
16
  create_table "copycat_translations", :force => true do |t|
17
+ t.string "locale"
17
18
  t.string "key"
18
19
  t.text "value"
19
20
  t.datetime "created_at", :null => false
20
21
  t.datetime "updated_at", :null => false
21
22
  end
22
23
 
23
- add_index "copycat_translations", ["key"], :name => "index_copycat_translations_on_key"
24
+ add_index "copycat_translations", ["locale", "key"], :name => "index_copycat_translations_on_locale_and_key", :unique => true
24
25
 
25
26
  end
Binary file
@@ -672,3 +672,29 @@ Started GET "/copycat_translations" for 127.0.0.1 at 2012-03-16 11:40:16 -0400
672
672
  Processing by CopycatTranslationsController#index as HTML
673
673
  Filter chain halted as #<Proc:0x000001024955e0@/Users/sjm/.rvm/gems/ruby-1.9.3-p125@copycat/gems/actionpack-3.2.2/lib/action_controller/metal/http_authentication.rb:112> rendered or redirected
674
674
  Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
675
+  (0.1ms) select sqlite_version(*)
676
+  (1.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
677
+  (0.0ms) PRAGMA index_list("schema_migrations")
678
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
679
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
680
+ Migrating to CreateCopycatTranslations (20120320143433)
681
+  (0.0ms) begin transaction
682
+  (0.3ms) CREATE TABLE "copycat_translations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "locale" varchar(255), "key" varchar(255), "value" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
683
+  (0.0ms) PRAGMA index_list("copycat_translations")
684
+  (0.3ms) CREATE UNIQUE INDEX "index_copycat_translations_on_locale_and_key" ON "copycat_translations" ("locale", "key")
685
+  (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ('20120320143433')
686
+  (0.8ms) commit transaction
687
+  (0.2ms) select sqlite_version(*)
688
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
689
+  (0.0ms) PRAGMA index_list("copycat_translations")
690
+  (0.0ms) PRAGMA index_info('index_copycat_translations_on_locale_and_key')
691
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
692
+  (0.2ms) select sqlite_version(*)
693
+  (1.1ms) CREATE TABLE "copycat_translations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "locale" varchar(255), "key" varchar(255), "value" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
694
+  (0.0ms) PRAGMA index_list("copycat_translations")
695
+  (0.8ms) CREATE UNIQUE INDEX "index_copycat_translations_on_locale_and_key" ON "copycat_translations" ("locale", "key")
696
+  (0.8ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
697
+  (0.0ms) PRAGMA index_list("schema_migrations")
698
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
699
+  (0.1ms) SELECT version FROM "schema_migrations"
700
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20120320143433')
@@ -11029,3 +11029,628 @@ Completed 400 Bad Request in 2ms (Views: 1.3ms | ActiveRecord: 0.0ms)
11029
11029
  SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "updated_at", "value") VALUES (?, ?, ?, ?) [["created_at", Mon, 19 Mar 2012 15:16:36 UTC +00:00], ["key", "site.title"], ["updated_at", Mon, 19 Mar 2012 15:16:36 UTC +00:00], ["value", "My Blog"]]
11030
11030
   (0.0ms) RELEASE SAVEPOINT active_record_1
11031
11031
   (0.4ms) rollback transaction
11032
+  (0.1ms) begin transaction
11033
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11034
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11035
+  (0.1ms) rollback transaction
11036
+  (0.0ms) begin transaction
11037
+
11038
+
11039
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11040
+ Processing by SiteController#index as HTML
11041
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11042
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11043
+ Completed 500 Internal Server Error in 16ms
11044
+  (0.0ms) rollback transaction
11045
+  (0.0ms) begin transaction
11046
+ CopycatTranslation Load (0.5ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'site.index.header' LIMIT 1
11047
+
11048
+
11049
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11050
+ Processing by SiteController#index as HTML
11051
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11052
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11053
+ Completed 500 Internal Server Error in 1ms
11054
+  (0.0ms) rollback transaction
11055
+  (0.0ms) begin transaction
11056
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11057
+
11058
+
11059
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11060
+ Processing by SiteController#index as HTML
11061
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11062
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11063
+ Completed 500 Internal Server Error in 1ms
11064
+  (0.0ms) rollback transaction
11065
+  (0.0ms) begin transaction
11066
+  (0.0ms) rollback transaction
11067
+  (0.0ms) begin transaction
11068
+  (0.0ms) rollback transaction
11069
+  (0.0ms) begin transaction
11070
+  (0.0ms) rollback transaction
11071
+  (0.0ms) begin transaction
11072
+
11073
+
11074
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11075
+ Processing by CopycatTranslationsController#upload as HTML
11076
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (1.2ms)
11077
+ Completed 200 OK in 9ms (Views: 9.0ms | ActiveRecord: 0.0ms)
11078
+
11079
+
11080
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11081
+ Processing by CopycatTranslationsController#import_yaml as HTML
11082
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x0000010118ac20 @original_filename="copycat20120320-63216-126c7ux", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63216-126c7ux\"\r\nContent-Type: \r\nContent-Length: 7\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63216-cg0gta>>, "commit"=>"Upload"}
11083
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11084
+ Completed 400 Bad Request in 3ms (Views: 1.9ms | ActiveRecord: 0.0ms)
11085
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations"
11086
+  (0.0ms) rollback transaction
11087
+  (0.0ms) begin transaction
11088
+  (0.0ms) rollback transaction
11089
+  (0.0ms) begin transaction
11090
+
11091
+
11092
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11093
+ Processing by CopycatTranslationsController#upload as HTML
11094
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.5ms)
11095
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)
11096
+
11097
+
11098
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:33:38 -0400
11099
+ Processing by CopycatTranslationsController#import_yaml as HTML
11100
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x00000100a34b38 @original_filename="copycat20120320-63216-kka28g", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63216-kka28g\"\r\nContent-Type: \r\nContent-Length: 62\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63216-185bmdz>>, "commit"=>"Upload"}
11101
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' AND "copycat_translations"."locale" = 'en' LIMIT 1
11102
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' AND "copycat_translations"."locale" = 'en' LIMIT 1
11103
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11104
+ Completed 400 Bad Request in 3ms (Views: 2.2ms | ActiveRecord: 0.2ms)
11105
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations"
11106
+  (0.0ms) rollback transaction
11107
+  (0.0ms) begin transaction
11108
+  (0.0ms) rollback transaction
11109
+  (0.0ms) begin transaction
11110
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" IS NULL AND "copycat_translations"."key" = '' LIMIT 1
11111
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" IS NULL AND "copycat_translations"."key" = '' LIMIT 1
11112
+  (0.0ms) rollback transaction
11113
+  (0.0ms) begin transaction
11114
+  (0.0ms) rollback transaction
11115
+  (0.0ms) begin transaction
11116
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'foo'
11117
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT COUNT(*) FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'foo'
11118
+  (0.0ms) rollback transaction
11119
+  (0.0ms) begin transaction
11120
+  (0.0ms) rollback transaction
11121
+  (0.0ms) begin transaction
11122
+  (0.0ms) rollback transaction
11123
+  (0.0ms) begin transaction
11124
+  (0.0ms) rollback transaction
11125
+  (0.0ms) begin transaction
11126
+  (0.0ms) rollback transaction
11127
+  (0.0ms) begin transaction
11128
+  (0.0ms) rollback transaction
11129
+  (0.0ms) begin transaction
11130
+  (0.0ms) rollback transaction
11131
+  (0.0ms) begin transaction
11132
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.title' LIMIT 1
11133
+ SQLite3::SQLException: no such column: copycat_translations.locale: SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.title' LIMIT 1
11134
+  (0.0ms) rollback transaction
11135
+  (0.1ms) begin transaction
11136
+  (0.0ms) rollback transaction
11137
+  (0.0ms) begin transaction
11138
+
11139
+
11140
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:34:48 -0400
11141
+ Processing by SiteController#index as HTML
11142
+ Completed 200 OK in 11ms (Views: 10.7ms | ActiveRecord: 0.1ms)
11143
+  (0.1ms) rollback transaction
11144
+  (0.0ms) begin transaction
11145
+  (0.0ms) rollback transaction
11146
+  (0.0ms) begin transaction
11147
+  (0.0ms) rollback transaction
11148
+  (0.0ms) begin transaction
11149
+  (0.0ms) rollback transaction
11150
+  (0.0ms) begin transaction
11151
+  (0.0ms) rollback transaction
11152
+  (0.0ms) begin transaction
11153
+  (0.0ms) rollback transaction
11154
+  (0.0ms) begin transaction
11155
+
11156
+
11157
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:34:48 -0400
11158
+ Processing by CopycatTranslationsController#upload as HTML
11159
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (1.1ms)
11160
+ Completed 200 OK in 8ms (Views: 7.4ms | ActiveRecord: 0.0ms)
11161
+
11162
+
11163
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:34:48 -0400
11164
+ Processing by CopycatTranslationsController#import_yaml as HTML
11165
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x00000101f4adb0 @original_filename="copycat20120320-63279-a4l3gb", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63279-a4l3gb\"\r\nContent-Type: \r\nContent-Length: 7\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63279-11h1apm>>, "commit"=>"Upload"}
11166
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11167
+ Completed 400 Bad Request in 3ms (Views: 1.9ms | ActiveRecord: 0.0ms)
11168
+  (0.0ms) rollback transaction
11169
+  (0.0ms) begin transaction
11170
+  (0.0ms) rollback transaction
11171
+  (0.0ms) begin transaction
11172
+
11173
+
11174
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:34:48 -0400
11175
+ Processing by CopycatTranslationsController#upload as HTML
11176
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11177
+ Completed 200 OK in 2ms (Views: 2.2ms | ActiveRecord: 0.0ms)
11178
+
11179
+
11180
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:34:48 -0400
11181
+ Processing by CopycatTranslationsController#import_yaml as HTML
11182
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x00000103d5bcf0 @original_filename="copycat20120320-63279-168hvpy", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63279-168hvpy\"\r\nContent-Type: \r\nContent-Length: 62\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63279-17bq87o>>, "commit"=>"Upload"}
11183
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11184
+ Completed 400 Bad Request in 3ms (Views: 1.8ms | ActiveRecord: 0.1ms)
11185
+  (0.0ms) rollback transaction
11186
+  (0.0ms) begin transaction
11187
+  (0.0ms) rollback transaction
11188
+  (0.0ms) begin transaction
11189
+  (0.0ms) rollback transaction
11190
+  (0.0ms) begin transaction
11191
+  (0.0ms) rollback transaction
11192
+  (0.0ms) begin transaction
11193
+  (0.0ms) rollback transaction
11194
+  (0.0ms) begin transaction
11195
+  (0.0ms) rollback transaction
11196
+  (0.0ms) begin transaction
11197
+  (0.0ms) rollback transaction
11198
+  (0.0ms) begin transaction
11199
+  (0.0ms) rollback transaction
11200
+  (0.0ms) begin transaction
11201
+  (0.0ms) rollback transaction
11202
+  (0.0ms) begin transaction
11203
+  (0.0ms) rollback transaction
11204
+  (0.0ms) begin transaction
11205
+  (0.0ms) rollback transaction
11206
+  (0.0ms) begin transaction
11207
+  (0.0ms) rollback transaction
11208
+  (0.1ms) begin transaction
11209
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11210
+  (0.0ms) SAVEPOINT active_record_1
11211
+ SQL (5.3ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "The Header"]]
11212
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11213
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11214
+  (0.0ms) SAVEPOINT active_record_1
11215
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11216
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11217
+  (0.4ms) rollback transaction
11218
+  (0.1ms) begin transaction
11219
+
11220
+
11221
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11222
+ Processing by SiteController#index as HTML
11223
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11224
+  (0.0ms) SAVEPOINT active_record_1
11225
+ SQL (0.5ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "The Header"]]
11226
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11227
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11228
+  (0.0ms) SAVEPOINT active_record_1
11229
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11230
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11231
+ Completed 200 OK in 15ms (Views: 13.8ms | ActiveRecord: 1.0ms)
11232
+  (1.4ms) rollback transaction
11233
+  (0.1ms) begin transaction
11234
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'site.index.header' LIMIT 1
11235
+
11236
+
11237
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11238
+ Processing by SiteController#index as HTML
11239
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11240
+  (0.0ms) SAVEPOINT active_record_1
11241
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "The Header"]]
11242
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11243
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11244
+  (0.0ms) SAVEPOINT active_record_1
11245
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11246
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11247
+ Completed 200 OK in 4ms (Views: 3.2ms | ActiveRecord: 0.9ms)
11248
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'site.index.header' LIMIT 1
11249
+  (0.3ms) rollback transaction
11250
+  (0.0ms) begin transaction
11251
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11252
+
11253
+
11254
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11255
+ Processing by SiteController#index as HTML
11256
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11257
+  (0.0ms) SAVEPOINT active_record_1
11258
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "The Header"]]
11259
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11260
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11261
+  (0.0ms) SAVEPOINT active_record_1
11262
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11263
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11264
+ Completed 200 OK in 4ms (Views: 3.4ms | ActiveRecord: 0.9ms)
11265
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11266
+  (0.5ms) rollback transaction
11267
+  (0.0ms) begin transaction
11268
+  (0.0ms) SAVEPOINT active_record_1
11269
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "A different header"]]
11270
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11271
+
11272
+
11273
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11274
+ Processing by SiteController#index as HTML
11275
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11276
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11277
+  (0.0ms) SAVEPOINT active_record_1
11278
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11279
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11280
+ Completed 200 OK in 3ms (Views: 2.9ms | ActiveRecord: 0.5ms)
11281
+  (0.3ms) rollback transaction
11282
+  (0.0ms) begin transaction
11283
+  (0.0ms) SAVEPOINT active_record_1
11284
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.foo1"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar1"]]
11285
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11286
+  (0.0ms) SAVEPOINT active_record_1
11287
+ SQL (0.3ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.foo2:"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar2"]]
11288
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11289
+  (0.0ms) SAVEPOINT active_record_1
11290
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.b.foo3"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar3"]]
11291
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11292
+  (0.0ms) SAVEPOINT active_record_1
11293
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "c.foo4"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar4"]]
11294
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11295
+  (0.0ms) SAVEPOINT active_record_1
11296
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", 2], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar5"]]
11297
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11298
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations" 
11299
+
11300
+
11301
+ Started GET "/copycat_translations.yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11302
+ Processing by CopycatTranslationsController#index as YAML
11303
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11304
+ CACHE (0.0ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11305
+ Sent data copycat_translations_2012_03_20_10_35_08.yml (2.3ms)
11306
+ Completed 200 OK in 5ms (Views: 2.3ms | ActiveRecord: 0.1ms)
11307
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11308
+  (0.0ms) SAVEPOINT active_record_1
11309
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 1]]
11310
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11311
+  (0.0ms) SAVEPOINT active_record_1
11312
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 2]]
11313
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11314
+  (0.0ms) SAVEPOINT active_record_1
11315
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 3]]
11316
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11317
+  (0.0ms) SAVEPOINT active_record_1
11318
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 4]]
11319
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11320
+  (0.0ms) SAVEPOINT active_record_1
11321
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 5]]
11322
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11323
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations"
11324
+
11325
+
11326
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11327
+ Processing by CopycatTranslationsController#upload as HTML
11328
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (1.1ms)
11329
+ Completed 200 OK in 7ms (Views: 6.8ms | ActiveRecord: 0.0ms)
11330
+
11331
+
11332
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11333
+ Processing by CopycatTranslationsController#import_yaml as HTML
11334
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x00000100a099b0 @original_filename="copycat20120320-63321-1he0fuq", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63321-1he0fuq\"\r\nContent-Type: \r\nContent-Length: 104\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63321-ivcgqk>>, "commit"=>"Upload"}
11335
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.foo1' AND "copycat_translations"."locale" = 'en' LIMIT 1
11336
+  (0.0ms) SAVEPOINT active_record_1
11337
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.foo1"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar1"]]
11338
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11339
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.foo2:' AND "copycat_translations"."locale" = 'en' LIMIT 1
11340
+  (0.0ms) SAVEPOINT active_record_1
11341
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.foo2:"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar2"]]
11342
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11343
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.b.foo3' AND "copycat_translations"."locale" = 'en' LIMIT 1
11344
+  (0.0ms) SAVEPOINT active_record_1
11345
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.b.foo3"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar3"]]
11346
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11347
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'c.foo4' AND "copycat_translations"."locale" = 'en' LIMIT 1
11348
+  (0.0ms) SAVEPOINT active_record_1
11349
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "c.foo4"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar4"]]
11350
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11351
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = '2' AND "copycat_translations"."locale" = 'en' LIMIT 1
11352
+  (0.0ms) SAVEPOINT active_record_1
11353
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "2"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar5"]]
11354
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11355
+ Redirected to http://www.example.com/copycat_translations
11356
+ Completed 302 Found in 8ms (ActiveRecord: 1.6ms)
11357
+
11358
+
11359
+ Started GET "/copycat_translations" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11360
+ Processing by CopycatTranslationsController#index as HTML
11361
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11362
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.5ms)
11363
+ Completed 200 OK in 26ms (Views: 25.6ms | ActiveRecord: 0.1ms)
11364
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations"
11365
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.foo1' LIMIT 1
11366
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.foo2:' LIMIT 1
11367
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.b.foo3' LIMIT 1
11368
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'c.foo4' LIMIT 1
11369
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 2 LIMIT 1
11370
+  (0.4ms) rollback transaction
11371
+  (0.0ms) begin transaction
11372
+  (0.0ms) SAVEPOINT active_record_1
11373
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.foo"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "“hello world“ üokåa®fgsdf;::fs;kdf"]]
11374
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11375
+
11376
+
11377
+ Started GET "/copycat_translations.yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11378
+ Processing by CopycatTranslationsController#index as YAML
11379
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11380
+ CACHE (0.0ms) SELECT "copycat_translations".* FROM "copycat_translations"
11381
+ Sent data copycat_translations_2012_03_20_10_35_08.yml (0.3ms)
11382
+ Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
11383
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11384
+  (0.0ms) SAVEPOINT active_record_1
11385
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 1]]
11386
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11387
+
11388
+
11389
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11390
+ Processing by CopycatTranslationsController#upload as HTML
11391
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11392
+ Completed 200 OK in 2ms (Views: 1.9ms | ActiveRecord: 0.0ms)
11393
+
11394
+
11395
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11396
+ Processing by CopycatTranslationsController#import_yaml as HTML
11397
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x00000104b986d8 @original_filename="copycat20120320-63321-1t9ca72", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63321-1t9ca72\"\r\nContent-Type: \r\nContent-Length: 64\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63321-14jy317>>, "commit"=>"Upload"}
11398
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.foo' AND "copycat_translations"."locale" = 'en' LIMIT 1
11399
+  (0.0ms) SAVEPOINT active_record_1
11400
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.foo"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "“hello world“ üokåa®fgsdf;::fs;kdf"]]
11401
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11402
+ Redirected to http://www.example.com/copycat_translations
11403
+ Completed 302 Found in 3ms (ActiveRecord: 0.4ms)
11404
+
11405
+
11406
+ Started GET "/copycat_translations" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11407
+ Processing by CopycatTranslationsController#index as HTML
11408
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11409
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.5ms)
11410
+ Completed 200 OK in 2ms (Views: 1.6ms | ActiveRecord: 0.1ms)
11411
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'a.foo' LIMIT 1
11412
+  (0.4ms) rollback transaction
11413
+  (0.0ms) begin transaction
11414
+
11415
+
11416
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11417
+ Processing by CopycatTranslationsController#upload as HTML
11418
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.5ms)
11419
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)
11420
+
11421
+
11422
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11423
+ Processing by CopycatTranslationsController#import_yaml as HTML
11424
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x000001045972c0 @original_filename="copycat20120320-63321-t1zgwc", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63321-t1zgwc\"\r\nContent-Type: \r\nContent-Length: 7\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63321-1w200zy>>, "commit"=>"Upload"}
11425
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.6ms)
11426
+ Completed 400 Bad Request in 2ms (Views: 1.7ms | ActiveRecord: 0.0ms)
11427
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations" 
11428
+  (0.0ms) rollback transaction
11429
+  (0.0ms) begin transaction
11430
+  (0.0ms) SAVEPOINT active_record_1
11431
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "world"]]
11432
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11433
+  (0.0ms) SAVEPOINT active_record_1
11434
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", "es"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "mundo"]]
11435
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11436
+
11437
+
11438
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11439
+ Processing by SiteController#index as HTML
11440
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11441
+  (0.0ms) SAVEPOINT active_record_1
11442
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "The Header"]]
11443
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11444
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11445
+ Completed 200 OK in 4ms (Views: 2.9ms | ActiveRecord: 0.5ms)
11446
+
11447
+
11448
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11449
+ Processing by SiteController#index as HTML
11450
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'es' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11451
+  (0.0ms) SAVEPOINT active_record_1
11452
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :es], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11453
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11454
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'es' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11455
+ Completed 200 OK in 5ms (Views: 4.5ms | ActiveRecord: 0.5ms)
11456
+
11457
+
11458
+ Started GET "/" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11459
+ Processing by SiteController#index as HTML
11460
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'fa' AND "copycat_translations"."key" = 'site.index.header' LIMIT 1
11461
+  (0.0ms) SAVEPOINT active_record_1
11462
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.header"], ["locale", :fa], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11463
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11464
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'fa' AND "copycat_translations"."key" = 'site.index.intro' LIMIT 1
11465
+  (0.0ms) SAVEPOINT active_record_1
11466
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.index.intro"], ["locale", :fa], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11467
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11468
+ Completed 200 OK in 6ms (Views: 4.9ms | ActiveRecord: 0.7ms)
11469
+  (0.3ms) rollback transaction
11470
+  (0.0ms) begin transaction
11471
+
11472
+
11473
+ Started GET "/copycat_translations/upload" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11474
+ Processing by CopycatTranslationsController#upload as HTML
11475
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.5ms)
11476
+ Completed 200 OK in 2ms (Views: 1.9ms | ActiveRecord: 0.0ms)
11477
+
11478
+
11479
+ Started POST "/copycat_translations/import_yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11480
+ Processing by CopycatTranslationsController#import_yaml as HTML
11481
+ Parameters: {"utf8"=>"✓", "file"=>#<ActionDispatch::Http::UploadedFile:0x00000100a22bb8 @original_filename="copycat20120320-63321-dejf8q", @content_type="", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"copycat20120320-63321-dejf8q\"\r\nContent-Type: \r\nContent-Length: 62\r\n", @tempfile=#<File:/var/folders/rn/rnXUYLOZH-mYuzcjL2v8Fk+++TI/-Tmp-/RackMultipart20120320-63321-1gtuig1>>, "commit"=>"Upload"}
11482
+ CopycatTranslation Load (0.2ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' AND "copycat_translations"."locale" = 'en' LIMIT 1
11483
+  (0.0ms) SAVEPOINT active_record_1
11484
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "hello"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "world"]]
11485
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11486
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' AND "copycat_translations"."locale" = 'es' LIMIT 1
11487
+  (0.0ms) SAVEPOINT active_record_1
11488
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "hello"], ["locale", "es"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "mundo"]]
11489
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11490
+ Redirected to http://www.example.com/copycat_translations
11491
+ Completed 302 Found in 4ms (ActiveRecord: 1.0ms)
11492
+
11493
+
11494
+ Started GET "/copycat_translations" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11495
+ Processing by CopycatTranslationsController#index as HTML
11496
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11497
+ Rendered /vermonster/copycat/app/views/copycat_translations/_copycat_header.html.erb (0.5ms)
11498
+ Completed 200 OK in 2ms (Views: 1.9ms | ActiveRecord: 0.1ms)
11499
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations" 
11500
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' LIMIT 1
11501
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'es' LIMIT 1
11502
+  (0.3ms) rollback transaction
11503
+  (0.0ms) begin transaction
11504
+  (0.0ms) SAVEPOINT active_record_1
11505
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "hello"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "world"]]
11506
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11507
+  (0.0ms) SAVEPOINT active_record_1
11508
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "hello"], ["locale", "es"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "mundo"]]
11509
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11510
+
11511
+
11512
+ Started GET "/copycat_translations.yaml" for 127.0.0.1 at 2012-03-20 10:35:08 -0400
11513
+ Processing by CopycatTranslationsController#index as YAML
11514
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11515
+ CACHE (0.0ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11516
+ Sent data copycat_translations_2012_03_20_10_35_08.yml (0.3ms)
11517
+ Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
11518
+  (0.3ms) rollback transaction
11519
+  (0.0ms) begin transaction
11520
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" IS NULL AND "copycat_translations"."key" = '' LIMIT 1
11521
+  (0.0ms) SAVEPOINT active_record_1
11522
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'copycat_translation' LIMIT 1
11523
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :copycat_translation], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11524
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.attributes.copycat_translation.key' LIMIT 1
11525
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"activerecord.attributes.copycat_translation.key"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11526
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'attributes.key' LIMIT 1
11527
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"attributes.key"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11528
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.errors.models.copycat_translation.attributes.key.blank' LIMIT 1
11529
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"activerecord.errors.models.copycat_translation.attributes.key.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11530
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.errors.models.copycat_translation.blank' LIMIT 1
11531
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"activerecord.errors.models.copycat_translation.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11532
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.errors.messages.blank' LIMIT 1
11533
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"activerecord.errors.messages.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11534
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'errors.attributes.key.blank' LIMIT 1
11535
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"errors.attributes.key.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11536
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'errors.messages.blank' LIMIT 1
11537
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"errors.messages.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "can't be blank"]]
11538
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'copycat_translation' LIMIT 1
11539
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.attributes.copycat_translation.locale' LIMIT 1
11540
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"activerecord.attributes.copycat_translation.locale"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11541
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'attributes.locale' LIMIT 1
11542
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"attributes.locale"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11543
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.errors.models.copycat_translation.attributes.locale.blank' LIMIT 1
11544
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"activerecord.errors.models.copycat_translation.attributes.locale.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11545
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.errors.models.copycat_translation.blank' LIMIT 1
11546
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'activerecord.errors.messages.blank' LIMIT 1
11547
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'errors.attributes.locale.blank' LIMIT 1
11548
+ SQL (0.1ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", :"errors.attributes.locale.blank"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11549
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'errors.messages.blank' LIMIT 1
11550
+  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1
11551
+  (0.4ms) rollback transaction
11552
+  (0.0ms) begin transaction
11553
+  (0.0ms) SAVEPOINT active_record_1
11554
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "string000000001"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "string000000002"]]
11555
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11556
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'string000000001' LIMIT 1
11557
+  (0.3ms) rollback transaction
11558
+  (0.0ms) begin transaction
11559
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'foo'
11560
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'foo' LIMIT 1
11561
+  (0.0ms) SAVEPOINT active_record_1
11562
+ SQL (0.3ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "foo"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "translation missing"]]
11563
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11564
+  (0.1ms) SELECT COUNT(*) FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'foo'
11565
+  (0.3ms) rollback transaction
11566
+  (0.0ms) begin transaction
11567
+  (0.0ms) SAVEPOINT active_record_1
11568
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "sample_copy"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "copyfoo"]]
11569
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11570
+  (0.0ms) SAVEPOINT active_record_1
11571
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "sample_copy2"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "copybaz"]]
11572
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11573
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'sample_copy' LIMIT 1
11574
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'sample_copy2' LIMIT 1
11575
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' LIMIT 1
11576
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' AND "copycat_translations"."locale" = 'en' LIMIT 1
11577
+  (0.0ms) SAVEPOINT active_record_1
11578
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "hello"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "Hello world"]]
11579
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11580
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'sample_copy' AND "copycat_translations"."locale" = 'en' LIMIT 1
11581
+  (0.0ms) SAVEPOINT active_record_1
11582
+  (0.1ms) UPDATE "copycat_translations" SET "value" = 'lorem ipsum', "updated_at" = '2012-03-20 14:35:08.528509' WHERE "copycat_translations"."id" = 1
11583
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11584
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'sample_copy' LIMIT 1
11585
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'sample_copy2' LIMIT 1
11586
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'hello' LIMIT 1
11587
+  (0.3ms) rollback transaction
11588
+  (0.0ms) begin transaction
11589
+  (0.0ms) SAVEPOINT active_record_1
11590
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "sample_copy"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "copyfoo"]]
11591
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11592
+  (0.0ms) SAVEPOINT active_record_1
11593
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "sample_copy2"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "copybaz"]]
11594
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11595
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11596
+  (0.1ms) SAVEPOINT active_record_1
11597
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.sample_copy3"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "copyfoo"]]
11598
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11599
+  (0.0ms) SAVEPOINT active_record_1
11600
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "a.sample_copy4"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "copybaz"]]
11601
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11602
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11603
+  (0.4ms) rollback transaction
11604
+  (0.0ms) begin transaction
11605
+  (0.0ms) SAVEPOINT active_record_1
11606
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "moby_dick"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "<p>Lorem ipsum</p><p class=\"highlight\">∆'≈:</p>"]]
11607
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11608
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11609
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11610
+  (0.0ms) SAVEPOINT active_record_1
11611
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 1]]
11612
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11613
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'moby_dick' AND "copycat_translations"."locale" = 'en' LIMIT 1
11614
+  (0.0ms) SAVEPOINT active_record_1
11615
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "moby_dick"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "<p>Lorem ipsum</p><p class=\"highlight\">∆'≈:</p>"]]
11616
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11617
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."key" = 'moby_dick' LIMIT 1
11618
+  (0.3ms) rollback transaction
11619
+  (0.1ms) begin transaction
11620
+  (0.0ms) SAVEPOINT active_record_1
11621
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "foo"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar"]]
11622
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11623
+  (0.0ms) SAVEPOINT active_record_1
11624
+ SQL (0.3ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "foo"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar2"]]
11625
+ SQLite3::ConstraintException: constraint failed: INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?)
11626
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
11627
+  (0.0ms) SAVEPOINT active_record_1
11628
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "foo"], ["locale", "fa"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "bar"]]
11629
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11630
+  (0.3ms) rollback transaction
11631
+  (0.0ms) begin transaction
11632
+  (0.0ms) rollback transaction
11633
+  (0.0ms) begin transaction
11634
+  (0.0ms) rollback transaction
11635
+  (0.0ms) begin transaction
11636
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.title' LIMIT 1
11637
+  (0.0ms) SAVEPOINT active_record_1
11638
+ SQL (0.4ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.title"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", nil]]
11639
+  (0.1ms) RELEASE SAVEPOINT active_record_1
11640
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11641
+  (0.0ms) SAVEPOINT active_record_1
11642
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 1]]
11643
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11644
+  (0.0ms) SAVEPOINT active_record_1
11645
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.title"], ["locale", "en"], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "My Blog"]]
11646
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11647
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations"
11648
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" 
11649
+  (0.0ms) SAVEPOINT active_record_1
11650
+ SQL (0.1ms) DELETE FROM "copycat_translations" WHERE "copycat_translations"."id" = ? [["id", 2]]
11651
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11652
+ CopycatTranslation Load (0.1ms) SELECT "copycat_translations".* FROM "copycat_translations" WHERE "copycat_translations"."locale" = 'en' AND "copycat_translations"."key" = 'site.title' LIMIT 1
11653
+  (0.0ms) SAVEPOINT active_record_1
11654
+ SQL (0.2ms) INSERT INTO "copycat_translations" ("created_at", "key", "locale", "updated_at", "value") VALUES (?, ?, ?, ?, ?) [["created_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["key", "site.title"], ["locale", :en], ["updated_at", Tue, 20 Mar 2012 14:35:08 UTC +00:00], ["value", "My Blog"]]
11655
+  (0.0ms) RELEASE SAVEPOINT active_record_1
11656
+  (0.3ms) rollback transaction