awesome_translations 0.0.60 → 0.0.61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/awesome_translations/translated_value.rb +2 -2
  3. data/lib/awesome_translations/controller_translate_functionality.rb +2 -2
  4. data/lib/awesome_translations/erb_inspector/translation_inspector.rb +1 -1
  5. data/lib/awesome_translations/global_translator.rb +1 -1
  6. data/lib/awesome_translations/model_inspector.rb +4 -4
  7. data/lib/awesome_translations/object_extensions.rb +2 -2
  8. data/lib/awesome_translations/translation_migrator.rb +2 -2
  9. data/lib/awesome_translations/version.rb +1 -1
  10. data/lib/tasks/awesome_translations_tasks.rake +0 -3
  11. data/spec/controllers/handlers_controller_spec.rb +3 -3
  12. data/spec/controllers/users_controller_spec.rb +4 -2
  13. data/spec/dummy/app/controllers/application_controller.rb +3 -7
  14. data/spec/dummy/app/models/role.rb +1 -4
  15. data/spec/dummy/db/awesome_translations.sqlite3 +0 -0
  16. data/spec/dummy/db/development.sqlite3 +0 -0
  17. data/spec/dummy/db/test.sqlite3 +0 -0
  18. data/spec/dummy/log/development.log +52 -0
  19. data/spec/dummy/log/test.log +770 -0
  20. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2m/2mnPY9uUnBNkGHLxtFaWv5hB3oA7sY2K1ZtwQlZLnAY.cache +2 -0
  21. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache +2 -0
  22. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5r/5rpKlqLSFsRCibev7g6MQkIOhWuOah-1KAN3aqV_fYI.cache +0 -0
  23. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6E/6ExTs_VkmUe-fovt99Kw8rq-xCfx0_qGsSoldSWScZI.cache +1 -0
  24. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8O/8OrG8phjC9s5-_7GAI2TEmRjsrGsuvq1gnJQPdMm8v8.cache +0 -0
  25. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8f/8f4REKYOWkNfHexyAVqGXnbOP3vky_ANapWzlRMDeQ4.cache +3 -0
  26. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8n/8n_viDw_qMQaQmqHM0ObPADed5uRyEYo3gDZIiTqUyA.cache +1 -0
  27. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9e/9euY4B26kaHeiqfd1Qc0bsfRjpzmq36X6uqUfaRNtIs.cache +1 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/AB/AB5PxrhEqi8qOm7AmSf-sHDs9ffj_iTsytaHas2ryPA.cache +1 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/AI/AICJO1oM9dzlQ_N1QlHcCN9e8PC0wjtYk7-VmuNdfwg.cache +0 -0
  30. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ca/CaGQBiCuFgkHQ5gw8ZnGQqO8iP1md3GcllDsmaKBFdQ.cache +2 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ch/ChWez9UVXMuuBpLJMDRGuDmMuXy8gIuFo6794-wBgXc.cache +1 -0
  32. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/D9/D9eOwgl8pLlC7LJu-LL59UeHm9d-CH1mPgsA8j6xkMg.cache +1 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache +2 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hn/Hn53895nYKzu-g1FJKYS_yszYqCADXasTmN615R_qMQ.cache +1 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/It/ItV7jxV0bfHndR-H3cidDwpTFGhvs0ETLRqCTmZMXB8.cache +1 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/LL/LL0EenAcTXP-UNCqfcKtMF4Z8oDeWvdlwLQfuOVRPdw.cache +0 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache +3 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/NU/NUN9oO9gyoo-sY32AOLHdDACjLIxisCxXdKd84ou6cs.cache +2 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ob/ObuKkBd-camcT52YpgeuyheU-GDFLZCJnoVtq2plgW0.cache +0 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Og/Og_HPfE6734sqkQ0_h4EkOOx3Aoq1LABLH9ovjl6Bvw.cache +0 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Pw/Pwuhz_6So_JcSrxT0Uf4VaLhh_FFSJMKxLZFMbS0LNQ.cache +0 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/R-/R-nohuDiORrLlJJtKc5bQsjIRS8yTQFVR3EIxJx3JZw.cache +1 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SX/SXA6qKBlsAQ-MLPi7-KPCPcSx9Gg2VR1xa-lCmgipgA.cache +1 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sb/Sb1Vug319YfPL2Rci1PLMLXJjeIFYcNbHb5hKOvO1eo.cache +2 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_f/_f0DjbdXTMEPb52THCCF5qbKkDs28tHHnap5ag4jsdU.cache +0 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dT/dTb1O_9BwFdhA3VT1UTxY-XIIoAGDHGHVO9bzRUNIfc.cache +0 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dV/dVTKOfd8qDIHT3VD-4emnl0yAIxcSF1pY0CUESPHwdM.cache +0 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/i0/i0TQIUsntlYrsibtn9YfB3qbI6bj8hLPom8KUfxR078.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jF/jFFXBsyFdv_TiNykX219AHs3Q7dQInYRP_80cAWZsgE.cache +0 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mX/mXfx3VRudxpXrRx1aejtNA5YHOwND3kwWUfvdXHSors.cache +2 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nG/nGQXdOLWsP4c926DJJBNXFUE0cKfZynnqN5aQ4T1I48.cache +1 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oX/oXeqOS7RZb4eFbKrraeQtr6TUrXPTueLN_Crp7S0RLE.cache +1 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/p2/p27Ube4R6tciXRc0F8lpz6wUzmXIPxwqz7dKaUYVVuc.cache +1 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache +2 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/q6/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +2 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/r5/r5draRYO72lGMZZKpqYbscAWxAawJVG7uO0uyx3iw24.cache +1 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/r7/r7kGQJTsdrqs3i-prYAVnngsoc6uAtrjLTULTJdgy9g.cache +1 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/rI/rITk_65QtUwq61bjRPAksGeJxbLUFfz-sFPnQiZPHjw.cache +3 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/rR/rRS9OkVGJ9Wvs1fwZH-raqD4sXkbV8WmlLGIibYpZmI.cache +0 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/u9/u9nsXMBU9hA4UnH4SDHgk19ev_JNeeiS1-EZDrgStCI.cache +1 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/un/unZXcRqhGJwHvVWJmJ1rTizBZq6H5jF28E5-FHyTYL4.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wP/wP-1NwhQC0Sp_5PHpwAI7N0_N99vLNy0TA2FcMd6zgE.cache +0 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +2 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xr/xrDdkyCzfXr-pIE8gfvD8iFiWPuq9EwuZIl-uU9s0_o.cache +1 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yc/yc3EXb1cvVLmwnk8aQN89bgVFeuwsVz2k2p0mvC2c3c.cache +1 -0
  66. data/spec/features/clean_ups_spec.rb +1 -4
  67. data/spec/features/duplicates_spec.rb +1 -3
  68. data/spec/features/movals_spec.rb +1 -3
  69. data/spec/lib/cache_database_generator_spec.rb +1 -1
  70. data/spec/lib/translation_migrator_spec.rb +1 -1
  71. data/spec/models/awesome_translations/translated_value_spec.rb +1 -3
  72. data/spec/spec_helper.rb +0 -3
  73. metadata +167 -64
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55dac9259ef0eb5ae536764f8bd14c5df32277491c8aa478ee9160bef11efe2c
4
- data.tar.gz: a74978683d4b38c71c3917d0c9e85ae7a11e28e177a0d941908fea9eabed0135
3
+ metadata.gz: 8982155c60a5db849fe01b8007859a18edf3efb1895417bfef73e4dd525a317e
4
+ data.tar.gz: 58e47453d01189a483d665074ab374e770dd8fd1d96878626bbae5de64bcb0a4
5
5
  SHA512:
6
- metadata.gz: 0b16c21783bffaf2205e929161bd289649a7f312bc16c670207a165f54e4287779a01873b19dab6dc925ae6d867fbf8c50a7a00b19cf22b7b134a054369a7090
7
- data.tar.gz: 2ded14bda849ec6ddaa405bc74469c821e45744c805ac5766f4ea5f66c05663212009e72605df0ce6b9f92959b20319e33f8c69a4c67cdbf33f37849623f57d1
6
+ metadata.gz: 87904a819f4834458e15cf6c0d470104e2dbb380d9a5cbef0b3d31eb560905b395c0ae0cc7e767f430819ce2766d661f9d2d347b7830397546ca1e89e47dba9f
7
+ data.tar.gz: 91964d3d6c9916fe493d596f554792e2fa29c6eed492546123fc9483cc0496d780d1d51d22adde6de5513c95da56e98c6f59f67e829f05fa388749a408f44579
@@ -37,7 +37,7 @@ class AwesomeTranslations::TranslatedValue
37
37
  def save!
38
38
  dir = File.dirname(@file)
39
39
  FileUtils.mkdir_p(dir) unless File.exist?(dir)
40
- File.open(@file, "w") { |fp| fp.write("#{@locale}:\n") } unless File.exist?(@file)
40
+ File.write(@file, "#{@locale}:\n") unless File.exist?(@file)
41
41
 
42
42
  translations = YAML.safe_load(File.read(@file))
43
43
  translations ||= {}
@@ -48,7 +48,7 @@ class AwesomeTranslations::TranslatedValue
48
48
  update_models
49
49
 
50
50
  I18n.load_path << file unless I18n.load_path.include?(file)
51
- File.open(file, "w") { |fp| fp.write(YAML.dump(translations)) }
51
+ File.write(file, YAML.dump(translations))
52
52
  end
53
53
 
54
54
  private
@@ -7,8 +7,8 @@ module AwesomeTranslations::ControllerTranslateFunctionality
7
7
  end
8
8
 
9
9
  module Methods
10
- def controller_t(key, args = {}, &blk)
11
- AwesomeTranslations::GlobalTranslator.translate(key, translation_args: [args], caller_number: 1, action_in_key: false, &blk)
10
+ def controller_t(key, *args, **opts, &blk)
11
+ AwesomeTranslations::GlobalTranslator.translate(key, action_in_key: false, caller_number: 1, translation_args: args, translation_opts: opts, &blk)
12
12
  end
13
13
  end
14
14
  end
@@ -92,7 +92,7 @@ private
92
92
  def generate_dir
93
93
  parts = %w[config locales awesome_translations]
94
94
 
95
- key_parts = @full_key.split(".").reject(&:blank?)
95
+ key_parts = @full_key.split(".").compact_blank
96
96
  key_parts.pop
97
97
 
98
98
  @dir = Rails.root.join(*(parts + key_parts)).to_s
@@ -37,7 +37,7 @@ class AwesomeTranslations::GlobalTranslator
37
37
  @key = translation_key
38
38
  end
39
39
 
40
- I18n.t(@key, *args[:translation_args], &blk)
40
+ I18n.t(@key, *args[:translation_args], **args[:translation_opts], &blk)
41
41
  end
42
42
 
43
43
  private
@@ -36,13 +36,13 @@ class AwesomeTranslations::ModelInspector
36
36
  end
37
37
 
38
38
  def paperclip_attachments(&blk)
39
- return unless ::Kernel.const_defined?("Paperclip")
39
+ return unless ::Kernel.const_defined?(:Paperclip)
40
40
 
41
41
  Paperclip::AttachmentRegistry.names_for(@clazz, &blk)
42
42
  end
43
43
 
44
44
  def money_attributes
45
- return if !::Kernel.const_defined?("Money") || !@clazz.respond_to?(:monetized_attributes)
45
+ return if !::Kernel.const_defined?(:Money) || !@clazz.respond_to?(:monetized_attributes)
46
46
 
47
47
  @clazz.monetized_attributes.each do |attribute|
48
48
  yield attribute[0].to_s
@@ -50,7 +50,7 @@ class AwesomeTranslations::ModelInspector
50
50
  end
51
51
 
52
52
  def globalize_attributes
53
- return if !::Kernel.const_defined?("Globalize") || !@clazz.respond_to?(:translated_attribute_names)
53
+ return if !::Kernel.const_defined?(:Globalize) || !@clazz.respond_to?(:translated_attribute_names)
54
54
 
55
55
  @clazz.translated_attribute_names.each do |attribute|
56
56
  yield attribute.to_s
@@ -96,7 +96,7 @@ class AwesomeTranslations::ModelInspector
96
96
  @scanned[clazz.name] = true
97
97
 
98
98
  clazz.subclasses.each do |subclass|
99
- blk.call ::AwesomeTranslations::ModelInspector.new(subclass)
99
+ yield ::AwesomeTranslations::ModelInspector.new(subclass)
100
100
  find_subclasses(subclass, &blk)
101
101
  end
102
102
  end
@@ -1,5 +1,5 @@
1
1
  module AwesomeTranslations::ObjectExtensions
2
- def t(key, *args, &blk)
3
- AwesomeTranslations::GlobalTranslator.translate(key, caller_number: 1, translation_args: args, &blk)
2
+ def t(key, *args, **opts, &blk)
3
+ AwesomeTranslations::GlobalTranslator.translate(key, caller_number: 1, translation_args: args, translation_opts: opts, &blk)
4
4
  end
5
5
  end
@@ -34,14 +34,14 @@ class AwesomeTranslations::TranslationMigrator
34
34
 
35
35
  if @new_path
36
36
  FileUtils.mkdir_p(File.dirname(@new_path))
37
- File.open(@new_path, "w") { |fp| fp.write(YAML.dump(new_translations_hash)) }
37
+ File.write(@new_path, YAML.dump(new_translations_hash))
38
38
  end
39
39
 
40
40
  if translations_hash.empty?
41
41
  I18n.load_path.delete(@old_path)
42
42
  File.unlink(@old_path)
43
43
  else
44
- File.open(@old_path, "w") { |fp| fp.write(YAML.dump(translations_hash)) }
44
+ File.write(@old_path, YAML.dump(translations_hash))
45
45
  end
46
46
 
47
47
  @translation_value.update!(file_path: @new_path) if @new_path
@@ -1,3 +1,3 @@
1
1
  module AwesomeTranslations
2
- VERSION = "0.0.60".freeze
2
+ VERSION = "0.0.61".freeze
3
3
  end
@@ -22,7 +22,4 @@ namespace :awesome_translations do
22
22
  end
23
23
  end
24
24
  end
25
-
26
- task "update" => :environment do
27
- end
28
25
  end
@@ -12,7 +12,7 @@ describe AwesomeTranslations::HandlersController do
12
12
  describe "#index" do
13
13
  it "renders the page" do
14
14
  get :index
15
- expect(response).to be_success
15
+ expect(response).to be_successful
16
16
  end
17
17
  end
18
18
 
@@ -20,7 +20,7 @@ describe AwesomeTranslations::HandlersController do
20
20
  it "renders the page" do
21
21
  AwesomeTranslations::CacheDatabaseGenerator.current.cache_translations
22
22
  get :show, params: {id: "model_handler"}
23
- expect(response).to be_success
23
+ expect(response).to be_successful
24
24
  end
25
25
 
26
26
  it "filters with missing translations" do
@@ -32,7 +32,7 @@ describe AwesomeTranslations::HandlersController do
32
32
 
33
33
  expect(all_groups.length).to be > groups.length
34
34
  expect(groups.length).to eq 5
35
- expect(response).to be_success
35
+ expect(response).to be_successful
36
36
  end
37
37
  end
38
38
 
@@ -5,8 +5,10 @@ describe UsersController do
5
5
 
6
6
  render_views
7
7
 
8
- before do
9
- I18n.locale = :en
8
+ around do |example|
9
+ I18n.with_locale(:en) do
10
+ example.call
11
+ end
10
12
  end
11
13
 
12
14
  it "#update" do
@@ -5,15 +5,11 @@ class ApplicationController < ActionController::Base
5
5
  # For APIs, you may want to use :null_session instead.
6
6
  protect_from_forgery with: :exception
7
7
 
8
- before_action :set_locale
8
+ around_action :with_locale
9
9
 
10
10
  private
11
11
 
12
- def set_locale
13
- if session[:locale]
14
- I18n.locale = session[:locale]
15
- else
16
- I18n.locale = :en
17
- end
12
+ def with_locale(&blk)
13
+ I18n.with_locale(session[:locale] || :en, &blk)
18
14
  end
19
15
  end
@@ -1,10 +1,7 @@
1
1
  class Role < ApplicationRecord
2
2
  translates :name
3
-
4
3
  belongs_to :user
5
-
6
- validates :user, :role, presence: true
7
-
4
+ validates :role, presence: true
8
5
  monetize :price_cents, allow_nil: true
9
6
 
10
7
  def self.roles
Binary file
Binary file
@@ -0,0 +1,52 @@
1
+  (1.0ms) SELECT sqlite_version(*)
2
+  (0.1ms) SELECT sqlite_version(*)
3
+  (0.1ms) DROP TABLE IF EXISTS "roles"
4
+  (5.0ms) CREATE TABLE "roles" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "role" varchar, "price_cents" integer)
5
+  (2.9ms) CREATE INDEX "index_roles_on_user_id" ON "roles" ("user_id")
6
+  (0.1ms) DROP TABLE IF EXISTS "users"
7
+  (2.8ms) CREATE TABLE "users" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar, "password" varchar, "age" integer)
8
+  (2.8ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)
9
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
10
+  (2.4ms) INSERT INTO "schema_migrations" (version) VALUES (20150607110245)
11
+  (1.9ms) INSERT INTO "schema_migrations" (version) VALUES
12
+ (20141018081559),
13
+ (20141018081640);
14
+
15
+ 
16
+  (2.4ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL)
17
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
18
+ TRANSACTION (0.0ms) begin transaction
19
+ ActiveRecord::InternalMetadata Create (0.1ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "development"], ["created_at", "2021-12-30 16:01:09.444330"], ["updated_at", "2021-12-30 16:01:09.444330"]]
20
+ TRANSACTION (1.9ms) commit transaction
21
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
22
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "schema_sha1"], ["LIMIT", 1]]
23
+ TRANSACTION (0.0ms) begin transaction
24
+ ActiveRecord::InternalMetadata Create (0.1ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "schema_sha1"], ["value", "2fb15a187a8db3fd34877067601f82a165001b33"], ["created_at", "2021-12-30 16:01:09.448757"], ["updated_at", "2021-12-30 16:01:09.448757"]]
25
+ TRANSACTION (1.8ms) commit transaction
26
+  (0.1ms) SELECT sqlite_version(*)
27
+  (0.1ms) DROP TABLE IF EXISTS "roles"
28
+  (2.5ms) CREATE TABLE "roles" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "role" varchar, "price_cents" integer)
29
+  (2.3ms) CREATE INDEX "index_roles_on_user_id" ON "roles" ("user_id")
30
+  (0.1ms) DROP TABLE IF EXISTS "users"
31
+  (2.6ms) CREATE TABLE "users" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar, "password" varchar, "age" integer)
32
+  (2.3ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)
33
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
34
+  (1.7ms) INSERT INTO "schema_migrations" (version) VALUES (20150607110245)
35
+  (1.7ms) INSERT INTO "schema_migrations" (version) VALUES
36
+ (20141018081559),
37
+ (20141018081640);
38
+
39
+ 
40
+  (2.4ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL)
41
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
42
+ TRANSACTION (0.0ms) begin transaction
43
+ ActiveRecord::InternalMetadata Create (0.1ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "development"], ["created_at", "2021-12-30 16:01:09.471093"], ["updated_at", "2021-12-30 16:01:09.471093"]]
44
+ TRANSACTION (1.7ms) commit transaction
45
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
46
+ TRANSACTION (0.0ms) begin transaction
47
+ ActiveRecord::InternalMetadata Update (0.2ms) UPDATE "ar_internal_metadata" SET "value" = ?, "updated_at" = ? WHERE "ar_internal_metadata"."key" = ? [["value", "test"], ["updated_at", "2021-12-30 16:01:09.474305"], ["key", "environment"]]
48
+ TRANSACTION (1.7ms) commit transaction
49
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "schema_sha1"], ["LIMIT", 1]]
50
+ TRANSACTION (0.0ms) begin transaction
51
+ ActiveRecord::InternalMetadata Create (0.2ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "schema_sha1"], ["value", "2fb15a187a8db3fd34877067601f82a165001b33"], ["created_at", "2021-12-30 16:01:09.477396"], ["updated_at", "2021-12-30 16:01:09.477396"]]
52
+ TRANSACTION (1.8ms) commit transaction