in lib/gdk/config_type/settings_array.rb [62:88]
def read_value
user_defined = []
array = parent.yaml[key] ||= []
original_array_size = array.size
@elems = ::Array.new(length) do |i|
yaml = array[i] ||= {}
value = Class.new(parent.settings_klass).tap do |k|
k.integer(:__index) { i }
k.class_exec(i, &blk)
end.new(key: i, parent: self, yaml: yaml)
user_defined << value if i < original_array_size
value
end
@user_value = user_defined if user_defined.any?
@elems
end