mongoid-enum 0.1.0 → 0.1.1
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 +8 -8
- data/README.md +12 -4
- data/lib/mongoid/enum.rb +3 -2
- data/lib/mongoid/enum/version.rb +1 -1
- data/mongoid-enum.gemspec +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NTJkYTBhNGI1MDQ1OTAyMDdmZDU1NGMxODFkNjI5YTBlNTczNTQwNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzgxMTU4ZjJhYzA0ZTg5ZWZjY2QzOGM5YWM4N2NmNDZiODBjYThkZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTExODM0ZDEwN2I1MGZhNzZmMjNmOGM3MjFkOGNlYWI2ZWFlNjY2NGI5YTEx
|
10
|
+
ZDdiMTU2OTJjMmFmMTQzZThhODhkNmJkMDUzYTJlODI1YWExOWU0ZmU1OGYy
|
11
|
+
ZTYwNmFlNDZiZGEwZGM0MmNkODNlM2IzYWViNTJlNGJjNjZmODY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MWVkNDk1ODg1YWVjZWM5Y2U5NzQ3NmFlNjY4N2Y2N2Y2OTQyMzQ5Y2U5N2Zh
|
14
|
+
MTExODgyNzQxYThiMGQxZjQwMzYzY2Q1MzFjZjIxZWE2NmMzZDE5ZmI2MDdl
|
15
|
+
NDVjYmQwODBlYmJkZWViY2JjY2MyZTdhMjljMWYwYTk2NDYyODU=
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ Status](https://travis-ci.org/thetron/mongoid-enum.png)](https://travis-ci.org/t
|
|
5
5
|
|
6
6
|
Heavily inspired by [DHH's
|
7
7
|
ActiveRecord::Enum](https://github.com/rails/rails/commit/db41eb8a6ea88b854bf5cd11070ea4245e1639c5), this little library is
|
8
|
-
|
8
|
+
there to help you cut down the cruft in your models and make the
|
9
9
|
world a happier place at the same time.
|
10
10
|
|
11
11
|
A single line will get you fields, accessors, validations and scopes,
|
@@ -73,7 +73,7 @@ payment.status
|
|
73
73
|
````
|
74
74
|
|
75
75
|
And you also get bang(!) and query(?) methods for each of the values in
|
76
|
-
your enum (see [this example](#
|
76
|
+
your enum (see [this example](#usage).
|
77
77
|
|
78
78
|
|
79
79
|
## Constants
|
@@ -91,7 +91,7 @@ Payment::STATUS
|
|
91
91
|
## Validations
|
92
92
|
|
93
93
|
Enum values are automatically validated against the list. You can
|
94
|
-
disable this behaviour (see (
|
94
|
+
disable this behaviour (see [below](#options)).
|
95
95
|
|
96
96
|
|
97
97
|
## Scopes
|
@@ -141,4 +141,12 @@ your field are always from your list of options. If you need more
|
|
141
141
|
complex validations, or you just want to throw caution to the wind, you
|
142
142
|
can turn them off:
|
143
143
|
|
144
|
-
enum :status => [:up, :down], :
|
144
|
+
enum :status => [:up, :down], :validate => false
|
145
|
+
|
146
|
+
|
147
|
+
# Issues and Feature Requests
|
148
|
+
|
149
|
+
If you have any problems, or you have a suggestion, please [submit an
|
150
|
+
issue](https://github.com/thetron/mongoid-enum/issues) (and a failing
|
151
|
+
test, if you can). Pull requests and feature requests are alwasy welcome
|
152
|
+
and greatly appreciated.
|
data/lib/mongoid/enum.rb
CHANGED
@@ -11,6 +11,7 @@ module Mongoid
|
|
11
11
|
multiple = options[:multiple] || false
|
12
12
|
default = options[:default].nil? && values.first || options[:default]
|
13
13
|
required = options[:required].nil? || options[:required]
|
14
|
+
validate = options[:validate].nil? || options[:validate]
|
14
15
|
|
15
16
|
const_set const_name, values
|
16
17
|
|
@@ -18,9 +19,9 @@ module Mongoid
|
|
18
19
|
field field_name, :type => type, :default => default
|
19
20
|
alias_attribute name, field_name
|
20
21
|
|
21
|
-
if multiple
|
22
|
+
if multiple && validate
|
22
23
|
validates field_name, :'mongoid/enum/validators/multiple' => { :in => values, :allow_nil => !required }
|
23
|
-
|
24
|
+
elsif validate
|
24
25
|
validates field_name, :inclusion => {:in => values}, :allow_nil => !required
|
25
26
|
end
|
26
27
|
|
data/lib/mongoid/enum/version.rb
CHANGED
data/mongoid-enum.gemspec
CHANGED
@@ -8,9 +8,9 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Mongoid::Enum::VERSION
|
9
9
|
spec.authors = ["Nicholas Bruning"]
|
10
10
|
spec.email = ["nicholas@bruning.com.au"]
|
11
|
-
spec.description = %q{Heavily inspired by DDH's ActiveRecord::Enum, this little library is
|
11
|
+
spec.description = %q{Heavily inspired by DDH's ActiveRecord::Enum, this little library is there to help you cut down the cruft in your models and make the world a happier place at the same time.}
|
12
12
|
spec.summary = %q{Sweet enum sugar for your Mongoid documents}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/thetron/mongoid-enum"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-enum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Bruning
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 1.5.1
|
111
111
|
description: Heavily inspired by DDH's ActiveRecord::Enum, this little library is
|
112
|
-
|
112
|
+
there to help you cut down the cruft in your models and make the world a happier
|
113
113
|
place at the same time.
|
114
114
|
email:
|
115
115
|
- nicholas@bruning.com.au
|
@@ -133,7 +133,7 @@ files:
|
|
133
133
|
- spec/mongoid/enum_spec.rb
|
134
134
|
- spec/spec_helper.rb
|
135
135
|
- spec/support/mongoid.yml
|
136
|
-
homepage:
|
136
|
+
homepage: https://github.com/thetron/mongoid-enum
|
137
137
|
licenses:
|
138
138
|
- MIT
|
139
139
|
metadata: {}
|