Method: MiniForm::Model::ClassMethods#model

Defined in:
lib/mini_form/model.rb

#model(name, attributes: [], read: [], prefix: nil, allow_nil: nil, save: false) ⇒ Object

rubocop:disable ParameterLists



159
160
161
162
163
164
165
166
167
168
169
# File 'lib/mini_form/model.rb', line 159

def model(name, attributes: [], read: [], prefix: nil, allow_nil: nil, save: false) # rubocop:disable ParameterLists
  attr_accessor name

  attributes(*attributes, delegate: name, prefix: prefix, allow_nil: allow_nil) unless attributes.empty?

  delegate(*read, to: name, prefix: prefix, allow_nil: nil)

  validates name, 'mini_form/nested' => true

  models_to_save << name if save
end