mongoid-enum-i18n 0.2.9 → 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
2
  SHA1:
3
- metadata.gz: cc39e71840d462cac737d0756eea80a8f831089e
4
- data.tar.gz: c388c3055bd4af60a7549d71645511a40a242443
3
+ metadata.gz: 20a3fa80670c372248a986cedd1d50b37485d53d
4
+ data.tar.gz: fcf103b1e0813ccdddefea25db09e757b6b26300
5
5
  SHA512:
6
- metadata.gz: 6ff488c1098984135d6d1a70da51395c909b2865a22e9ff1538e76b894e0fc29d78dc3da4f6428fef5ea0c8fabaeddd5b3396e003298bfc84faad69e0677aa0c
7
- data.tar.gz: 6702eb2c30f6872a6df327cb0a8c2d56e68987d2180c42fcfdca31a6391b0188e7490ac609e84b5d18ea4d9a4ccc4edeb96b4d03cd10b0b3d7e841106a01f84f
6
+ metadata.gz: 3fb70835354ec337221247d33c7e1c40869b7e1c80ab4aba4cc5b6850138f96ff3130a1d62aa7631400782ab65687b23710727658a9686cb12266038dd2e98bf
7
+ data.tar.gz: 01485054ac63e0e5857c663827c6f2d1107daad93108e727a69b0244bce32fc36d33f7daf9d57f46a096651a37ee7e321abbd67d92d9e07c92a9d32e4056bfb8
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in mongoid-enum.gemspec
4
- gem 'mongoid', '>= 5.0.0.beta'
4
+ gem 'mongoid', '>= 5.0.0.rc0'
5
5
 
6
6
  gemspec
7
7
 
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, `#enum_i18`n:
168
+ Two helpers are available, `#{enum}_i18n`:
163
169
 
164
170
  ```
165
171
  Payment#status_i18n # => "Pending"
166
172
  ```
167
173
 
168
- And `#enum_values`, good for drop downs:
174
+ And `#{enum}_values`, good for drop downs:
169
175
 
170
176
  ```
171
- Payment#status_values # => [["Pending, :pending]....
177
+ Payment.status_values # => [["Pending, :pending]....
172
178
  ```
173
179
 
174
180
  While/if the author implements/merges the i18n functionality, you may use
@@ -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
- define_method("#{field_name}_i18n") do
83
- I18n.translate("mongoid.enums.#{model_name.to_s.underscore}."\
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
 
@@ -1,6 +1,6 @@
1
1
  module Mongoid
2
2
  # VERSION
3
3
  module Enum
4
- VERSION = '0.2.9'
4
+ VERSION = '0.3.0'
5
5
  end
6
6
  end
@@ -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]])
@@ -4,3 +4,7 @@ en:
4
4
  user:
5
5
  status:
6
6
  awaiting_approval: Awaiting Approval
7
+ roles:
8
+ author: Author
9
+ editor: Editor
10
+ admin: Administrator
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.2.9
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-07-31 00:00:00.000000000 Z
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: