Module: Schema::DataStructure::Build

Defined in:
lib/schema/data_structure.rb

Instance Method Summary collapse

Instance Method Details

#build(data = nil, strict = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/schema/data_structure.rb', line 17

def build(data=nil, strict=nil)
  data ||= {}
  strict ||= false

  new.tap do |instance|
    set_attributes(instance, data, strict)
    instance.configure_dependencies
  end
end

#set_attributes(instance, data, strict) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/schema/data_structure.rb', line 27

def set_attributes(instance, data, strict)
  begin
    SetAttributes.(instance, data, strict: strict)
  rescue SetAttributes::Attribute::Error => e
    raise Schema::Error, e.message
  end
end