gettext_column_mapping 0.2.3 → 0.2.4

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gettext_column_mapping}
8
- s.version = "0.2.3"
8
+ s.version = "0.2.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["hallelujah"]
12
- s.date = %q{2010-07-06}
12
+ s.date = %q{2010-07-07}
13
13
  s.description = %q{Translate your database columns with gettext}
14
14
  s.email = %q{hery@rails-royce.org}
15
15
  s.extra_rdoc_files = [
@@ -39,6 +39,7 @@ Gem::Specification.new do |s|
39
39
  "lib/gettext_column_mapping/parser/yaml.rb",
40
40
  "lib/gettext_column_mapping/railtie.rb",
41
41
  "lib/gettext_column_mapping/tasks.rb",
42
+ "lib/gettext_column_mapping/version.rb",
42
43
  "tasks/gettext_column_mapping.rake",
43
44
  "test/.gitignore",
44
45
  "test/activerecord_test.rb",
@@ -73,22 +74,22 @@ Gem::Specification.new do |s|
73
74
  s.rubygems_version = %q{1.3.7}
74
75
  s.summary = %q{Translate your database columns with gettext}
75
76
  s.test_files = [
76
- "test/helper.rb",
77
- "test/static/data.rb",
78
- "test/static/pluralization.rb",
79
- "test/activerecord_test.rb",
80
- "test/mapper_test.rb",
77
+ "test/gettext_column_mapping_test.rb",
81
78
  "test/fast_gettext_helper.rb",
82
- "test/gettext_column_mapping_test.rb",
83
- "test/extend_lib_path.rb",
84
- "test/gettext_helper.rb",
85
- "test/db/migrate/001_create_utilisateurs.rb",
86
- "test/db/migrate/003_create_categories.rb",
87
- "test/db/migrate/002_create_rubriques.rb",
88
- "test/models/categorie.rb",
79
+ "test/test_helper.rb",
80
+ "test/static/pluralization.rb",
81
+ "test/static/data.rb",
89
82
  "test/models/rubrique.rb",
90
83
  "test/models/utilisateur.rb",
91
- "test/test_helper.rb"
84
+ "test/models/categorie.rb",
85
+ "test/db/migrate/002_create_rubriques.rb",
86
+ "test/db/migrate/001_create_utilisateurs.rb",
87
+ "test/db/migrate/003_create_categories.rb",
88
+ "test/gettext_helper.rb",
89
+ "test/helper.rb",
90
+ "test/activerecord_test.rb",
91
+ "test/mapper_test.rb",
92
+ "test/extend_lib_path.rb"
92
93
  ]
93
94
 
94
95
  if s.respond_to? :specification_version then
@@ -19,7 +19,7 @@ module GettextColumnMapping
19
19
  end
20
20
 
21
21
  def map_attribute(obj,key)
22
- self[obj.name.underscore][:column_names][key]
22
+ self[obj.name.underscore][:column_names][key] rescue key.to_s.capitalize
23
23
  end
24
24
 
25
25
  def translate_key?(obj,key)
@@ -17,12 +17,12 @@ module GettextColumnMapping
17
17
  f.puts "#DO NOT MODIFY! AUTOMATICALLY GENERATED FILE!"
18
18
  ModelAttributesFinder.new.find(options).each do |model,column_names|
19
19
 
20
- f.puts("s_('#{model.to_s_with_gettext}')") #!Keep in sync with ActiveRecord::Base.human_name
20
+ f.puts("s_(\"#{model.to_s_with_gettext}\")") #!Keep in sync with ActiveRecord::Base.human_name
21
21
 
22
22
  #all columns namespaced under the model
23
23
  column_names.each do |attribute|
24
24
  translation = model.gettext_translation_for_attribute_name(attribute)
25
- f.puts("s_('#{translation}')")
25
+ f.puts("s_(\"#{translation}\")")
26
26
  end
27
27
  end
28
28
  if GettextColumnMapping.config.use_parent_level
@@ -30,12 +30,15 @@ module GettextColumnMapping
30
30
  GettextColumnMapping::ParentLevel.each_config do |klass_name,columns,parent_association,parent_key,conditions|
31
31
  model = klass_name.constantize
32
32
  options_hash = {}
33
+ if conditions
34
+ options_hash.merge!(:conditions => conditions)
35
+ end
33
36
  if parent_association
34
- options_hash.merge!(:conditions => conditions, :include => parent_association)
37
+ options_hash.merge!( :include => parent_association)
35
38
  end
36
- model.find_each do |record|
39
+ model.find_each(options_hash) do |record|
37
40
  columns.each do |column|
38
- f.puts("s_('#{record.msgid_for_attribute(column)}')")
41
+ f.puts("s_(\"#{record.msgid_for_attribute(column)}\")")
39
42
  end
40
43
  end
41
44
  end
@@ -55,7 +58,7 @@ module GettextColumnMapping
55
58
  #all columns namespaced under the model
56
59
  column_names.each do |attribute|
57
60
  translation = model.gettext_translation_for_attribute_name(attribute)
58
- f.puts("s_('#{translation}')")
61
+ f.puts("s_(\"#{translation}\")")
59
62
  end
60
63
 
61
64
  if GettextColumnMapping.config.use_parent_level
@@ -63,18 +66,21 @@ module GettextColumnMapping
63
66
  GettextColumnMapping::ParentLevel.item_config(model.name) do |klass_name,columns,parent_association,parent_key,conditions|
64
67
  model = klass_name.constantize
65
68
  options_hash = {}
69
+ if conditions
70
+ options_hash.merge!(:conditions => conditions)
71
+ end
66
72
  if parent_association
67
- options_hash.merge!(:conditions => conditions, :include => parent_association)
73
+ options_hash.merge!( :include => parent_association)
68
74
  end
69
- model.find_each do |record|
70
- columns.each do |column|
71
- f.puts("s_('#{record.msgid_for_attribute(column)}')")
75
+ model.find_each(options_hash) do |record|
76
+ columns.each do |key|
77
+ f.puts("s_(\"#{record.msgid_for_attribute(key)}\")")
72
78
  end
73
79
  end
74
80
  end
75
- end
81
+ end
76
82
 
77
- f.puts "#DO NOT MODIFY! AUTOMATICALLY GENERATED FILE!"
83
+ f.puts "#DO NOT MODIFY! AUTOMATICALLY GENERATED FILE!"
78
84
 
79
85
  end
80
86
  end
@@ -107,7 +113,8 @@ module GettextColumnMapping
107
113
  found = Hash.new([])
108
114
 
109
115
  GettextColumnMapping.activerecord_subclasses.each do |subclass|
110
- next if table_ignored?(subclass,options[:ignore_tables])
116
+ next if table_ignored?(subclass,options[:ignore_tables])
117
+ found[subclass] = [] if GettextColumnMapping.config.use_parent_level && ! GettextColumnMapping::ParentLevel.column_attributes_translation(subclass.name).blank?
111
118
  subclass.columns.each do |column|
112
119
  unless column_ignored?(subclass,column,options[:ignore_columns])
113
120
  found[subclass] += [column.name]
@@ -33,8 +33,8 @@ module GettextColumnMapping
33
33
  def prefix(klass = nil,column = nil,parent = nil,key = nil)
34
34
  prefixes = [data_prefix]
35
35
  prefixes << "#{klass.to_s_with_gettext}" if klass
36
- prefixes << "#{parent[key]}" if parent
37
- prefixes << "#{klass.column_map_attribute(column.to_s)}" if column
36
+ prefixes << parent[key] if parent
37
+ prefixes << klass.column_map_attribute(column.to_s) if column
38
38
  prefixes.join("|")
39
39
  end
40
40
 
@@ -58,13 +58,17 @@ module GettextColumnMapping
58
58
  if parent
59
59
  parent_key = parent[:key]
60
60
  parent_association = parent[:association]
61
- conditions = parent[:conditions]
62
61
  end
62
+ conditions = conditions_translation(klass_name)
63
63
  results = [klass_name,columns,parent_association,parent_key,conditions]
64
64
  yield(*results) if block_given?
65
65
  results
66
66
  end
67
67
 
68
+ def conditions_translation(klass_name)
69
+ attributes_translation(klass_name) && attributes_translation(klass_name)[:conditions]
70
+ end
71
+
68
72
  def attributes_translation(klass_name)
69
73
  @attributes_translation[klass_name] = @parent_level_config[klass_name.underscore]
70
74
  end
@@ -0,0 +1,3 @@
1
+ module GettextColumnMapping
2
+ VERSION = File.read(File.expand_path("../../../VERSION",__FILE__)).chomp
3
+ end
@@ -1,5 +1,6 @@
1
1
  # coding: utf-8
2
2
  # Check the version of active_support to requiring all libs
3
+ require 'gettext_column_mapping/version'
3
4
  require 'active_support/version'
4
5
  if Gem::Version.new(ActiveSupport::VERSION::STRING) > Gem::Version.new("2")
5
6
  require 'active_support/all'
@@ -1,8 +1,6 @@
1
1
  # coding: utf-8
2
2
  require 'test_helper'
3
- require 'models/utilisateur'
4
- require 'models/rubrique'
5
- require 'models/categorie'
3
+
6
4
  class ActiverecordTest < ActiveSupport::TestCase
7
5
 
8
6
  fixtures :categories,:rubriques
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
  require 'test_helper'
3
- class GettextColumnMappingTest < Test::Unit::TestCase
3
+ class GettextColumnMappingTest < ActiveSupport::TestCase
4
4
 
5
5
  def test_config
6
6
  assert_instance_of ActiveSupport::OrderedOptions, GettextColumnMapping.config
data/test/mapper_test.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  require 'test_helper'
3
- require 'models/utilisateur'
4
- class UtilisateurTest < Test::Unit::TestCase
3
+ class UtilisateurTest < ActiveSupport::TestCase
4
+ fixtures :categories, :rubriques
5
5
 
6
6
  class NotMapped < ActiveRecord::Base; end
7
7
 
@@ -27,6 +27,11 @@ class UtilisateurTest < Test::Unit::TestCase
27
27
  assert GettextColumnMapping.mapper.translate_class_name?(Utilisateur)
28
28
  end
29
29
 
30
+ def test_map_attribute
31
+ assert 'Label', GettextColumnMapping.mapper.map_attribute(NotMapped,'label')
32
+ assert 'Label', GettextColumnMapping.mapper.map_attribute(Categorie,'label')
33
+ end
34
+
30
35
  def test_translation
31
36
  GettextColumnMapping.locale = 'en'
32
37
  assert_equal 'User', Utilisateur.human_name
data/test/test_helper.rb CHANGED
@@ -4,8 +4,13 @@ if ENV['GETTEXT']
4
4
  else
5
5
  require 'fast_gettext_helper'
6
6
  end
7
- require 'test/unit'
7
+
8
+ require 'models/utilisateur'
9
+ require 'models/categorie'
10
+ require 'models/rubrique'
11
+
8
12
  require 'active_support/test_case'
13
+ require 'test/unit'
9
14
  class ActiveSupport::TestCase
10
15
  include ActiveRecord::TestFixtures
11
16
  self.fixture_path = File.expand_path("../db/fixtures",__FILE__)
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 3
9
- version: 0.2.3
8
+ - 4
9
+ version: 0.2.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - hallelujah
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-07-06 00:00:00 +02:00
17
+ date: 2010-07-07 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -50,6 +50,7 @@ files:
50
50
  - lib/gettext_column_mapping/parser/yaml.rb
51
51
  - lib/gettext_column_mapping/railtie.rb
52
52
  - lib/gettext_column_mapping/tasks.rb
53
+ - lib/gettext_column_mapping/version.rb
53
54
  - tasks/gettext_column_mapping.rake
54
55
  - test/.gitignore
55
56
  - test/activerecord_test.rb
@@ -110,19 +111,19 @@ signing_key:
110
111
  specification_version: 3
111
112
  summary: Translate your database columns with gettext
112
113
  test_files:
113
- - test/helper.rb
114
- - test/static/data.rb
114
+ - test/gettext_column_mapping_test.rb
115
+ - test/fast_gettext_helper.rb
116
+ - test/test_helper.rb
115
117
  - test/static/pluralization.rb
118
+ - test/static/data.rb
119
+ - test/models/rubrique.rb
120
+ - test/models/utilisateur.rb
121
+ - test/models/categorie.rb
122
+ - test/db/migrate/002_create_rubriques.rb
123
+ - test/db/migrate/001_create_utilisateurs.rb
124
+ - test/db/migrate/003_create_categories.rb
125
+ - test/gettext_helper.rb
126
+ - test/helper.rb
116
127
  - test/activerecord_test.rb
117
128
  - test/mapper_test.rb
118
- - test/fast_gettext_helper.rb
119
- - test/gettext_column_mapping_test.rb
120
129
  - test/extend_lib_path.rb
121
- - test/gettext_helper.rb
122
- - test/db/migrate/001_create_utilisateurs.rb
123
- - test/db/migrate/003_create_categories.rb
124
- - test/db/migrate/002_create_rubriques.rb
125
- - test/models/categorie.rb
126
- - test/models/rubrique.rb
127
- - test/models/utilisateur.rb
128
- - test/test_helper.rb