mongoid-enum-i18n 0.2.9 → 0.3.0
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +9 -3
- data/lib/mongoid/enum.rb +13 -2
- data/lib/mongoid/enum/version.rb +1 -1
- data/spec/mongoid/enum_spec.rb +14 -0
- data/spec/support/app.en.yml +4 -0
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20a3fa80670c372248a986cedd1d50b37485d53d
|
4
|
+
data.tar.gz: fcf103b1e0813ccdddefea25db09e757b6b26300
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fb70835354ec337221247d33c7e1c40869b7e1c80ab4aba4cc5b6850138f96ff3130a1d62aa7631400782ab65687b23710727658a9686cb12266038dd2e98bf
|
7
|
+
data.tar.gz: 01485054ac63e0e5857c663827c6f2d1107daad93108e727a69b0244bce32fc36d33f7daf9d57f46a096651a37ee7e321abbd67d92d9e07c92a9d32e4056bfb8
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -157,18 +157,24 @@ can turn them off:
|
|
157
157
|
enum :status, [:up, :down], :validate => false
|
158
158
|
```
|
159
159
|
|
160
|
+
To include `nil`:
|
161
|
+
|
162
|
+
```ruby
|
163
|
+
enum :status, [:up, :down], :required => false
|
164
|
+
```
|
165
|
+
|
160
166
|
## I18n
|
161
167
|
|
162
|
-
Two helpers are available, `#
|
168
|
+
Two helpers are available, `#{enum}_i18n`:
|
163
169
|
|
164
170
|
```
|
165
171
|
Payment#status_i18n # => "Pending"
|
166
172
|
```
|
167
173
|
|
168
|
-
And `#
|
174
|
+
And `#{enum}_values`, good for drop downs:
|
169
175
|
|
170
176
|
```
|
171
|
-
Payment
|
177
|
+
Payment.status_values # => [["Pending, :pending]....
|
172
178
|
```
|
173
179
|
|
174
180
|
While/if the author implements/merges the i18n functionality, you may use
|
data/lib/mongoid/enum.rb
CHANGED
@@ -79,9 +79,20 @@ module Mongoid
|
|
79
79
|
|
80
80
|
def create_i18n_helper(field_name, options)
|
81
81
|
return if options[:i18n].is_a?(FalseClass)
|
82
|
-
|
83
|
-
|
82
|
+
if options[:multiple]
|
83
|
+
define_method("#{field_name}_i18n") do
|
84
|
+
return if self[field_name].blank?
|
85
|
+
self[field_name].map do |k|
|
86
|
+
I18n.translate("mongoid.enums.#{model_name.to_s.underscore}."\
|
87
|
+
"#{field_name}.#{k}")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
else
|
91
|
+
define_method("#{field_name}_i18n") do
|
92
|
+
return if self[field_name].blank?
|
93
|
+
I18n.translate("mongoid.enums.#{model_name.to_s.underscore}."\
|
84
94
|
"#{field_name}.#{self[field_name]}")
|
95
|
+
end
|
85
96
|
end
|
86
97
|
end
|
87
98
|
|
data/lib/mongoid/enum/version.rb
CHANGED
data/spec/mongoid/enum_spec.rb
CHANGED
@@ -239,6 +239,20 @@ describe Mongoid::Enum do
|
|
239
239
|
expect(instance.status_i18n).to eq('Awaiting Approval')
|
240
240
|
end
|
241
241
|
|
242
|
+
it 'should have a helper to translate the enum' do
|
243
|
+
instance.status = nil
|
244
|
+
expect(instance.status_i18n).to be_nil
|
245
|
+
end
|
246
|
+
|
247
|
+
it 'should return nil when enum is nil' do
|
248
|
+
expect(instance.roles_i18n).to be_nil
|
249
|
+
end
|
250
|
+
|
251
|
+
it 'should return nil when enum is nil' do
|
252
|
+
instance.roles << :author
|
253
|
+
expect(instance.roles_i18n).to eq ['Author']
|
254
|
+
end
|
255
|
+
|
242
256
|
it 'should have a helper to translate the values' do
|
243
257
|
expect(User.status_values)
|
244
258
|
.to eq([['Awaiting Approval', :awaiting_approval]])
|
data/spec/support/app.en.yml
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-enum-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Bruning
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-09-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mongoid
|
@@ -84,4 +84,3 @@ test_files:
|
|
84
84
|
- spec/support/app.en.yml
|
85
85
|
- spec/support/mongoid.yml
|
86
86
|
- spec/support/mongoid4.yml
|
87
|
-
has_rdoc:
|