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 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: