48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/gooddata/models/blueprint/project_builder.rb', line 48
def add_dataset(id, options = {}, &block)
builder = GoodData::Model::SchemaBuilder.new(id, options)
block.call(builder) if block
fail 'Dataset has to have id defined' if id.blank?
datasets = data[:datasets]
if datasets.any? { |item| item[:id] == id }
ds = datasets.find { |item| item[:id] == id }
index = datasets.index(ds)
stuff = GoodData::Model.merge_dataset_columns(ds, builder.to_hash)
datasets.delete_at(index)
datasets.insert(index, stuff)
else
datasets << builder.to_hash
end
end
|