module Mongoid::Attributes::Readonly::ClassMethods

Public Instance Methods

attr_readonly(*names) click to toggle source

Defines an attribute as readonly. This will ensure that the value for the attribute is only set when the document is new or we are creating. In other cases, the field write will be ignored with the exception of remove_attribute and update_attribute, where an error will get raised.

@example Flag fields as readonly.

class Band
  include Mongoid::Document
  field :name, type: String
  field :genre, type: String
  attr_readonly :name, :genre
end

@param [ Array<Symbol> ] names The names of the fields.

@since 3.0.0

# File lib/mongoid/attributes/readonly.rb, line 70
def attr_readonly(*names)
  names.each do |name|
    readonly_attributes << database_field_name(name)
  end
end