module SimpleEnum::Mongoid::ClassMethods

Public Instance Methods

as_enum(name, values, options = {}) click to toggle source

Wrap method chain to create mongoid field and additional column options

Calls superclass method
# File lib/simple_enum/mongoid.rb, line 35
def as_enum(name, values, options = {})
  field_options = options.delete(:field)
  enum = super
  accessor = send("#{name.to_s.pluralize}_accessor")

  unless field_options === false
    field_options ||= SimpleEnum.field
    field(accessor.source, field_options) if field_options
  end

  enum
end