same_table_translation 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/generators/same_table_translation/USAGE +8 -0
- data/lib/generators/same_table_translation/templates/translate_migration.rb.erb +19 -0
- data/lib/generators/same_table_translation/translate_generator.rb +37 -0
- data/lib/same_table_translation/version.rb +3 -3
- data/same_table_translation.gemspec +1 -1
- metadata +6 -5
- data/untitled.sublime-project +0 -8
- data/untitled.sublime-workspace +0 -2126
@@ -0,0 +1,19 @@
|
|
1
|
+
class <%= migration_class_name %> < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
I18n.available_locales.each do |locale|
|
4
|
+
<% attachment_names.each do |attribute| -%>
|
5
|
+
add_column :<%= table_name %>, [:<%= attribute %>, locale].join("_").to_sym, :string
|
6
|
+
<% end -%>
|
7
|
+
end
|
8
|
+
|
9
|
+
<% attachment_names.each do |attribute| -%>
|
10
|
+
<% klass = table_name.to_s.classify.constantize -%>
|
11
|
+
<% if klass.attribute_names.include? attribute.to_s -%>
|
12
|
+
<%= klass %>.all.each do |<%= klass.to_s.singularize.downcase %>|
|
13
|
+
<%= klass.to_s.singularize.downcase %>.update_attribute :<%= [attribute, I18n.default_locale].join("_") %>, <%= klass.to_s.singularize.downcase %>.<%= attribute %>
|
14
|
+
end
|
15
|
+
remove_column :<%= table_name %>, :<%= attribute %>
|
16
|
+
<% end -%>
|
17
|
+
<% end -%>
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require 'rails/generators/active_record'
|
3
|
+
|
4
|
+
module SameTableTranslation
|
5
|
+
|
6
|
+
class TranslateGenerator < Rails::Generators::NamedBase
|
7
|
+
include Rails::Generators::Migration
|
8
|
+
|
9
|
+
argument :attachment_names, required: true, type: :array, desc: "The names of the attributes to translate."
|
10
|
+
|
11
|
+
def self.source_root
|
12
|
+
@source_root ||= File.expand_path('../templates', __FILE__)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.next_migration_number(path)
|
16
|
+
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
17
|
+
end
|
18
|
+
|
19
|
+
def generate_migration
|
20
|
+
migration_template "translate_migration.rb.erb", "db/migrate/#{migration_file_name}"
|
21
|
+
end
|
22
|
+
|
23
|
+
protected
|
24
|
+
|
25
|
+
def migration_name
|
26
|
+
"translate_#{attachment_names.join("_")}_to_#{name.underscore.pluralize}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def migration_file_name
|
30
|
+
"#{migration_name}.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def migration_class_name
|
34
|
+
migration_name.camelize
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
module SameTableTranslation
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
1
|
+
module SameTableTranslation
|
2
|
+
VERSION = "0.0.5"
|
3
|
+
end
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.email = ["anthony.estebe@gmail.com"]
|
11
11
|
gem.description = %q{Translate a simple attribute in all your locales }
|
12
12
|
gem.summary = %q{This is similar to most of other translation plugin in rails but usefull if you want to translate in few language because we don't need any join like others plugins. }
|
13
|
-
gem.homepage = "https://github.com/antho1404/
|
13
|
+
gem.homepage = "https://github.com/antho1404/same_table_translation"
|
14
14
|
|
15
15
|
gem.files = `git ls-files`.split($/)
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: same_table_translation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-21 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'Translate a simple attribute in all your locales '
|
15
15
|
email:
|
@@ -23,12 +23,13 @@ files:
|
|
23
23
|
- LICENSE.txt
|
24
24
|
- README.md
|
25
25
|
- Rakefile
|
26
|
+
- lib/generators/same_table_translation/USAGE
|
27
|
+
- lib/generators/same_table_translation/templates/translate_migration.rb.erb
|
28
|
+
- lib/generators/same_table_translation/translate_generator.rb
|
26
29
|
- lib/same_table_translation.rb
|
27
30
|
- lib/same_table_translation/version.rb
|
28
31
|
- same_table_translation.gemspec
|
29
|
-
|
30
|
-
- untitled.sublime-workspace
|
31
|
-
homepage: https://github.com/antho1404/translatable
|
32
|
+
homepage: https://github.com/antho1404/same_table_translation
|
32
33
|
licenses: []
|
33
34
|
post_install_message:
|
34
35
|
rdoc_options: []
|