Method: Mimi::Core::Struct#initialize

Defined in:
lib/mimi/core/struct.rb

#initialize(attrs = {}) ⇒ Struct

Creates a Struct object from a set of attributes

Parameters:

  • attrs (Hash) (defaults to: {})

Raises:

  • (ArgumentError)


26
27
28
29
30
# File 'lib/mimi/core/struct.rb', line 26

def initialize(attrs = {})
  raise ArgumentError, "Hash is expected as attrs" unless attrs.is_a?(Hash)
  attributes = attrs.map { |k, v| [k.to_sym, v.dup] }.to_h
  initialize_attributes(attributes)
end