Method: Dynamoid::Persistence::ClassMethods#create

Defined in:
lib/dynamoid/persistence.rb

#create(attrs = {}, &block) ⇒ Dynamoid::Document

Create a model.

Initializes a new model and immediately saves it to DynamoDB.

User.create(first_name: 'Mark', last_name: 'Tyler')

Accepts both Hash and Array of Hashes and can create several models.

User.create([{ first_name: 'Alice' }, { first_name: 'Bob' }])

Creates a model and pass it into a block to set other attributes.

User.create(first_name: 'Mark') do |u|
  u.age = 21
end

Validates model and runs callbacks.

Parameters:

  • attrs (Hash|Array[Hash]) (defaults to: {})

    Attributes of the models

  • block (Proc)

    Block to process a document after initialization

Returns:

Since:

  • 0.2.0



183
184
185
186
187
188
189
# File 'lib/dynamoid/persistence.rb', line 183

def create(attrs = {}, &block)
  if attrs.is_a?(Array)
    attrs.map { |attr| create(attr, &block) }
  else
    build(attrs, &block).tap(&:save)
  end
end