Module: Acfs::Resource::Initialization

Included in:
Acfs::Resource
Defined in:
lib/acfs/resource/initialization.rb

Overview

Initialization drop-in for pre-4.0 ActiveModel.

Instance Method Summary collapse

Instance Method Details

#initialize(attributes = {}) ⇒ Object

Initializes a new model with the given `params`.

Examples:

class User < Acfs::Resource
  attribute :name
  attribute :email, default: ->{ "#{name}@dom.tld" }
  attribute :age, :integer, default: 18
end

user = User.new({name: 'bob'})
user.name  # => "bob"
user.email # => "bob@dom.tld"
user.age   # => 18

Parameters:

  • attributes (Hash{Symbol => Object}) (defaults to: {})

    Attributes to set on resource.



27
28
29
# File 'lib/acfs/resource/initialization.rb', line 27

def initialize(attributes = {})
  write_attributes(attributes) if attributes
end