i18n-active_record 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6b1b7eba888729976d370e18c88c1710d818e8d4
4
- data.tar.gz: cc0b86a33d8742fc2cf6a2db0bf3891681bc7b1c
2
+ SHA256:
3
+ metadata.gz: 437efadf4380a5cd99eccb3c468bf25f0aa0343808e89e0dfad9ac676b31743f
4
+ data.tar.gz: 5080254a77103719b02c55127da824ad505e6d76d0ef7b57a8773a7b08db84ca
5
5
  SHA512:
6
- metadata.gz: 532cadaf5a7b6a349a4d84f5658be0c914521ec931e1c03089bd02d4e217279f080924568c8461c140ba3dd3d265eb5b3a017f817ec1723b91b6c6c4ca20aabd
7
- data.tar.gz: c74ac31d2b20876ba61042b46de889f49f678f9fa23cf5d4173db7fc0d8ec4a878f779f03e53c76f563a051f99b2774fbcd7d28f3a7d9fe644cbf37b3880c184
6
+ metadata.gz: 4f5823aa96600903b72bb9a6203a6f6b065482b8cc78bcf97df884758893d69a4d1b9e55fe973830027ebc9e19a72c431410bed38ec0e05c4854a59cca1d17f1
7
+ data.tar.gz: ea61b155163a0eecd7e2ea10317d761b9add3b3c0ad4ef7ce713a87cfa7abc250ae25d21753c66a12f4db2921c4749d77b20f2fa1e2003ad5e49906b3cd71e9f
@@ -13,8 +13,13 @@ For Bundler put the following in your Gemfile:
13
13
  gem 'i18n-active_record', :require => 'i18n/active_record'
14
14
  </pre>
15
15
 
16
- Next create a active record model named @Translation@ with the Rails Generator.
17
- Your migration should look like this:
16
+ After updating your bundle, run the installer
17
+
18
+ <pre>
19
+ rails g i18n:active_record:install
20
+ </pre>
21
+
22
+ It creates a migration:
18
23
 
19
24
  <pre>
20
25
  class CreateTranslations < ActiveRecord::Migration
@@ -36,19 +41,16 @@ Your migration should look like this:
36
41
  end
37
42
  </pre>
38
43
 
39
- With this translation model you will be able to manage your translation, and add new translations or languages through
40
- it.
41
-
42
- To load @I18n::Backend::ActiveRecord@ into your Rails application, create a new file in *config/initializers* named *locale.rb*.
43
-
44
- A simple configuration for your locale.rb could look like this:
44
+ To specify table name use:
45
45
 
46
46
  <pre>
47
- require 'i18n/backend/active_record'
48
- I18n.backend = I18n::Backend::ActiveRecord.new
47
+ rails g i18n:active_record:install MyTranslation
49
48
  </pre>
50
49
 
51
- A more advanced example (Thanks Moritz), which uses YAML files and ActiveRecord for lookups:
50
+ With the translation model you will be able to manage your translation, and add new translations or languages through
51
+ it.
52
+
53
+ By default the installer creates a new file in *config/initializers* named *i18n_active_record.rb* with the following content.
52
54
 
53
55
  <pre>
54
56
  require 'i18n/backend/active_record'
@@ -66,6 +68,19 @@ A more advanced example (Thanks Moritz), which uses YAML files and ActiveRecord
66
68
  end
67
69
  </pre>
68
70
 
71
+ To perform a simpler installation use:
72
+
73
+ <pre>
74
+ rails g i18n:active_record:install --simple
75
+ </pre>
76
+
77
+ It generates:
78
+
79
+ <pre>
80
+ require 'i18n/backend/active_record'
81
+ I18n.backend = I18n::Backend::ActiveRecord.new
82
+ </pre>
83
+
69
84
  You may also configure whether the ActiveRecord backend should use @destroy@ or @delete@ when cleaning up internally.
70
85
 
71
86
  <pre>
@@ -91,4 +106,4 @@ h2. Examples
91
106
  h2. Maintainers
92
107
 
93
108
  * Sven Fuchs
94
- * Tim Maslyuchenko
109
+ * Tim Masliuchenko
@@ -0,0 +1,27 @@
1
+ require 'rails/generators/active_record'
2
+
3
+ module I18n
4
+ module ActiveRecord
5
+ module Generators
6
+ class InstallGenerator < ::ActiveRecord::Generators::Base
7
+ desc "Installs i18n-active_record and generates the necessary migrations"
8
+
9
+ argument :name, type: :string, default: 'Translation'
10
+
11
+ class_option :simple, type: :boolean, default: false, desc: 'Perform the simple setup'
12
+
13
+ source_root File.expand_path('templates', __dir__)
14
+
15
+ def copy_initializer
16
+ tpl = "#{options[:simple] ? 'simple' : 'advanced'}_initializer.rb.erb"
17
+
18
+ template tpl, 'config/initializers/i18n_active_record.rb'
19
+ end
20
+
21
+ def create_migrations
22
+ migration_template 'migration.rb.erb', 'db/migrate/create_translations.rb'
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,17 @@
1
+ require 'i18n/backend/active_record'
2
+
3
+ Translation = I18n::Backend::ActiveRecord::Translation
4
+
5
+ if Translation.table_exists?
6
+ I18n.backend = I18n::Backend::ActiveRecord.new
7
+
8
+ I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Memoize)
9
+ I18n::Backend::Simple.send(:include, I18n::Backend::Memoize)
10
+ I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
11
+
12
+ I18n.backend = I18n::Backend::Chain.new(I18n::Backend::Simple.new, I18n.backend)
13
+ end
14
+
15
+ I18n::Backend::ActiveRecord.configure do |config|
16
+ # config.cleanup_with_destroy = true # defaults to false
17
+ end
@@ -0,0 +1,17 @@
1
+ class Create<%= name.classify %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version.to_s %>]
2
+ def self.up
3
+ create_table :<%= name.tableize %> do |t|
4
+ t.string :locale
5
+ t.string :key
6
+ t.text :value
7
+ t.text :interpolations
8
+ t.boolean :is_proc, :default => false
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+
14
+ def self.down
15
+ drop_table :<%= name.tableize %>
16
+ end
17
+ end
@@ -0,0 +1,6 @@
1
+ require 'i18n/backend/active_record'
2
+ I18n.backend = I18n::Backend::ActiveRecord.new
3
+
4
+ I18n::Backend::ActiveRecord.configure do |config|
5
+ # config.cleanup_with_destroy = true # defaults to false
6
+ end
@@ -1,5 +1,5 @@
1
1
  module I18n
2
2
  module ActiveRecord
3
- VERSION = '0.2.2'
3
+ VERSION = '0.3.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n-active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Fuchs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-20 00:00:00.000000000 Z
11
+ date: 2019-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -48,6 +48,10 @@ files:
48
48
  - MIT-LICENSE
49
49
  - README.textile
50
50
  - Rakefile
51
+ - lib/generators/i18n/active_record/install_generator.rb
52
+ - lib/generators/i18n/active_record/templates/advanced_initializer.rb.erb
53
+ - lib/generators/i18n/active_record/templates/migration.rb.erb
54
+ - lib/generators/i18n/active_record/templates/simple_initializer.rb.erb
51
55
  - lib/i18n/active_record.rb
52
56
  - lib/i18n/active_record/version.rb
53
57
  - lib/i18n/backend/active_record.rb
@@ -78,8 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
82
  - !ruby/object:Gem::Version
79
83
  version: '0'
80
84
  requirements: []
81
- rubyforge_project: "[none]"
82
- rubygems_version: 2.5.2
85
+ rubygems_version: 3.0.3
83
86
  signing_key:
84
87
  specification_version: 4
85
88
  summary: I18n ActiveRecord backend