Method: Hamachi::Model#initialize

Defined in:
lib/hamachi/source/model.rb

#initialize(snapshot, options = {}) ⇒ Model

——- initialization ——————————————-



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/hamachi/source/model.rb', line 66

def initialize(snapshot, options = {})
  update(snapshot) if options.fetch(:include_unknown_fields, true)

  self.class.fields.each do |name, field|
    value = snapshot.fetch(name, field.default_value)
    self[name] = field.from_snapshot(value, options)
  end

  validate_fields! if options.fetch(:validate_fields, true)
  freeze if options.fetch(:freeze, false)
end