dry-initializer

v3.2
  1. Introduction & Usage
  2. Container Version
  3. Params and Options
  4. Tolerance to Unknown Arguments
  5. Optional Attributes and Default Values
  6. Type Constraints
  7. Readers
  8. Inheritance
  9. Skip Undefined
  10. Attributes
  11. Rails Support

TOC

  1. Synopsis

Introduction & Usage

dry-initializer is a simple mixin of class methods params and options for instances.

Synopsis

require 'dry-initializer'

class User
  extend Dry::Initializer

  param  :name,  proc(&:to_s)
  param  :role,  default: proc { 'customer' }
  option :admin, default: proc { false }
  option :phone, optional: true
end

user = User.new 'Vladimir', 'admin', admin: true

user.name  # => 'Vladimir'
user.role  # => 'admin'
user.admin # => true
user.phone # => nil