dm-validations-i18n 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gemtest ADDED
File without changes
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - ree
data/Gemfile CHANGED
@@ -1,11 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'dm-validations', '>= 1.0.2'
4
-
5
- group :development do
6
- gem "shoulda", ">= 2.11.3"
7
- gem "bundler", "~> 1.0.0"
8
- gem "jeweler", "~> 1.5.2"
9
- gem "rcov", ">= 0"
10
- gem 'guard-test'
11
- end
3
+ # Specify your gem's dependencies in dm-validations-i18n.gemspec
4
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,34 +1,22 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ dm-validations-i18n (0.3.4)
5
+ dm-validations (~> 1.2.0)
6
+
1
7
  GEM
2
8
  remote: http://rubygems.org/
3
9
  specs:
4
10
  addressable (2.2.6)
5
- dm-core (1.1.0)
6
- addressable (~> 2.2.4)
7
- dm-validations (1.1.0)
8
- dm-core (~> 1.1.0)
9
- git (1.2.5)
10
- guard (0.5.1)
11
- thor (~> 0.14.6)
12
- guard-test (0.3.0)
13
- guard (>= 0.2.2)
14
- test-unit (~> 2.2)
15
- jeweler (1.5.2)
16
- bundler (~> 1.0.0)
17
- git (>= 1.2.5)
18
- rake
19
- rake (0.9.2)
20
- rcov (0.9.9)
11
+ dm-core (1.2.0)
12
+ addressable (~> 2.2.6)
13
+ dm-validations (1.2.0)
14
+ dm-core (~> 1.2.0)
21
15
  shoulda (2.11.3)
22
- test-unit (2.3.0)
23
- thor (0.14.6)
24
16
 
25
17
  PLATFORMS
26
18
  ruby
27
19
 
28
20
  DEPENDENCIES
29
- bundler (~> 1.0.0)
30
- dm-validations (>= 1.0.2)
31
- guard-test
32
- jeweler (~> 1.5.2)
33
- rcov
34
- shoulda (>= 2.11.3)
21
+ dm-validations-i18n!
22
+ shoulda (~> 2.11.3)
@@ -1,14 +1,14 @@
1
- = dm-validations-i18n
1
+ # dm-validations-i18n [<img src="https://secure.travis-ci.org/komagata/dm-validations-i18n.png"/>](http://travis-ci.org/komagata/dm-validations-i18n)
2
2
 
3
3
  Localize error messages in dm-validations.
4
4
 
5
- == Usage
5
+ ## Usage
6
6
 
7
- require 'dm-validations-i18n'
8
- DataMapper::Validations::I18n.localize! 'ja'
7
+ require 'dm-validations-i18n'
8
+ DataMapper::Validations::I18n.localize! 'ja'
9
+
10
+ ## Note on Patches/Pull Requests
9
11
 
10
- == Note on Patches/Pull Requests
11
-
12
12
  * Fork the project.
13
13
  * Make your feature addition or bug fix.
14
14
  * Add tests for it. This is important so I don't break it in a
@@ -17,6 +17,6 @@ Localize error messages in dm-validations.
17
17
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
18
18
  * Send me a pull request. Bonus points for topic branches.
19
19
 
20
- == Copyright
20
+ ## Copyright
21
21
 
22
22
  Copyright (c) 2010 Masaki KOMAGATA. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,31 +1,4 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'rake'
11
-
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
- gem.name = "dm-validations-i18n"
16
- gem.homepage = "http://github.com/komagata/dm-validations-i18n"
17
- gem.license = "MIT"
18
- gem.summary = %Q{localize dm-validations}
19
- gem.description = %Q{Localize error messages in dm-validations.}
20
- gem.email = "komagata@gmail.com"
21
- gem.authors = ["Masaki Komagata"]
22
- # Include your dependencies below. Runtime dependencies are required when using your gem,
23
- # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
- gem.add_runtime_dependency 'dm-validations', '>= 1.0.2'
25
- # gem.add_development_dependency 'rspec', '> 1.2.3'
26
- end
27
- Jeweler::RubygemsDotOrgTasks.new
28
-
1
+ require "bundler/gem_tasks"
29
2
  require 'rake/testtask'
30
3
  Rake::TestTask.new(:test) do |test|
31
4
  test.libs << 'lib' << 'test'
@@ -33,19 +6,12 @@ Rake::TestTask.new(:test) do |test|
33
6
  test.verbose = true
34
7
  end
35
8
 
36
- require 'rcov/rcovtask'
37
- Rcov::RcovTask.new do |test|
38
- test.libs << 'test'
39
- test.pattern = 'test/**/test_*.rb'
40
- test.verbose = true
41
- end
42
-
43
9
  task :default => :test
44
10
 
45
- require 'rake/rdoctask'
11
+ require 'rdoc/task'
12
+ require 'data_mapper/validations/i18n/version'
46
13
  Rake::RDocTask.new do |rdoc|
47
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
-
14
+ version = DataMapper::Validations::I18n::VERSION
49
15
  rdoc.rdoc_dir = 'rdoc'
50
16
  rdoc.title = "dm-validations-i18n #{version}"
51
17
  rdoc.rdoc_files.include('README*')
@@ -1,79 +1,24 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "data_mapper/validations/i18n"
4
+ require "data_mapper/validations/i18n/version"
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{dm-validations-i18n}
8
- s.version = "0.3.3"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Masaki Komagata"]
12
- s.date = %q{2011-07-23}
7
+ s.name = "dm-validations-i18n"
8
+ s.version = DataMapper::Validations::I18n::VERSION
9
+ s.authors = ["Masaki Komagata"]
10
+ s.email = ["komagata@gmail.com"]
11
+ s.homepage = "https://github.com/komagata/dm-validations-i18n"
12
+ s.summary = %q{Localize error messages in dm-validations.}
13
13
  s.description = %q{Localize error messages in dm-validations.}
14
- s.email = %q{komagata@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "dm-validations-i18n.gemspec",
28
- "lib/class.rb",
29
- "lib/dm-validations-i18n.rb",
30
- "locale/en.yml",
31
- "locale/it.yml",
32
- "locale/ja.yml",
33
- "locale/ru.yml",
34
- "locale/zh-CN.yml",
35
- "locale/zh-TW.yml",
36
- "test/helper.rb",
37
- "test/test_dm-validations-i18n.rb"
38
- ]
39
- s.homepage = %q{http://github.com/komagata/dm-validations-i18n}
40
- s.licenses = ["MIT"]
41
- s.require_paths = ["lib"]
42
- s.rubygems_version = %q{1.4.2}
43
- s.summary = %q{localize dm-validations}
44
- s.test_files = [
45
- "test/helper.rb",
46
- "test/test_dm-validations-i18n.rb"
47
- ]
48
14
 
49
- if s.respond_to? :specification_version then
50
- s.specification_version = 3
15
+ s.rubyforge_project = "dm-validations-i18n"
51
16
 
52
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
53
- s.add_runtime_dependency(%q<dm-validations>, [">= 1.0.2"])
54
- s.add_development_dependency(%q<shoulda>, [">= 2.11.3"])
55
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
56
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
57
- s.add_development_dependency(%q<rcov>, [">= 0"])
58
- s.add_development_dependency(%q<guard-test>, [">= 0"])
59
- s.add_runtime_dependency(%q<dm-validations>, [">= 1.0.2"])
60
- else
61
- s.add_dependency(%q<dm-validations>, [">= 1.0.2"])
62
- s.add_dependency(%q<shoulda>, [">= 2.11.3"])
63
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
64
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
65
- s.add_dependency(%q<rcov>, [">= 0"])
66
- s.add_dependency(%q<guard-test>, [">= 0"])
67
- s.add_dependency(%q<dm-validations>, [">= 1.0.2"])
68
- end
69
- else
70
- s.add_dependency(%q<dm-validations>, [">= 1.0.2"])
71
- s.add_dependency(%q<shoulda>, [">= 2.11.3"])
72
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
73
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
74
- s.add_dependency(%q<rcov>, [">= 0"])
75
- s.add_dependency(%q<guard-test>, [">= 0"])
76
- s.add_dependency(%q<dm-validations>, [">= 1.0.2"])
77
- end
78
- end
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
79
21
 
22
+ s.add_development_dependency "shoulda", "~> 2.11.3"
23
+ s.add_runtime_dependency "dm-validations", "~> 1.2.0"
24
+ end
@@ -0,0 +1,7 @@
1
+ module DataMapper
2
+ module Validations
3
+ module I18n
4
+ VERSION = "0.3.4"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,97 @@
1
+ require 'dm-validations'
2
+ require 'yaml'
3
+ require 'class'
4
+ require 'data_mapper/validations/i18n/version'
5
+
6
+ module DataMapper
7
+ module Validations
8
+ module I18n
9
+ class << self
10
+ cattr_accessor :locale
11
+ cattr_accessor :field_name_translator
12
+
13
+ def localize!(locale)
14
+ self.locale = locale
15
+
16
+ data = {}
17
+ load_locale(locale).each do |key, value|
18
+ data[key.to_sym] = value
19
+ end
20
+ DataMapper::Validations::ValidationErrors.default_error_messages = data
21
+ end
22
+
23
+ def translate_field_name_with(x = nil, &cb)
24
+ self.field_name_translator =
25
+ if (!x && cb)
26
+ FieldNameTranslator::Callback.new(self, &cb)
27
+ elsif (x.is_a? Hash)
28
+ FieldNameTranslator::Hash.new(self, x)
29
+ elsif (x == :rails)
30
+ FieldNameTranslator::Rails.new(self)
31
+ end
32
+ end
33
+
34
+ def load_locale(locale)
35
+ load_yml File.join(File.dirname(__FILE__), '..', '..', '..', 'locale', "#{locale}.yml")
36
+ end
37
+
38
+ def load_yml(filename)
39
+ YAML::load IO.read(filename)
40
+ end
41
+ end
42
+ end
43
+
44
+ module FieldNameTranslator
45
+ class Callback
46
+ attr_accessor :context, :callback
47
+
48
+ def initialize(context, &cb)
49
+ self.context = context
50
+ self.callback = cb
51
+ end
52
+
53
+ def translate(field)
54
+ self.callback.call(field)
55
+ end
56
+ end
57
+
58
+ class Hash < Callback
59
+ def initialize(context, x)
60
+ dict = x[context.locale]
61
+
62
+ self.context = context
63
+ self.callback = lambda do |field|
64
+ dict[field.to_s] || field
65
+ end
66
+ end
67
+ end
68
+
69
+ class Rails < Callback
70
+ def initialize(context)
71
+ self.context = context
72
+ self.callback = lambda do |field|
73
+ ::I18n.t(field)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+
81
+ class DataMapper::Validations::ValidationErrors
82
+ class << self
83
+ def default_error_message_with_localized_field_name(key, field, *values)
84
+ translator = DataMapper::Validations::I18n.field_name_translator
85
+
86
+ if translator
87
+ field = translator.translate(field)
88
+ end
89
+
90
+ @@default_error_messages[key] % [field, *values].flatten
91
+ end
92
+
93
+ alias :default_error_message_without_localized_field_name :default_error_message
94
+ alias :default_error_message :default_error_message_with_localized_field_name
95
+ end
96
+ end
97
+
@@ -1,96 +1,2 @@
1
- require 'dm-validations'
2
- require 'yaml'
3
- require 'class'
4
-
5
- module DataMapper
6
- module Validations
7
- module I18n
8
- class << self
9
- cattr_accessor :locale
10
- cattr_accessor :field_name_translator
11
-
12
- def localize!(locale)
13
- self.locale = locale
14
-
15
- data = {}
16
- load_locale(locale).each do |key, value|
17
- data[key.to_sym] = value
18
- end
19
- DataMapper::Validations::ValidationErrors.default_error_messages = data
20
- end
21
-
22
- def translate_field_name_with(x = nil, &cb)
23
- self.field_name_translator =
24
- if (!x && cb)
25
- FieldNameTranslator::Callback.new(self, &cb)
26
- elsif (x.is_a? Hash)
27
- FieldNameTranslator::Hash.new(self, x)
28
- elsif (x == :rails)
29
- FieldNameTranslator::Rails.new(self)
30
- end
31
- end
32
-
33
- def load_locale(locale)
34
- load_yml File.join(File.dirname(__FILE__), '..', 'locale', "#{locale}.yml")
35
- end
36
-
37
- def load_yml(filename)
38
- YAML::load IO.read(filename)
39
- end
40
- end
41
- end
42
-
43
- module FieldNameTranslator
44
- class Callback
45
- attr_accessor :context, :callback
46
-
47
- def initialize(context, &cb)
48
- self.context = context
49
- self.callback = cb
50
- end
51
-
52
- def translate(field)
53
- self.callback.call(field)
54
- end
55
- end
56
-
57
- class Hash < Callback
58
- def initialize(context, x)
59
- dict = x[context.locale]
60
-
61
- self.context = context
62
- self.callback = lambda do |field|
63
- dict[field.to_s] || field
64
- end
65
- end
66
- end
67
-
68
- class Rails < Callback
69
- def initialize(context)
70
- self.context = context
71
- self.callback = lambda do |field|
72
- ::I18n.t(field)
73
- end
74
- end
75
- end
76
- end
77
- end
78
- end
79
-
80
- class DataMapper::Validations::ValidationErrors
81
- class << self
82
- def default_error_message_with_localized_field_name(key, field, *values)
83
- translator = DataMapper::Validations::I18n.field_name_translator
84
-
85
- if translator
86
- field = translator.translate(field)
87
- end
88
-
89
- @@default_error_messages[key] % [field, *values].flatten
90
- end
91
-
92
- alias :default_error_message_without_localized_field_name :default_error_message
93
- alias :default_error_message :default_error_message_with_localized_field_name
94
- end
95
- end
96
-
1
+ require 'data_mapper/validations/i18n'
2
+ require 'data_mapper/validations/i18n/version'
metadata CHANGED
@@ -1,150 +1,57 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dm-validations-i18n
3
- version: !ruby/object:Gem::Version
4
- hash: 21
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.4
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 3
10
- version: 0.3.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Masaki Komagata
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-07-23 00:00:00 +09:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- name: dm-validations
24
- type: :runtime
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 19
31
- segments:
32
- - 1
33
- - 0
34
- - 2
35
- version: 1.0.2
36
- requirement: *id001
37
- - !ruby/object:Gem::Dependency
38
- prerelease: false
12
+ date: 2011-12-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
39
15
  name: shoulda
40
- type: :development
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
16
+ requirement: &70288092935040 !ruby/object:Gem::Requirement
42
17
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- hash: 37
47
- segments:
48
- - 2
49
- - 11
50
- - 3
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
51
21
  version: 2.11.3
52
- requirement: *id002
53
- - !ruby/object:Gem::Dependency
54
- prerelease: false
55
- name: bundler
56
22
  type: :development
57
- version_requirements: &id003 !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ~>
61
- - !ruby/object:Gem::Version
62
- hash: 23
63
- segments:
64
- - 1
65
- - 0
66
- - 0
67
- version: 1.0.0
68
- requirement: *id003
69
- - !ruby/object:Gem::Dependency
70
23
  prerelease: false
71
- name: jeweler
72
- type: :development
73
- version_requirements: &id004 !ruby/object:Gem::Requirement
24
+ version_requirements: *70288092935040
25
+ - !ruby/object:Gem::Dependency
26
+ name: dm-validations
27
+ requirement: &70288092933960 !ruby/object:Gem::Requirement
74
28
  none: false
75
- requirements:
29
+ requirements:
76
30
  - - ~>
77
- - !ruby/object:Gem::Version
78
- hash: 7
79
- segments:
80
- - 1
81
- - 5
82
- - 2
83
- version: 1.5.2
84
- requirement: *id004
85
- - !ruby/object:Gem::Dependency
86
- prerelease: false
87
- name: rcov
88
- type: :development
89
- version_requirements: &id005 !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- hash: 3
95
- segments:
96
- - 0
97
- version: "0"
98
- requirement: *id005
99
- - !ruby/object:Gem::Dependency
100
- prerelease: false
101
- name: guard-test
102
- type: :development
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- hash: 3
109
- segments:
110
- - 0
111
- version: "0"
112
- requirement: *id006
113
- - !ruby/object:Gem::Dependency
114
- prerelease: false
115
- name: dm-validations
31
+ - !ruby/object:Gem::Version
32
+ version: 1.2.0
116
33
  type: :runtime
117
- version_requirements: &id007 !ruby/object:Gem::Requirement
118
- none: false
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- hash: 19
123
- segments:
124
- - 1
125
- - 0
126
- - 2
127
- version: 1.0.2
128
- requirement: *id007
34
+ prerelease: false
35
+ version_requirements: *70288092933960
129
36
  description: Localize error messages in dm-validations.
130
- email: komagata@gmail.com
37
+ email:
38
+ - komagata@gmail.com
131
39
  executables: []
132
-
133
40
  extensions: []
134
-
135
- extra_rdoc_files:
136
- - LICENSE
137
- - README.rdoc
138
- files:
139
- - .document
41
+ extra_rdoc_files: []
42
+ files:
43
+ - .gemtest
44
+ - .gitignore
45
+ - .travis.yml
140
46
  - Gemfile
141
47
  - Gemfile.lock
142
48
  - LICENSE
143
- - README.rdoc
49
+ - README.md
144
50
  - Rakefile
145
- - VERSION
146
51
  - dm-validations-i18n.gemspec
147
52
  - lib/class.rb
53
+ - lib/data_mapper/validations/i18n.rb
54
+ - lib/data_mapper/validations/i18n/version.rb
148
55
  - lib/dm-validations-i18n.rb
149
56
  - locale/en.yml
150
57
  - locale/it.yml
@@ -154,40 +61,31 @@ files:
154
61
  - locale/zh-TW.yml
155
62
  - test/helper.rb
156
63
  - test/test_dm-validations-i18n.rb
157
- has_rdoc: true
158
- homepage: http://github.com/komagata/dm-validations-i18n
159
- licenses:
160
- - MIT
64
+ homepage: https://github.com/komagata/dm-validations-i18n
65
+ licenses: []
161
66
  post_install_message:
162
67
  rdoc_options: []
163
-
164
- require_paths:
68
+ require_paths:
165
69
  - lib
166
- required_ruby_version: !ruby/object:Gem::Requirement
70
+ required_ruby_version: !ruby/object:Gem::Requirement
167
71
  none: false
168
- requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- hash: 3
172
- segments:
173
- - 0
174
- version: "0"
175
- required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
77
  none: false
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- hash: 3
181
- segments:
182
- - 0
183
- version: "0"
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
184
82
  requirements: []
185
-
186
- rubyforge_project:
187
- rubygems_version: 1.4.2
83
+ rubyforge_project: dm-validations-i18n
84
+ rubygems_version: 1.8.10
188
85
  signing_key:
189
86
  specification_version: 3
190
- summary: localize dm-validations
191
- test_files:
87
+ summary: Localize error messages in dm-validations.
88
+ test_files:
192
89
  - test/helper.rb
193
90
  - test/test_dm-validations-i18n.rb
91
+ has_rdoc:
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.3