diff --git a/README.md b/README.md index 31ab596..a963657 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Status](https://travis-ci.org/thetron/mongoid-enum.png)](https://travis-ci.org/t Heavily inspired by [DHH's ActiveRecord::Enum](https://github.com/rails/rails/commit/db41eb8a6ea88b854bf5cd11070ea4245e1639c5), this little library is -just there to help you cut down the cruft in your models and make the +there to help you cut down the cruft in your models and make the world a happier place at the same time. A single line will get you fields, accessors, validations and scopes, @@ -141,7 +141,7 @@ your field are always from your list of options. If you need more complex validations, or you just want to throw caution to the wind, you can turn them off: - enum :status => [:up, :down], :validation => false + enum :status => [:up, :down], :validate => false # Issues and Feature Requests diff --git a/lib/mongoid/enum.rb b/lib/mongoid/enum.rb index 9ac4ddf..bf9117a 100644 --- a/lib/mongoid/enum.rb +++ b/lib/mongoid/enum.rb @@ -11,6 +11,7 @@ module Mongoid multiple = options[:multiple] || false default = options[:default].nil? && values.first || options[:default] required = options[:required].nil? || options[:required] + validate = options[:validate].nil? || options[:validate] const_set const_name, values @@ -18,9 +19,9 @@ module Mongoid field field_name, :type => type, :default => default alias_attribute name, field_name - if multiple + if multiple && validate validates field_name, :'mongoid/enum/validators/multiple' => { :in => values, :allow_nil => !required } - else + elsif validate validates field_name, :inclusion => {:in => values}, :allow_nil => !required end diff --git a/lib/mongoid/enum/version.rb b/lib/mongoid/enum/version.rb index 8f10b19..4c0bdc7 100644 --- a/lib/mongoid/enum/version.rb +++ b/lib/mongoid/enum/version.rb @@ -1,5 +1,5 @@ module Mongoid module Enum - VERSION = "0.1.0" + VERSION = "0.1.1" end end