Class: CPEE::ModelManagement::CreateDir

Inherits:
Riddl::Implementation
  • Object
show all
Defined in:
lib/cpee-model-management/implementation.rb

Overview

}}}

Instance Method Summary collapse

Instance Method Details

#responseObject

{{{



349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
# File 'lib/cpee-model-management/implementation.rb', line 349

def response
  where = @a[0] == :main ? '' : @r.map{ |d| Riddl::Protocols::Utils::unescape(d) }.join('/')
  name = @p[0].value
  conns = @a[1]
  models = @a[2]

  fname = File.join(models,where,name + '.dir')
  counter = 0
  while File.exist?(fname)
    counter += 1
    fname = File.join(models,where,name + counter.to_s + '.dir')
  end

  dn = CPEE::ModelManagement::get_dn @h['DN']
  creator = dn['GN'] + ' ' + dn['SN']

  Dir.mkdir(fname)
  FileUtils.touch(File.join(fname,'.gitignore'))

  attrs = {}
  attrs['creator'] = creator
  attrs['author'] = creator
  File.write(fname + '.attrs',JSON::pretty_generate(attrs))

  CPEE::ModelManagement::op creator, 'add', models, name + '.dir'
  CPEE::ModelManagement::notify conns, 'create', models, fname
  nil
end